- 追加された行はこの色です。
- 削除された行はこの色です。
#author("2017-06-16T12:51:52+09:00","","")
#navi(../)
* メンバ変数の初期値はどのような値になっているか調べる [#e69c105d]
class内のメンバ変数ですが、newした時にどのような値になっているか確認してみます。~
#contents
* プリミティブな変数とクラス変数(参照型の変数) [#aabf67c9]
以下のようなサンプルソースを作成し、コンパイルおよび実行しています。
&ref(InitVariable.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);
}
}
* コンパイルして実行してみる [#rb153d59]
以下、サンプルソースをコンパイルして実行してみます。
$ 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)は、&color(''0'');に初期化されているのがわかります。~
booleanの場合は、&color(red){''false''};に初期化されています。~
クラス変数(参照型変数)は、&color(red){''null''};に初期化されています。~
配列に関しては、両方とも&color(red){''null''};に初期化されています。
以上、変数の初期化値に関する調査でした。