カテゴリー
Java

複合演算子を知ろう

この章では複合演算子について説明します。
複合演算子とは算術演算子と代入演算子が複合して結びついている演算子のことをいいます。
例えば本来1と書かなくてはいけないところ、1のように短縮して書くことが出来ます。
複合演算子はaとbを計算したものをaに代入すると言う意味です。1 では例をみてみましょう。11 number1+= 8;は1と同じ意味になります。
右辺にあるnumber1+8を計算してから、number1にその結果を代入してます。

 

number2 -= 8;は1と同じ意味になります。
右辺を計算してから左辺に代入しています。

 

number3 *= 8;は1と同じ意味になります。
右辺を計算してから左辺に代入しています。

 
number4 /= 3;は1と同じ意味になります。
右辺を計算してから左辺に代入しています。

 

number5 %= 4;は1と同じ意味になります。
右辺を計算してから左辺に代入しています。

カテゴリー
Java

算術演算子について知ろう

この章では算術演算子について説明します。
算術演算子とは
「+」「-」「*」「/」「%」
のことを言います。1 では例をみてみましょう。11 以下のように計算式を書くことでプログラムで計算することが出来ます。1 〇1つの式の中で複数の算術演算子を使う場合、計算の優先順位は1より1の方が高いので、掛け算から先に計算してから、足し算が行われます。
優先順位を変えたい場合は1のように優先させたい箇所にカッコを入れてください。
〇文字列と計算式を混在させて書くときには以下のように括弧を付けてください。1 以下の例のように括弧を付けないと初めに1が結び付きます。
そしてその後に「b」が結びつくので1になって、計算が出来なくなってしまいます。
しかし、括弧を付けるのは足し算もしくは引き算の場合のみです。1 以下のように掛け算もしくは割り算の場合には括弧を付ける必要はありません。1 なぜなら、1のほうが優先順位が高いので、括弧を付けないでも、1から計算してくれます。
優先順位とは普通の計算式でも掛け算の方が足し算より先に計算が行われるようにJavaの演算子同士でも優先順位があります。

カテゴリー
Java

データ型について知ろう

この章ではデータ型について説明します。
データ型とは変数に入れるデータがどのような性質のデータなのかを分類したものです。111 boolean型は論理型と呼ばれていますが、trueとfalseを使用します。
これについては「if文について知ろう1」の章で説明します。
char型は「’a’」のように1文字だけを格納するためのデータ型です。
半角アルファベットや全角文字などがchar型であり、これらをシングルクォートで囲みます。
char型は2バイトの UNICODE文字です。
UNICODEとは世界中のあらゆる国で使われている文字を1つの文字コードとしてまとめている規格です。
byte型は「-128~ +127」までの整数を入れることが出来ます。
short型は「-32768~ +32767」までの2バイトの整数を入れることが出来ますが、メモリはint型の半分になります。
int型は「-2147483648~ +2147483647」までの4バイトの整数を入れることが出来ます。
整数を入れるのにbyteやshortもありますが、intがよく使われます。1 浮動小数点数型はdouble型とfloat型の2種類が有ります。
double型は8バイト=64ビットのサイズで倍精度浮動小数点数型と呼ばれています。11 基本的には変数には指定したデータ型のデータしか入れてはいけません。
しかし、「ある変数」に違うデータ型の変数を入れても精度が落ちないと判断すれば違うデータ型の変数でも入れることが出来ます。
精度が落ちないとは小さいサイズのデータ型変数を大きいサイズのデータ型変数に代入する時です。
この時に型の変換が行われます。
例えばintの変数をlongの変数に代入したり、intの変数をdoubleの変数に代入することがこれに当たります。
型の大きさは以下の通りになります。1 一番右のdoubleが一番大きいサイズになります。
注意点としてはchar型からbyte型やshort型には自動変換できません。
では例をみてみましょう。1 例のようにint型の変数をdouble型の変数に代入するとdouble型の変数に自動変換されます(補足ですが、このように変数に変数を入れることができます)。
結果、int型の変数の値である「10」はdouble型の変数の値「10.0」に自動変換されます。
また、int型の変数の値をlong型の変数に代入すると、long型の変数に変換されます。
結果は同じ10ですが、型の変換が行われています。
次は計算での型変換です。
式の中に異なる型が混ざっている時は小さい型が大きい型に自動変換されてから計算されます。
例えば以下の例の場合はint型の変数kがdouble型に変換されるので「2.0」になりますので、「2.0+2.3」という計算がされます。1 基本的には大きい型から小さい型への変換、例えばlong型変数をint型変数に代入するなどは禁止していますが、どうしても大きい型から小さい型への変換を行いたい場合にはキャスト演算子を使って強制的に型変換を行う方法があります。1 ではキャスト演算子の例を見てみましょう。1 では解説をしていきます。1 =>ここでの計算はint型同士の割り算の結果をint型 w に代入しています。
int型は整数型なので、小数点以下は表示されず、結果は2になります。
次は以下の箇所の説明をします。1 =>(float)iの部分は1というキャスト演算子を使ってint型 iをfloat型に変換しています。
式の中に異なる型が混ざっている時は小さい型が大きい型に自動変換されて計算されると言うルールがあるので、変数eはfloat型に変換されてから計算が行われます。
答えはfloat型の計算では小数点以下もきちんと出力してくれますので、2.25になります。

