値を保存しておくメモリに名前をつけたものを 変数(variable)と呼びます。クラスが持つ変数は フィールド とも呼びます。
class クラス名 { 型名 変数名; void 関数名() { 型名 変数名; } }
例えば、int 型の変数 a や b を定義するには次のようにします。
public class Main { int a; public static void main(String[] args) { int b; } }
変数には初期値を指定することができます。
int a = 123;
初期値の値によって型が明確な時は、型名を省略して var で変数を定義することもできます。
var a = 123; // Integer
変数の修飾子には、public、protected、private、static、final、transient、volatile を指定することができます。
class クラス名 { 修飾子 int a; : }
変数を下記のように定義することにより、変更不可能な 定数 を表現することが可能となります。定数は通常大文字で記述するのが習慣です。
class Math { public static final double PI = 3.14159265358979323846; }
クラスメソッドの中で this は自分自身を示す特別な変数名となります。下記の例では、this は、Person クラスのインスタンス自身を示します。
class Person { String name; int age; Person(String name, int age) { this.name = name; this.age = age; } }
次のようにして、3個の要素からなる配列を生成することができます。
class Test { public static void main(String[] args) { int[] xx = new int[3]; xx[0] = 100; xx[1] = 200; xx[2] = 300; } }
次のようにして、生成と初期化を一度に行うこともできます。
int[] xx = { 100, 200, 300 };
配列の個数は length で参照できます。
int[] xx = new int[3]; int n = xx.length;
二次元の配列を生成することも可能です。
int[][] xx = new int[3][5]; String[][] ss = { { "Sun", "Sunday" }, { "Mon", "Monday" } };
オブジェクトの配列を生成するには、配列生成後、それぞれの要素も個別に生成する必要があります。
ClassA[] xx = new ClassA[3]; xx[0] = new ClassA(); xx[1] = new ClassA(); xx[2] = new ClassA();