#author("2017-06-16T12:53:53+09:00","","") #author("2017-06-22T12:54:49+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(red){''0''};に初期化されているのがわかります。~ booleanの場合は、&color(red){''false''};に初期化されています。~ クラス変数(参照型変数)は、&color(red){''null''};に初期化されています。~ 配列に関しては、両方とも&color(red){''null''};に初期化されています。 以上、変数の初期化値に関する調査でした。