カテゴリー
Java

変数について知ろう

この章では変数について説明します。
変数とは何かしらのデータを入れる箱みたいなものです。
バッグを例に取るとバックには財布やハンカチを入れて持ち運びますが、そのバックに当たるものが変数です。
そして、このバッグに入っている財布やハンカチがデータに該当します。
もしくは、変数とはフロッピーディスクみたいなもので、その中にデータを記憶させておくことが出来ます。
では例をみてみましょう。1 この例で言えば、numberやbookが変数です。
そして、numberには23、bookには芥川龍之介と言うデータを入れています
そして、1 のように記述するとbookやnumberと言う文字がそのまま出力されるのではなく、bookやnumberという変数の中に入っている23と言う数字と芥川龍之介と言う文字列が出力されて、結果は1になります。
ではSystem.out.printlnの中身を見てみましょう。
「book」と「”を”」と「number」と「”冊買う”」を「+」で繋いでいます。
この「+」は計算の加算にも使われますが、文字に対して「+」を使用すると左右の文字列同士を連結する機能を持つようになります。
この文字同士を連結する「+」を文字列連結演算子と言います。
補足ですが、「+」を挟んだ左側を左オペランド、右側を右オペランドと言います。
「+」を使用すると文字列同士を連結すると書きましたが、この例の中のnumberは23と言う数値になっています。
つまり23は文字列ではなくて数値であるのに連結することが出来てしまっています。
理由は「+」の左右オペランドのどちらかが文字列の場合はもう片方も文字列に自動的に変換しているからです。

では、次に変数のルールについて説明します。
まず初めに変数を使うには1というように宣言をしてあげないといけません。
これを「変数の宣言」と言います。1 変数の宣言の構文は上記の通りですが、必ず行の末尾に1を入れてください。
例で言えば以下の部分が変数の宣言です。1 1番前にintという文字が付いていますが、これはデータ型と言われるものです。
データ型については次の章で詳しく説明します。
データ型とは簡単に説明しますとその変数がどのような性質のデータなのかを分類したものです。
上の例で言えばnumberには数字が入るのでintを変数の前に付けます。
intは変数に入れるデータが整数の場合に使います。
Stringは文字列を扱うのですが、これはデータ型ではありません。データ型ではなくStringクラスと言われるものです。
クラスについては後半の章で説明しますので、ここではStringは文字列を扱う時に変数の前に付けるということだけ覚えておいてください。
そして、変数の宣言は1つの変数で一回だけです。
つまり、この例ではnumber変数が3回出てきますが、宣言を行うのは初めのnumber変数だけです。
また、同じ型であればまとめて変数の宣言を行うことが出来ます。1 この例ではa,b,cの変数が同じint型なのでまとめて宣言を行っています。

次は変数へのデータの入れ方について説明します。
1のように宣言をしましたら、次にすることは実際にデータを入れることです。
データを入れる方法は変数とデータの間に「=」を入れます。
「=」を代入演算子と言います。
「=」は数学で使われるイコールと言う意味ではなく、データを変数に入れると言う意味です。
このデータを入れる行為を「代入」と言います。1 上の例では「23」をnumberに代入し、「”芥川龍之介”」をbookに代入しています。
例では変数の宣言とデータの代入を別々に記述していますが、これを以下のように一緒に記述することも出来ます。1 このように変数の宣言とデータの代入を一緒に記述することを「変数の初期化」といいます。

