変数は1つのプログラム中でいくつでも使うことができ,名前(変数名)で区別 する.
class VarTest { public static void main(String[] args){ int i; // (1) i=1; // (2) System.out.println( i + " の2乗は " + (i*i) + "です"); // (3) i=i+1; // (2) System.out.println( i + " の2乗は " + (i*i) + "です"); // (3) i=i+1; // (2) System.out.println( i + " の2乗は " + (i*i) + "です"); // (3) i=i+1; // (2) System.out.println( i + " の2乗は " + (i*i) + "です"); // (3) i=i+1; // (2) System.out.println( i + " の2乗は " + (i*i) + "です"); // (3) i=i+1; // (2) System.out.println( i + " の2乗は " + (i*i) + "です"); // (3) i=i+1; // (2) System.out.println( i + " の2乗は " + (i*i) + "です"); // (3) i=i+1; // (2) System.out.println( i + " の2乗は " + (i*i) + "です"); // (3) i=i+1; // (2) System.out.println( i + " の2乗は " + (i*i) + "です"); // (3) } }
型の名前 変数名;変数への代入, 参照をおこなう前にその変数に型を対応づける. 型とは,プ ログラムが扱う値を性質によって分類したもので多くのプログラミング言語で 定義されている概念である.Java言語では型は3種類に分類される.
変数名 = 式という式(この例では「1」という定数だが, 変数, 演算式等の値を生成するさ まざまなものが書ける)を実行すると, 副作用(side effect)としてその変数に 対応する箱に式の値が入る. 宣言と代入を同時におこなうこともできる. たと えば, (1),(2)はまとめて,
int i=1;のようにも書ける.
i=i+1;といった表記である. Javaでの '=' は等しいという「関係」を表すのではな く, 右辺の値を計算して左辺の変数に代入するという「操作」を表すことに慣 れる必要がある.
数学における「=」との混同を避けるために、代入用の演算子として、「:=」を 使うプログラミング言語や、「<-」を使うプログラミング言語もある。しかし、 C++では使用頻度の高い代入の演算子を短くすることの方に意義を見いだしたた め、代入演算子として「=」を採用した。Javaもそれを受け継いでいる。
変数名の付け方には,
プログラミング言語の中には,変数の宣言がいらない(省略可能な)言語もあ る(BASIC, FORTRAN, Perlなど).このような言語だと,短くかけるのはたしか だが,変数名のスペルミスの検出や型チェックなどの観点から,大規模なプ ログラムを作成するための言語では変数宣言はあった方が良いという見方が主 流になっている。