このエントリーをはてなブックマークに追加


メンバ変数の初期値はどのような値になっているか調べる

class内のメンバ変数ですが、newした時にどのような値になっているか確認してみます。

プリミティブな変数とクラス変数(参照型の変数)

以下のようなサンプルソースを作成し、コンパイルおよび実行しています。

fileInitVariable.java (UTF-8 LF)

class InitVariable {
	private short s;
	private int i;
	private double d;
	private float f;
	private boolean b;
	private int[] ai;

	private Short Sh;
	private Integer I;
	private Double D;
	private Float F;
	private Boolean B;
	private String St;
	private Integer[] aI;

	public static void main(String args[]) {
		InitVariable me = new InitVariable();
		System.out.println("short : " + me.s);
		System.out.println("int : " + me.i);
		System.out.println("double : " + me.d);
		System.out.println("float : " + me.f);
		System.out.println("boolean : " + me.b);
		System.out.println("int[] : " + me.ai);

		System.out.println("");

		System.out.println("Short : " + me.Sh);
		System.out.println("Integer : " + me.I);
		System.out.println("Double : " + me.D);
		System.out.println("Float : " + me.F);
		System.out.println("Boolean : " + me.B);
		System.out.println("String : " + me.St);
		System.out.println("Integer[] : " + me.aI);
	}
}

コンパイルして実行してみる

以下、サンプルソースをコンパイルして実行してみます。

$ javac InitVariable.java 
$ java InitVariable 
short : 0
int : 0
double : 0.0
float : 0.0
boolean : false
int[] : null

Short : null
Integer : null
Double : null
Float : null
Boolean : null
String : null
Integer[] : null

上記の出力により、プリミティブな変数(short, int, double)は、0に初期化されているのがわかります。
booleanの場合は、falseに初期化されています。
クラス変数(参照型変数)は、nullに初期化されています。
配列に関しては、両方ともnullに初期化されています。

以上、変数の初期化値に関する調査でした。


添付ファイル: fileInitVariable.java 409件 [詳細]

トップ   編集 凍結 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2017-06-22 (木) 12:54:49