この章では変数について説明します。
変数とは何かしらのデータを入れる箱みたいなものです。
バッグを例に取るとバックには財布やハンカチを入れて持ち運びますが、そのバックに当たるものが変数です。
そして、このバッグに入っている財布やハンカチがデータに該当します。
もしくは、変数とはフロッピーディスクみたいなもので、その中にデータを記憶させておくことが出来ます。
では例をみてみましょう。 この例で言えば、numberやbookが変数です。
そして、numberには23、bookには芥川龍之介と言うデータを入れています。
そして、 のように記述するとbookやnumberと言う文字がそのまま出力されるのではなく、bookやnumberという変数の中に入っている23と言う数字と芥川龍之介と言う文字列が出力されて、結果はになります。
ではSystem.out.printlnの中身を見てみましょう。
「book」と「”を”」と「number」と「”冊買う”」を「+」で繋いでいます。
この「+」は計算の加算にも使われますが、文字に対して「+」を使用すると左右の文字列同士を連結する機能を持つようになります。
この文字同士を連結する「+」を文字列連結演算子と言います。
補足ですが、「+」を挟んだ左側を左オペランド、右側を右オペランドと言います。
「+」を使用すると文字列同士を連結すると書きましたが、この例の中のnumberは23と言う数値になっています。
つまり23は文字列ではなくて数値であるのに連結することが出来てしまっています。
理由は「+」の左右オペランドのどちらかが文字列の場合はもう片方も文字列に自動的に変換しているからです。
では、次に変数のルールについて説明します。
まず初めに変数を使うにはというように宣言をしてあげないといけません。
これを「変数の宣言」と言います。 変数の宣言の構文は上記の通りですが、必ず行の末尾にを入れてください。
例で言えば以下の部分が変数の宣言です。 1番前にintという文字が付いていますが、これはデータ型と言われるものです。
データ型については次の章で詳しく説明します。
データ型とは簡単に説明しますとその変数がどのような性質のデータなのかを分類したものです。
上の例で言えばnumberには数字が入るのでintを変数の前に付けます。
intは変数に入れるデータが整数の場合に使います。
Stringは文字列を扱うのですが、これはデータ型ではありません。データ型ではなくStringクラスと言われるものです。
クラスについては後半の章で説明しますので、ここではStringは文字列を扱う時に変数の前に付けるということだけ覚えておいてください。
そして、変数の宣言は1つの変数で一回だけです。
つまり、この例ではnumber変数が3回出てきますが、宣言を行うのは初めのnumber変数だけです。
また、同じ型であればまとめて変数の宣言を行うことが出来ます。 この例ではa,b,cの変数が同じint型なのでまとめて宣言を行っています。
次は変数へのデータの入れ方について説明します。
のように宣言をしましたら、次にすることは実際にデータを入れることです。
データを入れる方法は変数とデータの間に「=」を入れます。
「=」を代入演算子と言います。
「=」は数学で使われるイコールと言う意味ではなく、データを変数に入れると言う意味です。
このデータを入れる行為を「代入」と言います。 上の例では「23」をnumberに代入し、「”芥川龍之介”」をbookに代入しています。
例では変数の宣言とデータの代入を別々に記述していますが、これを以下のように一緒に記述することも出来ます。 このように変数の宣言とデータの代入を一緒に記述することを「変数の初期化」といいます。
次に変数に名前を付ける際のルールについて説明します。
1つ目は変数名の先頭を数字で始めることはできません。
例えば3bookという名前はつけることはできません。
先頭文字は
「アンダーバー(_)」
「aからz」「AからZ」
から始めます。
2文字目からは
「アンダースコア(_)」
「aからz」「AからZ」、
「数字」
を使うことが出来ます。
2つ目は同じ文字でも大文字と小文字は全く別の変数になります。つまり、 bookとBOOKは全く違う変数になります。
3つ目は予約語を使うことができません。
予約語とはすでにJavaの機能で定義されている単語のことです。
以下の予約語一覧を参考にしてください。予約語は自然に覚えるので、ここでは目を通すだけで結構です。 4つ目は変数名の先頭は小文字で始めてください。
大文字で書いてもエラーではありませんが、先頭は小文字で書くことが慣習になっています。
5つ目は変数名には入れるデータに関連した名前を付けて誰が見てもわかりやすくしましょう。
例えば入れるデータが本に関連しているのならばbookと、付けます。
6つ目は変数名に使える記号はとだけしか使うことが出来ません。
例えばのように「@」を使うことができません。
7つ目は違うデータ型であっても同じ変数名は付けることは出来ません。
例えば以下はデータ型が違うだけで同じ変数名を2回使っているのでエラーになります。
次に変数に入っているデータの変更方法について説明します。
例をみてみましょう。 結果は以下の通りです。 同じ変数に再び他のデータを代入し直しますと上書き状態になり、前のデータは失われてしまいます。 もし、上書きする前に前のデータを残しておきたい場合は、次の例のように別の変数に代入し保存しておきます。
では説明をしていきます。 のようにnumberをnumber2に、bookをbook2に代入します。
そうすれば、や の箇所でデータを上書きしたとしても、元のデータは失われません。
以下を出力すればわかるように元のデータのが表示されます。 結果は以下の通りです。 しかし、次のように変数の途中で改行するとエラーになりますので注意してください。 a=b=c=”猫”;のように書くことで、a,b,cの変数にすべて同じデータを一気に入れることが出来ます。
結果は「猫猫猫」になります。