次に変数に名前を付ける際のルールについて説明します。
1つ目は変数名の先頭を数字で始めることはできません。
例えば3bookという名前はつけることはできません。
先頭文字は
「アンダーバー(_)」
「aからz」「AからZ」
から始めます。
2文字目からは
「アンダースコア(_)」
「aからz」「AからZ」、
「数字」
を使うことが出来ます。
2つ目は同じ文字でも大文字と小文字は全く別の変数になります。つまり、 bookとBOOKは全く違う変数になります。
3つ目は予約語を使うことができません。
予約語とはすでにJavaの機能で定義されている単語のことです。
以下の予約語一覧を参考にしてください。予約語は自然に覚えるので、ここでは目を通すだけで結構です。11 4つ目は変数名の先頭は小文字で始めてください。
大文字で書いてもエラーではありませんが、先頭は小文字で書くことが慣習になっています。
5つ目は変数名には入れるデータに関連した名前を付けて誰が見てもわかりやすくしましょう。
例えば入れるデータが本に関連しているのならばbookと、付けます。
6つ目は変数名に使える記号は11だけしか使うことが出来ません。
例えば1のように「@」を使うことができません。
7つ目は違うデータ型であっても同じ変数名は付けることは出来ません。
例えば以下はデータ型が違うだけで同じ変数名を2回使っているのでエラーになります。1
次に変数に入っているデータの変更方法について説明します。
例をみてみましょう。1 結果は以下の通りです。1 同じ変数に再び他のデータを代入し直しますと上書き状態になり、前のデータは失われてしまいます。1 もし、上書きする前に前のデータを残しておきたい場合は、次の例のように別の変数に代入し保存しておきます。
11 では説明をしていきます。1 のようにnumberをnumber2に、bookをbook2に代入します。
そうすれば、11 の箇所でデータを上書きしたとしても、元のデータは失われません。
以下を出力すればわかるように元のデータの1が表示されます。1 結果は以下の通りです。111 しかし、次のように変数の途中で改行するとエラーになりますので注意してください。111 a=b=c=”猫”;のように書くことで、a,b,cの変数にすべて同じデータを一気に入れることが出来ます。
結果は「猫猫猫」になります。

カテゴリー
Java

Javaの基本を知ろう

この章ではJavaの基本について説明します。
では、さっそく、簡単なプログラムを見てみましょう。1 1初めに「クラスの宣言」をしなくてはいけません。
クラスの宣言の形式は以下の通りです。1 classと言う文字の後に半角スペースを空けて、クラス名を記述します。
そして「{」で始まり「}」で閉じますが、この中をブロックと言います。
また、クラス名の先頭は大文字で書きます。
このクラス名はそのままファイル名になるので、どのような内容のプログラムを書いたのかを分かるような名前にしてください。
この例では1になります。
1この形式をメソッドと言います。
例えば以下の文はmainメソッドになります。1 Javaのプログラムはmainメソッドから始まる決まりになっています。
mainは他の名前で代用することができませんので、必ず必要な名前になります。
1の具体的な説明は中盤以降にしますので、ここではmainメソッドからプログラムが始まると覚えてください。
1このことをインデントと言います。
右にずらすことによりmainメソッドの範囲が明確になり、見やすくなります。
またmainメソッドの中で1が右にずれていますが、これもインデントです。
インデントをしなくてもエラーにはなりません。
1 以下のようにインデントをしないと可読性が悪くなりますので、インデントはなるべくしましょう。1 11文字を出力するために使います。
出力させたい文字列は1の中に1のように1で囲って入れてください。
しかし出力する時にはダブルクォート自体は出力されません。
そして、文の終わりは必ず1を付けてください。1 結果は次の通りですが、コマンドプロンプトで出力する方法は後ほど説明します。1 また、以下のようにメソッドの中は何行でも文を書くことが出来ます。
例えば以下の1は2行書いていますが、何行でも書くことが出来ます。1 結果は次の通りです。1 System.out.println()は行の終わりで改行してくれますので、1行ずづ改行されて出力されます。
改行をしたくない場合には次のように書きます。
次の例の1はよく見ると解りますが、printlnのlnの部分が付いていません。
このように書くと行の終わりで改行をしません。1 結果は次の通り、改行しないで出力されます。1 ここでプログラムを実行する方法について説明します。
プログラムの実行結果を確認するにはコマンドプロンプトを使用します。
初めにプログラムを作成して、先ほど説明した通りにC の直下にjavaフォルダを新たに作成して、その中にプログラムを入れます。
Javaファイルの拡張子は1です。
ではコマンドプロンプトを開いてください。
コマンドプロンプトを開きましたら、1と入力します。
これはJavaファイルのある場所まで移動するためです。11 と入力してクリックすると以下の枠の通り、1に移動します。1 次に以下の赤枠の通り1と入力し、エンターキーを押します。
ここではコンパイルを行っています。1 そして、最後に1と入力し、エンターキーを押しますと実行結果が表示されます。1 注意点はプログラムを少しでも修正したのならば必ず改めてコンパイルを行います。
つまり1を実行してから1を実行します。

