変数とは,電卓のメモリー機能のようなものです。 数値や計算結果を変数に入れておけば,あとで表示したり別の計算に使ったりすることができます。
数値を入れておくためのJavaの変数には次の種類があります。
このうち特によく使うのは int 型と double 型です。
たとえば int 型の変数 x を作るための命令は
int x;
です。 また,int 型の変数 x を作り,初期値として 123 を代入するための命令は
int x = 123;
です。
次のプログラムは 128 を 5 で割ったときの商と余りを求めます。
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); } }
実行すると「商 = 25 余り = 3」と出力します。
main() メソッドの中の最初の行(上のリストの3行目)で,整数を入れるための四つの変数 a,b,shou,amari を作っています。 こうしてできた変数を int(イント)型の変数といいます。 変数とは,値を入れておく箱のようなものです。 int は整数を意味する英語 integer(インテジャー)から来ています。
5行目で変数 a に 128 という値を覚えさせています。 同様に,6行目で変数 b に 5 という値を入れています。
7〜8行目でこれらの値を使って,a を b で割ったときの商 a / b
と余り a % b
とを求めています。
%
は整数の割り算の余りを求める記号です。
こうして求めた商と余りを9行目で出力しています。
上のプログラムのように,メソッドの最初のところでまとめて変数を作る場合は,変数を作る命令とそれ以外の命令との間に空行(くうぎょう,空の行)を1行入れることを習慣としている人が多いようです。
上のプログラムは次のように書いてもかまいません。
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); } }
昔のC言語では変数は最初にまとめて作ることしかできませんでしたが,JavaやC++ではどこでも変数を作ることができます。
変数は代入する前に使うとエラーになります。 たとえば
class Test { public static void main(String[] args) { int a; // 変数 a を作ったけれど…… System.out.println(a); // 値を入れないうちに使った } }
をコンパイルしようとすると,次のようなエラーメッセージが出ます。
Test.java:4: 変数 a は初期化されていない可能性があります。 System.out.println(a); ^ エラー 1 個
次のプログラムは半径 5 の円の面積を求めて画面に表示します。
class Test { public static void main(String[] args) { double r = 5.0; // 倍精度の変数 r に値を代入 double a = Math.PI * r * r; // Math.PI は円周率 System.out.println("面積 = " + a); } }
実行すると「面積 = 78.53981633974483」と出力します。
main() メソッドの中の最初の行(上のリストの3行目)で,double 型(倍精度実数)の変数 r を作り,5.0 という値を入れています。 同様に,4行目で変数 a を作り,円の面積をそれに代入し,5行目で出力しています。
Math.PI は円周率を表す定数です(java.lang.Math で定義されています)。
文字列を直接出力する方法は,すでに勉強しました。 たとえば
class Hello { public static void main(String[] args) { System.out.println("こんにちは"); } }
とすればよかったのですね。
文字列を変数に代入しておくこともできます。 それには
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); // 「こんにちはさようなら」と出力
文字列が変数に代入できて,文字列の長さをいくらでも延ばせるのは,BASICやJavaにあってC言語にない便利な機能です。
Last modified: 2005-09-22 15:32:16