Tips

Java Gold SE7対策問題 – 問2
2015.09.11

Java Gold SE7対策問題 – 問2

Javaの認定資格「Oracle Certified Java Programmer, Gold SE 7」。通称JavaGoldのオリジナル問題を紹介していきたいと思います。

前回の解答

まずは、前回の解答から。

正解は「5.コンパイルエラーが発生する」となります。

この問題のポイントは2つ。「ローカル変数の初期化」と「switch文で使用できるデータ型」です。

ローカル変数はコンパイラによって自動初期化されません。そのため、13行目で定義した変数xを15行目で参照することはできません。(コンパイルエラーになります。)

またJavaのswitch文では整数系のデータ型、もしくはStringしか使用することができません。具体的にはbyte、short、int、long。また、enumも内部では整数として処理されていますのでOKとなり、charも同様にOKとなります。Java SE 6以前ではStringが許可されていませんでしたが、Java SE 7からはOKとなりました。注意しておきたいところです。

問題文ではnullを条件としていますので、ここでもコンパイルエラーとなってしまいます。


問2

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
package techpjin;
 
public class Lesson2 {
 
    public static void main(String[] args) {
        new Piyo().m1();
    }
}
 
class Piyo{
    Integer x;
 
    public void m1(){
        switch (x) {
        default:
            System.out.println("default");
            break;
 
        case 0:
            System.out.println("x=0");
            break;
 
        case 1:
            System.out.println("x=1");
            break;
        }
    }
}
このプログラムを実行するとどのような結果となるか、1つ選んでください。
  1. defaultがコンソールに出力される
  2. x=0がコンソールに出力される
  3. x=1がコンソールに出力される
  4. 11行目でコンパイルエラーが発生する
  5. 15行目でコンパイルエラーが発生する
  6. 実行時エラーが発生する

解答・解説・問3はこちら

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

はじめてのJAVA 連載

Recent News

Recent Tips

Tag Search