クラスのメンバー変数、または配列を宣言した場合、値を代入しなくても自動的に値が初期化されます。 値は、0に相当する値になります。
メンバー変数、または配列の初期値
基本データ型 初期値 boolean false char '\u0000' byte 0 short 0 int 0 long 0L float 0.0f double 0.0 String等の参照型 null
メンバー変数ではなく、プライベート変数の場合は、初期化は行われません。(ただし配列ではない場合)
配列とメンバー変数は初期化されます。配列でないローカル変数のみ初期化されません。
Hoge4.java
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:public class Hoge4{
int a, arrayA[] = new int[2];
void hoge4(){
int b, arrayB[] = new int[2];
a++; // メンバー変数 OK 値は1
arrayA[0]++; // メンバー変数・配列 OK 値は1
b++; // ローカル変数 NG コンパイルエラー
arrayB[0]++; // ローカル変数・配列 OK 値は1
}
}
< 問題 >
コンパイルエラーとなるのは何行目でしょう。
Hoge3b.java
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:public class Hoge3b{
public static void main(String args[]){
int a1, a2, a3, arrayA4[] = new int[2];
a1 = arrayA4[0];
a2 = a1;
arrayA4[1] = a3;
}
}
A. 6行目
B. 7行目
C. 8行目
D. コンパイルは通る
↑BACK ←PREV NEXT→