変数 variableとは、computer 上の memory の一部に 名前を付けたものです。 電卓の memory 機能を想像すればよいでしょう。 数値や計算結果を変数に 入れておいて、あとで表示したり別の計算に使ったりします。
数値型の変数には次の種類があります。
たくさんあって覚えづらいのであれば、
整数の演算は int 型と覚えておけばよいでしょう。
実数の場合は double型
............虚数は?虚数型という変数型はあるの?
............実は用意されていますが、ここでは触れません
x という名前で int 型の変数を作るための命令は
int x;です(int とは英語の integer から来ています)。 あらかじめ x の値が分かっているときには
int x = 123;という書き方もできます。
int long_long_int = 123, LongLongLongIntegerVariableName;とすると long_long_int と LongLongLongIntegerVariableName という 2 つの int 型の変数を宣言したことになります。
class Test { public static void main(String args[]) { int a, b, shou, amari; // int 型の四つの変数を作る a = 128; // 変数 a に 128 を入れる b = 5; // 変数 b に 5 を入れる shou = a / b; // a を b で割った商を shou に入れる amari = a % b; // a を b で割った余りを amari に入れる System.out.println("商 = " + shou + " 余り = " + amari); } }
この program を実行すると、 128 を 5 で割ったときの商と余りを計算し、
商 = 25 余り = 3と出力されます。
main() method の中の最初の行(上のリストの3行目)で、 整数を入れるための四つの変数 a、b、shou、amari を作っています。 この 3 行目がないと(computer には a の型がわからないので) 5 行目の a = 128 のところで error になってしまします。
5行目で変数 a に 128 という値を覚えさせています (代入するという)。 同様に、6行目で変数 b に 5 という値を代入しています。
他の多くの computer 言語と同じように、java での代入には、 左辺値と右辺値との区別があります。数学では、a = 10;と10 = a;とは同じ意味になりますが、java で変数に値を代入する場合には、 必ず a = 10; のように左辺値に右辺値を代入するという形で使わなければ いけません。
7〜8行目でこれらの値を使って、a を b で割ったときの 商 a / b と 余り a % b とを求めています。
こうして求めた商と余りを9行目で出力しています。
上のprogram は次のように書いてもかまいません。
class Test { public static void main(String args[]) { int a = 128; // 変数 a に 128 を入れる int b = 5; // 変数 b に 5 を入れる int shou = a / b; // a を b で割った商を shou に入れる int amari = a % b; // a を b で割った余りを amari に入れる System.out.println("商 = " + shou + " 余り = " + amari); } }
変数は代入する前に使うとエラーになります。たとえば
class Test { public static void main(String args[]) { int a; System.out.println(a); } }を compile しようとすると、error になります。 computer には変数 a の値が分からないからです。
次のprogram は半径 5 の円の面積を求めて画面に表示します。
class Test { public static void main(String args[]) { double r, a; // 倍精度の変数 r、a を作る r = 5.0; // 変数 r に値を代入 a = Math.PI * r * r; // Math.PI は円周率 System.out.println("面積 = " + a); } }
実行すると「面積 = 78.5398」と出力されます。
main() method の中の最初の行(リスト 3行目)で、 double 型(倍精度実数)の変数 r と a を 定義しています。
5行目で変数 r に 5.0 という値を代入し、 6 行目でこの r を使って円の面積を計算して変数 a に代入しています。 7 行目はおなじみの出力するための命令です。
Math.PI はj ava.lang.Math であらかじめ定義されている 円周率を表す定数です。
文字列型の変数を宣言するには string を使います。
class Hello { public static void main(String args[]) { String s = "こんにちは"; System.out.println(s); } }
次のように + を使って文字列の連結ができます。
String s; s = "こんにちは"; System.out.println(s); // 「こんにちは」と出力 s = s + "さようなら"; System.out.println(s); // 「こんにちはさようなら」と出力