補足ですが、ここでは「コメント」について説明します。
コメントとはプログラムの意味などを以下の赤枠の形式で書きます。
長いプログラムを書いていると「ここは何のために書いたかな?」など忘れてくるので、そのような時にコメントを書くと便利です。当然ですが、コメントは出力されません。11

カテゴリー
Java

JDKをダウンロードしよう

この章ではJDKをインストールする方法について説明しますので以下の手順で進んでください。1 〇サイトに入りますと以下のアイコンがありますので、これをクリックします。1 クリックしますと以下の画面が表示されるので、自身のwindowsシステムが32bitであるならば「windows×86」、
64bitであるならば「windows×64」を選択します。1 bitの確認方法はwindowsの場合、「コントロールパネル」の中の「システム」の中の以下の箇所で確認します。1 〇「windows×86」「windows×64」のどちらかをクリックしますとwindowsでは画面下で実行するかどうかを聞かれるので「実行」をクリックしてください。1 〇「実行」をクリックしますと以下のダイアログボックスが開きますので次へをクリックしてください。1 〇次へをクリックしますと以下の以下のダイアログボックスが開きますので、次へをクリックしてください。1 〇次へをクリックしますと以下のダイアログボックスが開きますので、しばらく待ちます。1 〇しばらく待っていますと以下のダイアログボックスが開きますので次へをクリックします。1 〇次へをクリックしますとセットアップが始まりますので、しばらく待ちます。1 〇以上でインストールは終了しましたので、完了をクリックしてください。1 〇インストールは終わりましたが、次は「PATHの設定」をしますので、以下の手順で進んでください。
Windowsの環境であれば「コントロールパネル」→「システム」→「システムの詳細設定」の順でクリックしてください。
そうすると「システムのプロパティ」が開きますので、その中の「詳細設定」をクリックしてますと「環境変数」という項目がありますので、ここをクリックします。1 〇「環境変数」をクリックしますと以下のダイアログボックスが開きますので「Path」をクリックしてから「編集」をクリックします。1 「編集」をクリックしますと以下のダイアログボックスが開きますので、「変数値」の末尾に1を追加します。
先頭の「;」を忘れないでください。
「jdk1.7.0」の部分はJdkがバージョンアップすると変わります。
追加しましたらOKをクリックします。1 「Path」が無い場合には「新規」をクリックして以下のように作成(先ほどのURLの先頭の「;」を外す)して「OK」をクリックします。1 〇次にコマンドプロンプトを開いて、以下のように「javac」と入力します。
コマンドプロンプトはwindowsであれば「スタート」→「すべてのプログラム」→「アクセサリ」の中にあります。1 これで上の画面のように表示されたら正常にJDKのダウンロードがされていることを意味します。
〇これから作るプログラムはC の下に新たなjavaフォルダを作成して、その中にプログラムを入れていきます。フォルダ名は自由に決めてください。1

カテゴリー
Java

テキストエディタをダウンロードしよう

