変数名のつけ方(識別子)
変数はプログラムの中で複数使用することができますので、一つ一つの変数を区別するために変数には変数名を付けます。変数名を付ける時の規則は次のようになっています。
使用できる文字はAからZ、aからz、0から9、アンダーバー(_)、$ (例) name, old, no32 先頭文字には数字の0から9は使用できない (例) 12pointなどは× 大文字と小文字は区別される (例) old と Oldは別の変数 予約語は使用できない (例) char や classなどの予約語は使用できない 長さの制限は無い
例えば「num」や「name」などのアルファベットのみや「year2009」や「frame_name」などのように数字やアンダーバーと組み合わせた名前を変数に付けることができます。なお先頭の文字が数字の「100year」などは使用できません。「if」や「static」などの予約語も使用できません。(予約語については「予約語」を参照して下さい)。
「$」は使用可能ですがプログラムを記述する人が使用するケースはあまり無いのではと思います。また大文字と小文字は区別されるため「name」と「Name」は別の変数名として扱われます。
今回は変数の名前でしたが、他にもクラスなどに名前を付けることができます。変数やクラスに付けることができる名前をJavaでは識別子と読んでいます。
どのような変数名を付けるべきか
変数名は規則に従っていれば任意の名前を付けることができますが、単に変数の名前として付ける場合には先頭の文字を小文字で始める場合が多いと思います。またクラスに名前を付ける時は先頭の文字を大文字にし、定数を定義するときは全て大文字にするといったように自分で規則を決めておくといいのではないでしょうか。
サンプル
では簡単なサンプルで試してみます。
class JSample3_1{ public static void main(String args[]){ int sansu; int rika; sansu = 80; rika = 45; System.out.println("算数の点数は" + sansu); System.out.println("理科の点数は" + rika); } }
コンパイル後に実行すると次のように表示されます。
今回は2つの変数を宣言し別々の値を格納しています。そしてそれぞれの変数から値を取り出して画面に出力しています。
エラーとなるサンプル
次のサンプルでは先頭の文字を数字にした変数を使用してみます。
class JSample3_2{ public static void main(String args[]){ int 8box; } }
コンパイルすると次のようにエラーとなります。
また予約語を変数名に使用した場合も試してみます。
class JSample3_3{ public static void main(String args[]){ int const; } }
コンパイルすると次のようにエラーとなります。
予約語の場合は、使用した予約語によって発生するエラーも異なりますが変数名として使用できないことに違いはありません。
なお予約語であっても大文字と小文字の区別は適用されますので、例えば「const」ではなく「Const」や「cOnst」のようにすれば変数名として使用できます。ただあまりこのように予約語を大文字にして使う方法はケアレスミスの元となりますのでお勧めできません。
( Written by Tatsuo Ikura )