問題一覧
1
次のプログラムをコンパイル、実行したときの結果として、正しいものを選びなさい。(1つ選択) import java.util.ArrayList; public class Main { public static void main(String[] args){ ArrayList<String> list = new ArrayList<>(); list.add("A"); list.add("B"); list.add("C"); list.add("D"); list.add("E"); for (String str : list){ if("C".equals(str)){ list.remove(str); } } for (String str : list){ System.out.println(str); } } } (第九章 API)
実行時に例外がスローされる
2
次のうち、値を変更できない固定長のリストを作るものを選びなさい。(2つ選択) (第九章 API)
var list = List.of(1,2,3);, var list = Arrays.asList(new Integer[ ] {1,2,3});
3
次のプログラムをコンパイル、実行したときの結果として、正しいものを選びなさい。(1つ選択) import java.util.Arrays; public class Main { public static void main(String[] args){ String[] a = {"b", "c"}; String[] b = {"a", "b", "c"}; System.out.println(Arrays.mismatch(a,b)); } } (第九章 API)
0が表示される。
4
次のプログラムをコンパイル、実行したときの結果として、正しいものを選びなさい。(1つ選択) import java.util.Arrays; public class Main { public static void main(String[] args){ String[] a = {"B", "A"}; String[] b = {"A", "B"}; System.out.println(Arrays.compare(a,b)); } }(第九章 API)
1が表示される。
5
次のプログラムをコンパイル、実行したときの結果として、正しいものを選びなさい。(1つ選択) import java.util.Arrays; import java.util.ArrayList; import java.util.List; public class Main { public static void main(String[] args){ List<String> list = new ArrayList<>( Arrays.asList(new String[]{"A", "B","C"}) ); list.removeIf( (String s) -> { return s.equals("B"); } ); System.out.println(list); } } (第九章 API)
[A, C]
6
次のプログラムの実行結果として「A」「B」「C」と順に表示したい。 以下の空欄「 ? 」に入るコードとして正しいものを選びなさい。 (2つ選択) import java.util.List; public class Main { public static void main(String[] args){ List<String> list = List.of("A","B","C"); 「 ? 」 } } (第九章 API)
list.forEach(str -> System.out.println(str));, list.forEach(System.out::println);
7
次のプログラムをコンパイル、実行したときの結果として、正しいものを選びなさい。(1つ選択) ~~~~ public class Item { private int id; private String name; public Item(int id, String name){ this.id = id; this.name = name; } public int getId(){ return id; } public String getName(){ return name; } } ~~~~ import java.util.HashMap; import java.util.Map; public class Main { public static void main(String[] args){ Map<Integer, Item> map = new HashMap<Integer, Item>(); map.put(1, new Item(1,"A")); map.put(2, new Item(2,"B")); map.put(3, new Item(3,"C")); map.put(1, new Item(1,"A")); map.put(null, new Item(0,"default")); System.out.println(map.size()); } } (第九章 API)
4が表示される。
8
次のプログラムを確認してください。 public class Child extends Parent{ Child(){ name = "java"; } void hello(){ System.out.println("hello, " + name); } } このクラスが継承しているParentクラスの説明として、正しいものを選びなさい。(1つ選択) (第七章 クラスの継承、インターフェース、抽象クラス)
Parentクラスには、nameフィールドを定義しなければいけない。
9
継承の説明として、正しいものを選びなさい。(1つ選択) (第七章 クラスの継承、インターフェース、抽象クラス)
サブクラスであっても、コンストラクタは引き継がない。
10
インターフェースに関する説明として、正しいものを選びなさい。(2つ選択) (第七章 クラスの継承、インターフェース、抽象クラス)
アクセス修飾子を省略しても、publicなメソッドとして扱われる。, 抽象クラスは、インターフェースに定義されているメソッドを実現しなくてもよい。
11
次のプログラムの説明として、正しいのものを選びなさい。(1つ選択) ~~~~ public interface A { void sample(){ System.out.println("sample"); } } ~~~~ public class B implements A { } ~~~~ public class Main { public static void main(String[] args){ A a = new B(); a.sample(); } } (第七章 クラスの継承、インターフェース、抽象クラス)
インターフェースAのsampleメソッドをdefaultで修飾しなければいけない
12
次のプログラムをコンパイル、実行したときの結果として、正しいものを選びなさい。(1つ選択) ~~~~ public interface A { @Override default String toString(){ return "A"; } } ~~~~ public class B implements A { @Override public String toString(){ return "B"; } } ~~~~ public class Main { public static void main(String[] args){ A a = new B(); System.out.println(a); } } (第七章 クラスの継承、インターフェース、抽象クラス)
Aインターフェースでコンパイルエラーが発生する
13
以下に示すプログラムをコンパイル、実行し、 「Hello」「Java」と表示させたい。 Cクラスの空欄「?」に入るコードとして正しいものを選びなさい。(1つ選択) ~~~~ public interface A { default void sample(){ System.out.println("Hello"); } } ~~~~ public interface B extends A { } ~~~ public class C implements B { @Override public void sample(){ 「 ? 」 System.out.println("Java"); } } ~~~~ public class Main { public static void main(String[] args){ A a = new C(); a.sample(); } } (第七章 クラスの継承、インターフェース、抽象クラス)
すべて誤りである
14
次のプログラムをコンパイル、実行したときの結果として、正しいものを選びなさい。(1つ選択) ~~~~ public interface A { default void test(){ System.out.println("A"); } } ~~~~ public interface B { default void test(){ System.out.println("B"); } } ~~~~ public class Main implements A, B{ public static void main(String[] args){ new Main().test(); } } (第七章 クラスの継承、インターフェース、抽象クラス)
コンパイルエラーが発生する
15
抽象クラスに関する説明として、正しいものを選びなさい。(3つ選択) (第七章 クラスの継承、インターフェース、抽象クラス)
インスタンスを生成することはできない, サブクラスから抽象クラスの公開フィールドに自由にアクセスできる, 抽象クラスを継承した抽象クラスを定義できる
16
次のプログラムを確認してください。 ~~~~ abstract class AbstractSample { public void sample(){ System.out.println("A"); test(); System.out.println("C"); } protected abstract void test(); } ~~~~ class ConcreteSample extends AbstractSample { protected void test(){ System.out.println("B"); } } ~~~~ これらのクラスを利用する以下のプログラムを コンパイル、実行したときの結果として、正しいものを選びなさい。(1つ選択) public class Main{ public static void main(String[] args){ AbstractSample s = new ConcreteSample(); s.sample(); } } (第七章 クラスの継承、インターフェース、抽象クラス)
「A」「B」「C」と表示される
17
オーバーライドに関する説明として、正しいものを選びなさい。 (1つ選択) (第七章 クラスの継承、インターフェース、抽象クラス)
引数リストの定義は、型、数、順番のすべてが同じでなければいけない
18
以下のクラスを継承したサブクラスを定義する時、 helloメソッドをオーバーライドしようとしている。 サブクラスに定義するhelloメソッドに付けれられるアクセス修飾子として、 正しいものを選びなさい。(1つ選択) public class Sample{ protected void hello(){ System.out.println("hello"); } }
public
19
次のプログラムを確認してください。 ~~~ public class A { String val = "A"; void print(){ System.out.print(val); } } ~~~~ public class B extends A { String val = "B"; } ~~~~ これらのクラスを利用する以下のプログラムを コンパイル、実行したときの結果として、正しいものを選びなさい。 (1つ選択) public class Main{ public static void main(String[] args){ A a = new A(); A b = new B(); System.out.print(a.val); System.out.print(b.val); a.print(); b.print(); } } (第七章 クラスの継承、インターフェース、抽象クラス)
「AAAA」と表示される
20
次のプログラムを確認してください。 ~~~~ interface Worker { void work(); } class Employee { public void work(){ System.out.println("work"); } } ~~~~ class Engineer extends Employee implements Worker { } これらのクラスを利用する以下のプログラムを コンパイル、実行したときの結果として、正しいものを選びなさい。 (1つ選択) public class Main{ public static void main(String[] args){ Worker worker = new Engineer(); worker.work(); } } (第七章 クラスの継承、インターフェース、抽象クラス)
workと表示される
21
次のプログラムを確認し、 これらのクラスとインターフェースを利用するMainクラスを コンパイル、実行したときの結果として、正しいものを選びなさい。 (1つ選択) ~~~~ public interface Worker { void work(); } ~~~~ class Employee implements Worker{ public void work(){ System.out.println("work"); } public void report(){ System.out.println("report"); } } ~~~~ class Engineer extends Employee{ public void create(){ System.out.println("create future") } } ~~~~ public class Main{ public static void main(String[] args){ Worker a = new Engineer(); Employee b = new Engineer(); Engineer c = new Engineer(); a.create(); b.work(); c.report(); } } (第七章 クラスの継承、インターフェース、抽象クラス)
Mainクラス6行目でコンパイルエラーが発生する
22
次のプログラムを確認してください。 ~~~~ public interface A { } ~~~~ public class B implements A { } ~~~~ public class C extends B { } ~~~~ public class D { } ~~~~ これらのクラスやインターフェースを利用する以下のプログラムを コンパイル、実行したときの結果として、正しいものを選びなさい。 (1つ選択) public class Main{ public static void main(String[] args){ A[] array = { new B(), new C(), new A(), new D() }; } } (第七章 クラスの継承、インターフェース、抽象クラス)
6,7行目でコンパイルエラーが発生する
23
次のプログラムを確認してください。 ~~~~ class A { } ~~~~ public class B extends A { void hello(){ System.out.println("hello"); } } これらのクラスを利用する以下のプログラムを実行し、 コンソールには「hello」を表示したい。 4行目の空欄「 ? 」に入るコードとして、正しいものを選びなさい。 (1つ選択) public class Main{ public static void main(String[] args){ A a = new B(); 「 ? 」 b.hello(); } } (第七章 クラスの継承、インターフェース、抽象クラス)
B b = (B) a;
24
次のプログラムを確認してください。 コンソールに「10」と表示させるために、 Sampleクラスの4行目の空欄「 ? 」に入る コードとして正しいものを選びなさい。 (2つ選択) ~~~~ public class Sample { private int num; public Sample(int num){ 「 ? 」 } public int getNum(){ return num; } public void setNum(int num){ this.num = num; } } ~~~~ public class Main{ public static void main(String[] args){ Sample s = new Sample(10); System.out.println(s.getNum()); } } (第七章 クラスの継承、インターフェース、抽象クラス)
this.num = num;, setNum(num);
25
次のプログラムを確認してください。 ~~~~ class Parent { String name; String getName(){ return this.name; } } ~~~~ public class Child extends Parent { String name; } ~~~~ これらのクラスを利用する以下のプログラムを コンパイル、実行したときの結果として、正しいものを選びなさい。 (1つ選択) public class Main{ public static void main(String[] args){ Child child = new Child(); child.name = "sample"; System.out.println(child.getName()); } } (第七章 クラスの継承、インターフェース、抽象クラス)
「null」と表示される
26
次のプログラムを確認してください。 class A { public A(){ System.out.println("A"); } } ~~~ class B extends A { public B(){ System.out.println("B"); } } ~~~ これらのクラスを利用する以下のプログラムを コンパイル、実行したときの結果として、正しいものを選びなさい。 (1つ選択) public class Main{ public static void main(String[] args){ A a = new B(); } } (第七章 クラスの継承、インターフェース、抽象クラス)
「A」「B」と表示される
27
次のプログラムをコンパイル、実行したときの結果として、正しいものを選びなさい。 (1つ選択) ~~~~ class Parent { public Parent(){ System.out.println("A"); } public Parent(String val){ this(); System.out.println(val); } } ~~~~ class Child extends Parent { public Child(){ super("B"); System.out.println("C"); } public Child(String val){ this(); System.out.println(val); } } ~~~~ public class Main{ public static void main(String[] args){ new Child("D"); } } (第七章 クラスの継承、インターフェース、抽象クラス)
「A」「B」「C」「D」と表示される
28
次の式のうち、コンパイルエラーになるものを選びなさい。 (1つ選択) (第二章 Javaの基本データ型と文字列操作)
int e = 0827;
29
次の式のうち、コンパイルエラーになるものを選びなさい。 (5つ選択) (第二章 Javaの基本データ型と文字列操作)
int c = _123_456_789;, int d = 123_456_789_;, float e = 3_.1415F;, long f = 999_99_9999_L;, int i = 0x_52;
30
char型の初期化として正しいのものを選びなさい。 (1つ選択) (第二章 Javaの基本データ型と文字列操作)
char c = 89;
31
次の式のうち、コンパイルエラーが発生するものを選びなさい。 (2つ選択) (第二章 Javaの基本データ型と文字列操作)
int ${d} = 400;, int g.a = 700;
32
次の変数宣言のうち、コンパイルエラーとならないものを選びなさい。 (1つ選択) (第二章 Javaの基本データ型と文字列操作)
var e = new ArrayList<>();
33
次のプログラムをコンパイル、実行したときの結果として、正しいものを選びなさい。(1つ選択) ~~~~ public class Sample { private var value; public Sample(var value){ this.value = value; } public void test(){ System.out.println(value); } } ~~~~ public class Main{ public static void main(String[] args){ Sample s = new Sample("sample"); s.test(); } } (第二章 Javaの基本データ型と文字列操作)
コンパイルエラーとなる
34
次のプログラムをコンパイル、実行したときの結果として、 正しいものを選びなさい。(1つ選択) public class Main{ public static void main(String[] args){ String str = "hoge, world."; hello(str); System.out.println(str); } private static void hello(String msg){ msg.replaceAll("hoge", "hello"); } } (第二章 Javaの基本データ型と文字列操作)
「hoge, world.」と表示される
35
次のプログラムをコンパイル、実行したときの結果として、正しいものを選びなさい。(1つ選択) public class Main{ public static void main(String[] args){ String str = "abcde"; System.out.println(str.indexOf("abcdef")); } } (第二章 Javaの基本データ型と文字列操作)
-1が表示される
36
次のプログラムをコンパイル、実行したときの結果として、正しいものを選びなさい。 (1つ選択) public class Main{ public static void main(String[] args){ String str = "abcde"; System.out.println(str.substring(2,4)); } } (第二章 Javaの基本データ型と文字列操作)
「cd」と表示される
37
次のプログラムを実行し、「Hello, Java!」と表示したい。 3行目の空欄「 ? 」に入るコードとして、正しいものを選びなさい。 (1つ選択) public class Main{ public static void main(String[] args){ String str = 「 ? 」; System.out.println(str); } } (第二章 Javaの基本データ型と文字列操作)
"Hello, ".concat("Java!")
38
次のプログラムをコンパイル、実行したときの結果として、正しいものを選びなさい。(1つ選択) public class Main{ public static void main(String[] args){ StringBuilder sb = new StringBuilder("abcde"); System.out.println(sb.capacity()); } } (第二章 Javaの基本データ型と文字列操作)
21が表示される
39
次のプログラムをコンパイル、実行したときの結果として、 正しいものを選びなさい。(1つ選択) public class Main{ public static void main(String[] args){ StringBuilder sb = new StringBuilder(); sb.append("abcde"); sb.reverse(); sb.replace(1, 3, "a"); System.out.println(sb); } } (第二章 Javaの基本データ型と文字列操作)
「eaba」と表示される
40
次のプログラムを実行し「NULL」と表示したい。 3行目の空欄「 ? 」に入るコードとして、正しいものを選びなさい。 (1つ選択) public class Main { public static void main(String[] args) { 「 ? 」 System.out.println(obj); } } (第六章 インスタンスとメソッド)
全て誤りである。
41
次のプログラムを実行し、7行目が終了したときに ガベージコレクションの対象となるインスタンスはどれか。 正しい説明を選びなさい。(1つ選択) public class Main { public static void main(String[] args) { Object a = new Object(); Object b = new Object(); Object c = a; a = null; b = null; } } (第六章 インスタンスとメソッド)
4行目で作成したインスタンスだけが、ガベージコレクションの対象となる。
42
次のプログラムを確認してください。 public class Sample { static int num = 0; } このクラスを利用する以下のクラスを、 コンパイル、実行したときの結果として 正しいものを選びなさい。(1つ選択) public class Main { public static void main(String[] args) { Sample.num = 10; Sample s = new Sample(); Sample s2 = new Sample(); s.num += 10; s2.num = 30; System.out.println(Sample.num); } } (第六章 インスタンスとメソッド)
30が表示される
43
次の中から、正しい説明を選びなさい。 (2つ選択) (第六章 インスタンスとメソッド)
staticなメソッドからは、staticなフィールドにアクセスできる。, staticでないメソッドからは、staticなメソッドにアクセスできる。
44
1次のプログラムを確認してください。 public class Sample { private String value; public void setValue(String value){ this.value = value; } public String getValue(){ return this.value; } } このクラスを利用する以下のプログラムの説明として、正しいものを選びなさい。 (1つ選択) public class Main { public static void main(String[] args) { Sample s = new Sample(); String val = s.setValue("hello"); s.getValue(); System.out.println(val); } } (第六章 インスタンスとメソッド)
Mainクラスの4行目がコンパイルエラーとなる。
45
次の中から、メソッドの宣言として正しいものを選びなさい。 (1つ選択)
選択肢はすべて誤りである。
46
次のプログラムをコンパイル、実行したときの結果として 正しいものを選びなさい。(1つ選択) public class Sample { public void method(int num){ if (num<0) return; Sysmtem.out.println("A"); return; System.out.println("B"); } } (第六章 インスタンスとメソッド)
6行目でコンパイルエラーが発生する
47
次のメソッドをオーバーロードするメソッド定義として 正しいものを選びなさい。(1つ選択) void method(){ //do something } (第六章 インスタンスとメソッド)
全て誤りである。
48
Sampleクラスを定義する。 このクラスに定義するコンストラクタを修飾できるアクセス修飾子について、 正しい説明を選びなさい。(1つ選択) (第六章 インスタンスとメソッド)
コンストラクタを修飾するアクセス修飾子に制限はない。
49
次のプログラムを確認してください。 public class Sample { Sample(){ System.out.println("A"); } { System.out.println("B"); } } このクラスを利用する以下のプログラムを、 コンパイル、実行したときの結果として、 正しいものを選びなさい。(1つ選択) public class Main { public static void main(String[] args) { Sample s = new Sample(); } } (第六章 インスタンスとメソッド)
「B」「A」と表示される
50
次のプログラムをコンパイル、実行したときの結果として、 正しいものを選びなさい。(1つ選択) ~~~ public class Sample { public Sample(){ System.out.println("A"); this("B"); } public Sample(String str){ System.out.println(str); } } ~~~ public class Main { public static void main(String[] args) { Sample s = new Sample(); } } (第六章 インスタンスとメソッド)
「A」「B」と表示される
51
次のプログラムを確認してください。 package ex26; public class Sample { int num = 10; } このクラスを利用する以下のプログラムを、 コンパイル、実行したときの結果として、 正しいものを選びなさい。(1つ選択) package other; import ex26.Sample; public class Main extends Sample { public static void main(String[] args) { System.out.println(num); } } (第六章 インスタンスとメソッド)
Mainクラスの6行目でコンパイルエラーが発生する
52
次のプログラムを確認してください。 package other; public class Book { private String isbn; public void setIsbn(String isbn){ this.isbn = isbn; } protected void printInfo(){ System.out.println(isbn); } } このクラスを利用する以下のプログラムを、 コンパイル、実行したときの結果として、 正しいものを選びなさい。(1つ選択) package ex27; import other.Book; public class StoryBook extends Book { } ~~~~ package ex27; public class Main { public static void main(String[] args) { StoryBook story = new StoryBook(); story.setIsbn("xxx-x-xxxxxx-xx-x"); story.printInfo(); } } (第六章 インスタンスとメソッド)
コンパイルエラーが発生する
53
次のプログラムを確認してください。 public class Sample { int num; int getNum(){ return num; } void setNum(int num){ this.num = num; } } このクラスにカプセル化を適用したい。 次の中から正しいコードを選びなさい。(1つ選択) (第六章 インスタンスとメソッド)
public class Sample{ private int num; public int getNum(){ return num; } private void setNum(Int num) { this.num = num; } }