Javaのプログラムを書くにはテキストエディタが必要ですので、これからサクラエディタというエディタをダウンロードします。
以下の手順でインストールしてください。
〇以下のサイトに入ります1 〇サイトに入りましたら、以下のDownloadをクリックしてください。1 〇次に以下の画面に移りますので、Downloadをクリックしてください。1 〇 Downloadをクリックするとgoogleの場合、左下に以下の画面が現れますので、クリックしてください。1 〇クリックしますとインストールが始まりますので、次へをクリックしてください。1 〇次へをクリックしますと以下のダイアログボックスが開きます。
ここではサクラエディタのインストール先を指定するのですが、このまま次へをクリックします。1 〇次へをクリックしますと以下のダイアログボックスが開きますので、このままの状態で次へをクリックしてください。1 〇次へをクリックしますと以下のダイアログボックスが開きます。
ここでもこのままの状態で次へをクリックしてください。1 〇次へをクリックしますと以下のダイアログボックスが開きます。
ここでもこのままの状態で次へをクリックしてください。1 〇次へをクリックしますと以下のダイアログボックスが開きます。
以下の赤で囲まれている箇所は任意で選択してください。
選択しましたら次へをクリックしてください。1 〇次へをクリックしますと以下のダイアログボックスが開きますので、インストールをクリックしてください。1 〇これでインストールが終わりましたので、完了をクリックしてください。1

カテゴリー
Java

Javaを始めよう

Javaは1995年にSun Microsystems社が開発したプログラミング言語で、様々なアプリケーションで使われています。
Java とJavaScript は名前が似ていますが、まったく違う言語です。
Javaの特徴はオブジェクト指向のプログラミングが可能な言語です(オブジェクト指向については後ほど説明します)。
Javaのプログラムを出力するまでの大まかな流れを説明します。
何らかのプログラムを書いたと仮定して、そのプログラムが書かれたファイルをソースファイルと言います。
しかし、このままではプログラムは動きません。
動かすためにはコンパイルと言う作業が必要になります。
コンピュータはそのままではプログラムを理解することが出来ないので、理解できるようにプログラムを翻訳する作業を行わなくてはいけません。
この作業をコンパイルと言います。
そして、ソースファイルをコンパイルした結果出来るのが、クラスファイルです。そして、そのクラスファイルを実行すると結果を出力することが出来ます。
次にJavaでプログラムを行うための準備をします。
Javaのプログラムを書くためにはテキストエディタとJDKをインストールすることが必要です。
JDKとはJava Developers Kitの略でコンパイルを行ってくれるソフトウェアです。次の章からこの2つのソフトをインストールする方法について説明していきます。

カテゴリー
C言語

ファイルの操作について知ろう

この章ではC言語におけるファイルの取り扱い方法について学習します。
これまではprintf関数などを使って、文字列や計算結果を画面に出力していましたが、その処理が終われば、データは失われてしまいます。
そこで、そのようなデータはファイルに保存しておけば後で確認したい時に便利です。
C言語におけるファイルの取り扱いの流れを説明します。
(1) ファイルをオープンします
(2)ファイルの読み書きをします
(3)ファイルをクローズします
この順序でファイルを操作を行います。
では例をみてみましょう。11 ではファイルをオープンする手順について説明します。
初めに以下の構文でファイル構造体のポインタを作ります。1この例では以下の箇所です。1 ファイル構造体はファイルに関する入出力などの機能を備えています。
次に操作したいファイルを以下の構文でオープンします。1 fopen関数を実行すると、ファイル情報を持つFILE型のポインタ(ファイルポインタといいます)が返されます。
そして、このfopen関数をファイル構造体の変数に代入します。1 オープンモードではファイルをどのような状態で開きたいのかを設定します。
この例ではwを使っていますが、このモードを使うとファイルの中身を上書きして、ファイルが無い時は新規作成してくれます。
wモードであればこの例の「net.txt」と言うファイルが自身のフォルダに無くても、自動的に作ってくれます。次の表を参考にしてください。11
次にファイルを読み書きする方法について説明します。
ファイルに書き込むにはfprintf関数を使います。
fprintf関数はファイルポインタで指定したファイルに変換指定文字を使ってデータを書き込みます。1 この例では以下の箇所でdouble型のiのデータを変換指定文字である1の通りにファイルに書き込んでいます。1
次はファイルをクローズする方法について説明します。
ファイルを開いた後には閉じなくてはいけません。
その時に使うのがfclose関数です。1

