変数と配列要素の初期値

クラスのメンバー変数、または配列を宣言した場合、値を代入しなくても自動的に値が初期化されます。 値は、0に相当する値になります。

メンバー変数、または配列の初期値
基本データ型初期値
booleanfalse
char'\u0000'
byte0
short0
int0
long0L
float0.0f
double0.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→