質問編集履歴

2

2021/06/29 09:45

投稿

退会済みユーザー
test CHANGED
File without changes
test CHANGED
@@ -1,6 +1,18 @@
1
- Javaプログラマ Silver SE11の変数と配列の問題について質問です
1
+ 初心者な為の問題が実行結果として何故答えがCなるのかが分かりません
2
2
 
3
+
4
+
5
+ 一つ一つ解説していただけると助かります。これは、初期化をしてないけど、自動的にデフォルト値が入るため初期化されるパターンですか?
6
+
7
+ 又もしその場合、どこを見れば、デフォルト値が入り初期化されていると分かるのでしょうか?
8
+
9
+
10
+
11
+
12
+
13
+ Javaプログラマ Silver SE11
14
+
3
- P.60の、問題2-7
15
+ P.61変数と配列の、問題2-7です。
4
16
 
5
17
 
6
18
 
@@ -10,54 +22,44 @@
10
22
 
11
23
  1. public class Main {
12
24
 
13
- 2. public static void main(String[] args) {
25
+ 2. public static void main(String[]args) {
14
26
 
15
- 3. int[]a=new int[5];
27
+ 3. int[]a=new int[5];
16
28
 
17
- 4. boolean[]b=new boolean[5];
29
+ 4. boolean[]b= new boolean[5];
18
30
 
19
- 5. String[]c=new String[5];
31
+ 5. String[]c= new String[5];
20
32
 
21
- 6.
33
+ 6. System.out.println("a[0]=" +a[0]+
22
34
 
23
- System.out.println("a[0]=" +a[0]+
35
+ 7. "b[0]="+b[0]+
24
36
 
25
- 7. "b[0]="+b[0]+
37
+ 8. "c[0]="+c[0]);
26
38
 
27
- 8. "c[0]="+c[0]);
39
+ 9. }
28
40
 
29
- 9. }
30
-
31
- 10. }
41
+ 10.}
32
42
 
33
43
 
34
44
 
35
- コンパイル、実行した結果として正しいものは
45
+ コンパイル、実行した結果として正しいものは次のどれですか?一つ選択してください。
36
-
37
- A.B.C.Dと四択あるうち、
38
46
 
39
47
 
40
48
 
49
+ A. コンパイルエラー
50
+
51
+ B. 実行時エラー
52
+
41
- C.のこちらで、C.が正解だそうです。a[0]=0b[0]=false c[0]=null
53
+ C. a[0]=0 b[0]=false c[0]=null
54
+
55
+ D. a[0]=0 b[0]=true c[0]=null
56
+
57
+ E. a[0]=0 b[0]=true c[0]=
58
+
59
+ F. コードは実行されるが、何も出力されない
42
60
 
43
61
 
44
62
 
63
+ 解答 C.
45
64
 
46
-
47
- 何故これは実行結果として、このCの結果になるのでしょうか?
48
-
49
- 解説には、問題のコードでは配列を作成したあと要素の代入は行っていません。しかし配列内はデフォルト値で初期化されるためエラーにはなりません。
50
-
51
- int型の配列は0、boolean型の配列はfalse,参照型であるString型の配列はnullで初期化されるため選択肢Cが正しいです。
65
+ 問題のコードでは配列を作成したあと要素の代入は行っていません。しかし、配列内はデフォルト値で初期化されるためエラーにはなりません。int型の配列は0、boolean型の配列はfalse参照型であるString型の配列はnullで初期化されるため選択肢Cが正しいです。
52
-
53
- とあります。
54
-
55
-
56
-
57
- この、特に分からないのが、boolean 型の配列はfalseという箇所です。
58
-
59
- 何故falseになるのですか?
60
-
61
-
62
-
63
- 詳しく解説して頂けると助かります。

1

2021/06/29 09:45

投稿

退会済みユーザー
test CHANGED
File without changes
test CHANGED
@@ -12,13 +12,15 @@
12
12
 
13
13
  2. public static void main(String[] args) {
14
14
 
15
- 3. int[]a=new boolean[5];
15
+ 3. int[]a=new int[5];
16
16
 
17
17
  4. boolean[]b=new boolean[5];
18
18
 
19
19
  5. String[]c=new String[5];
20
20
 
21
+ 6.
22
+
21
- 6. System.out.println("a[0]=" +[0]+
23
+ System.out.println("a[0]=" +a[0]+
22
24
 
23
25
  7. "b[0]="+b[0]+
24
26
 
@@ -42,6 +44,20 @@
42
44
 
43
45
 
44
46
 
45
- 何故これは、falseが入っているこのC.が正解になるのでしょうか?
47
+ 何故これは実行結果として、このCの結果になるのでしょうか?
48
+
49
+ 解説には、問題のコードでは配列を作成したあと要素の代入は行っていません。しかし配列内はデフォルト値で初期化されるためエラーにはなりません。
50
+
51
+ int型の配列は0、boolean型の配列はfalse,参照型であるString型の配列はnullで初期化されるため選択肢Cが正しいです。
52
+
53
+ とあります。
54
+
55
+
56
+
57
+ この、特に分からないのが、boolean 型の配列はfalseという箇所です。
58
+
59
+ 何故falseになるのですか?
60
+
61
+
46
62
 
47
63
  詳しく解説して頂けると助かります。