次は以下の箇所の説明します。1 NULLと言う見慣れない文字がありますが、ファイルが何らかの理由でオープンできなかった時にfopen関数がこのNULLを返します。1 exit関数を使用する時には1の記述が必要です。
結果は「net.txt」に変数iの値である8.1が書き込まれます。1

次の例ではscanfで読み込んだデータをファイルに書き込みます。11
while文の中にEOFという箇所がありますが、これはキーボードで1を押すと返される値です。
EOFの前に「!」が付いているので、1を押さない間は入力する行為を繰り返すという意味になります。1 気を付けることは以下の箇所で「-6」という箇所がありますが、マイナス指定をするとファイルの中のデータを左詰めにするという意味になります。ファイルに書き込むときには左詰めで入力するのが基本です。1 左詰めでファイルにデータを入れているので、「net.txt」は以下のようになります。1 次は「net.txt」に書き込んだデータを取り出してみましょう。111 ファイルからデータを読み込むにはfscanf関数を使用します。1 このfscanf関数は書式指定文字に従ってデータを取り出します。
この例では以下の箇所です(スペースの都合でwhileの条件式を2行で書いていますが、1行で書いてもいいです)。1 ここでEOFが出てきますが、1の意味はファイルの終端までデータを読み込むと言う意味になります。
fscanf関数はファイルの終端になるとEOFを返します。
読み込む時にはfopen関数のオープンモードはrになります。1
次の例はfputs関数でデータをファイルに書き込む方法について説明します。11 fputs関数はファイルポインタで指定したファイルへ1行ずつ文字列を書き込みます。1 fputs関数はファイルに1行分書き込む関数です。
結果は以下の通り、ファイルに書き込まれます。1 注意点としては以下のように改行を入れないと1行でファイルに書き込まれるので気を付けてください。
もちろん、初めから1行で書き込む意図があるのならば1は入れる必要はありません。1 結果は以下の通りです。1

次の例は「net.txt」に書き込んだテキストファイルから指定した文字サイズだけを読み込むプログラムです。11 ファイルから指定した文字サイズを読み込むにはfgets関数が必要です。1 fgetsはファイルポインタで指定したファイルから、指定した文字の数だけを読み込んで、配列に代入します。
そして、読み取るものが無くなるとNULLを返すので、NULLになったらwhile文を終了します。
読み取るときには1のように読み取りモードをrに指定してください。1
次の例は「net.txt」から1文字ずつ読み込むプログラムです。11 fgetc関数はファイルポインタで指定したファイルから1文字読み取ります。11 ここでは読み込んだ1文字をchar型の変数に入れてputcharで1文字ずつ出力しています。
fgetcは読み込みに成功すると、その読み込んだ1文字を返し、ファイルの終わりまで読んだ場合は、EOFを返します。111

カテゴリー
C言語

標準ライブラリ関数について知ろう

この章では標準ライブラリ関数について説明します。
C言語には多くの標準ライブラリ関数があります。
標準ライブラリとは関数などが定義されているファイルです。
例えば文字列の長さを計る関数や文字列を比較する関数などがあります。
今回はその一部を紹介します。11 getchar関数はキーボードから1文字入力させる関数です。
入力文字を入れる変数はint型で宣言をします。
この例(isalnum)の結果は以下の通りです。111 この例(isalpha)の結果は以下の通りです。111 この例ではfor文の条件式が1になるまで大文字を小文字に変換します。
この例(tolower)の結果は以下の通りです。111 この例ではfor文の条件式が1になるまで大文字を小文字に変換します。
この例(toupper)の結果は以下の通りです。11 指定された値を切り上げる関数です(小数点以下を切り上げて整数を取り出します)。
元の数字よりも大きい数を戻り値として返します。1この例(ceil)の結果は以下の通りです。11 指定された値を小数点以下で切り捨てる関数(端数を切り捨てる)です。
元の数字よりも小さい数を返り値として返します。
先頭で1を宣言してください。1 この例(floor)の結果は以下の通りです。111この例(strlen)の結果は以下の通りです。111 この例(strcmp)の結果は以下の通りです。1