Tips

Java Silver 練習問題11

Java Silver 練習問題11

Java Silverに関する問題を出題していきます!

■問題1

次のうち、コンパイルが通るものを2つ選べ。

  1. int array = new int[10];
  2. int[] array = new int[];
  3. int[] array = new int[10];
  4. int[10] array = new int[];
  5. int array[] = new int[10];
解答はここをクリック!

【解答3,5】
解説
配列の宣言の問題ですね。
配列の宣言は以下の通りです。

データ型[] 配列名 = new データ型[要素数];
または
データ型 配列名[] = new データ型[要素数];
[]を付けるのはデータ型の後ろでも、配列名の後ろでも構いません。

■問題2

次のプログラムをコンパイル、実行した結果として正しいものはどれか。

public class Sample {
    public static void main(String[] args) {
        int array[] = new int[3];
        array[1] = 10;
        array[2] = 20;
        array[3] = 30;
 
        System.out.println(array[1]);
    }
}
  1. 「0」と表示
  2. 「10」と表示
  3. 何も表示されない
  4. コンパイルエラー
  5. 実行時エラー
解答はここをクリック!

【解答5】
解説
コンパイルは通りますが、実行するとArrayIndexOutOfBoundsExceptionがスローされます。
原因は6行目です。要素数は3ですが、インデックス(要素番号)は0始まりのため、「0,1,2」の3つになります
したがって要素番号3は存在しないため、実行時エラーとなります。

 

■問題3

次のプログラムをコンパイル、実行した結果として正しいものはどれか。

public class Sample {
    public static void main(String[] args) {
        String[] array = { "赤色", "青色" };
        System.out.println(array[1]);
    }
}
  1. 「赤色」と表示
  2. 「青色」と表示
  3. 何も表示されない
  4. コンパイルエラー
  5. 実行時エラー
解答はここをクリック!

【解答2】
解説
配列の生成と値の代入を同時に行うこともできます。
データ型[] 配列名 = {値1, 値2,・・・};
値1から順番にインデックスが振られていきます。
したがってインデックス[1]は「青色」です。

 

■問題4

次のプログラムをコンパイル、実行した結果として正しいものはどれか。

public class Sample {
    public static void main(String[] args) {
        int[] array = new int[3];
        System.out.println(array[0]);
    }
}
  1. 「0」と表示
  2. 「1」と表示
  3. 何も表示されない
  4. コンパイルエラー
  5. 実行時エラー
解答はここをクリック!

【解答1】
解説
配列は生成された時点で初期値が入ります。
整数は0、実数は0.0、論理値はfalse、文字なら’\u0000’が初期値として入ります。
また、Stringのようなオブジェクト参照型はnullが入ります。

 

■問題5

次のプログラムをコンパイル、実行した結果として正しいものはどれか。

public class Sample {
    public static void main(String[] args) {
        String array[] = new String[3];
        array = {"おはよう", "こんにちは", "こんばんは"};
        System.out.println(array[2]);
    }
}
  1. 「こんにちは」と表示
  2. 「こんばんは」と表示
  3. 何も表示されない
  4. コンパイルエラー
  5. 実行時エラー
解答はここをクリック!

【解答4】
解説
{}で配列の要素を代入することができるのは配列の宣言時においてのみです。

新連載はじまりました!新Java基礎 連載リンク

はじめてのJAVA 連載

Recent News

Recent Tips

Tag Search