Java Gold SE17 の試験では、
「API暗記」よりも コードを読んで挙動を理解できるか が重要です。
特に本試験では、
- コンパイルエラーになるのか
- 実行結果は何か
- オーバーライドは成立するか
- Stream API の戻り値
- sealed class や record の仕様
など、“実務寄りの読解問題” が多く出題されます。
この記事では、Java Gold SE17対策として、無料で解けるコード読解問題を10問まとめました。
腕試しや試験直前の復習に使ってください。
Java Gold無料問題① switch式
public class Main {
public static void main(String[] args) {
int num = 2;
String result = switch (num) {
case 1 -> "A";
case 2 -> "B";
default -> "C";
};
System.out.println(result);
}
}
実行結果は?
- A
- B
- C
- コンパイルエラー
正解
✅ B
解説
Java 14以降では switch式 が導入されました。
case 2 -> "B";
のように -> を使えます。
num = 2 のため、結果は "B"。
Java Gold無料問題② sealed class
sealed class Animal permits Dog {}
final class Dog extends Animal {}
public class Main {
public static void main(String[] args) {
System.out.println("OK");
}
}
コンパイル結果は?
- 正常コンパイル
- コンパイルエラー
正解
✅ 正常コンパイル
解説
sealed class を使うと、
継承可能なクラスを制限できます。
sealed class Animal permits Dog
Dog は final / sealed / non-sealed
のいずれかで宣言する必要があります。
今回は final のため問題なし。
Java Gold無料問題③ Stream API
import java.util.List;
public class Main {
public static void main(String[] args) {
List<Integer> list = List.of(1, 2, 3, 4);
long count = list.stream()
.filter(n -> n % 2 == 0)
.count();
System.out.println(count);
}
}
実行結果は?
- 1
- 2
- 3
- コンパイルエラー
正解
✅ 2
解説
偶数のみ抽出。
2, 4
の2件になるため、結果は 2。
Java Gold無料問題④ record
record User(String name, int age) {}
public class Main {
public static void main(String[] args) {
User u = new User("Taro", 20);
System.out.println(u.name());
}
}
実行結果は?
- Taro
- name
- null
- コンパイルエラー
正解
✅ Taro
解説
record は immutable なデータ保持クラス。
u.name()
でアクセサメソッドを呼び出せます。
Java Gold無料問題⑤ var
public class Main {
public static void main(String[] args) {
var num = 10;
num = "Hello";
System.out.println(num);
}
}
コンパイル結果は?
- 10
- Hello
- 実行時エラー
- コンパイルエラー
正解
✅ コンパイルエラー
解説
var は型推論。
var num = 10;
で int 型になるため、
num = "Hello";
は代入不可。
Java Gold無料問題⑥ Optional
import java.util.Optional;
public class Main {
public static void main(String[] args) {
Optional<String> opt = Optional.of("Java");
System.out.println(opt.get());
}
}
実行結果は?
- Java
- Optional
- null
- NoSuchElementException
正解
✅ Java
解説
Optional.of("Java")
は値あり。
そのため get() 可能。
Java Gold無料問題⑦ Interfaceのdefaultメソッド
interface A {
default void hello() {
System.out.println("A");
}
}
class B implements A {}
public class Main {
public static void main(String[] args) {
new B().hello();
}
}
実行結果は?
- A
- B
- null
- コンパイルエラー
正解
✅ A
解説
defaultメソッドは、
実装クラスでオーバーライドしなくても利用可能。
Java Gold無料問題⑧ List.of
import java.util.List;
public class Main {
public static void main(String[] args) {
List<String> list = List.of("A", "B");
list.add("C");
System.out.println(list);
}
}
実行結果は?
- [A, B, C]
- [A, B]
- UnsupportedOperationException
- コンパイルエラー
正解
✅ UnsupportedOperationException
解説
List.of() は immutable。
要素追加不可。
Java Gold無料問題⑨ instanceofパターンマッチ
public class Main {
public static void main(String[] args) {
Object obj = "Java";
if (obj instanceof String s) {
System.out.println(s.length());
}
}
}
実行結果は?
- Java
- 4
- true
- コンパイルエラー
正解
✅ 4
解説
Java 16以降で使える
instanceof のパターンマッチ。
String s
としてキャスト不要で利用可能。
Java Gold無料問題⑩ text block
public class Main {
public static void main(String[] args) {
String str = """
Hello
Java
""";
System.out.println(str);
}
}
実行結果は?
- HelloJava
- Hello Java
- Hello(改行)Java
- コンパイルエラー
正解
✅ Hello(改行)Java
解説
text block は複数行文字列。
改行込みで保持されます。
Java Gold SE17対策なら問題演習が重要
Java Goldは、
「知識を読むだけ」ではかなり厳しい試験です。
特に SE17 では、
- sealed class
- record
- switch式
- Stream API
- pattern matching
など、比較的新しい仕様理解が重要。
コードを見て瞬時に判断できるよう、
問題演習を増やすのがおすすめです。
Java Goldの無料問題をもっと解きたい方へ
Java Gold SE17向けの無料学習アプリを作っています。
- カテゴリ別問題
- コード読解問題
- 模擬試験60問
- スマホ対応
- 登録不要
で学習できます。
👉 「JAVA GOLD SE17 PRACTICE」
Java Gold学習アプリ
試験前の復習やスキマ時間学習にどうぞ。
Java認定試験の公式ページは以下になります。
Oracle Java SE 17 Developer Certification
コメント