• 検索結果がありません。

Java知識テスト問題

N/A
N/A
Protected

Academic year: 2021

シェア "Java知識テスト問題"

Copied!
15
0
0

読み込み中.... (全文を見る)

全文

(1)

SDAS プログラマ教育サービス(Java 編)」運営事務局

Java 知識テスト問題

このテストは

J2EE プログラマとしての Java の知識を評価するものです。

■ 問題は30 問,テスト時間は J2EE 知識テストとあわせて 90 分です。 ■ 問題は全て択一式です。選択肢から1つだけ選択してください。 ■ 資料の閲覧は禁止です。 ■ テストが終わり次第、答案用紙を提出していただいてかまいません。 ■ テスト終了後,本テストの内容を他の方に話さないでください。 受験者の公平を期するためですのでよろしくお願いします。 必ずお読みください

(2)

1. 次のうち識別子として使用できるものはどれですか。【選択肢】から 1 つ選んでください。 【選択肢】 A) num@ B) num$ C) num# D) num! 2. アクセス修飾子 protected のスコープ範囲内ではあるが、アクセス修飾子「なし(省略)」のスコープ範囲 からは外れるクラスはどれですか。【選択肢】から1 つ選んでください。 【選択肢】 A) 自クラス B) 同一パッケージ内 サブクラス C) 同一パッケージ内 非サブクラス D) 非同一パッケージ内 サブクラス E) 非同一パッケージ内 非サブクラス 3. a は int 型変数であるとします。次の式について述べた文章として正しいものはどれですか。【選択肢】か ら1 つ選んでください。 0 < a < 10 【選択肢】 A) a の値が 0 のとき、この式の値は true になる。 B) a の値が 5 のとき、この式の値は true になる。 C) a の値が 10 のとき、この式の値は true になる。 D) コンパイルできない。 4. int 型整数を 0 で除算するとどうなりますか。【選択肢】から 1 つ選んでください。 【選択肢】 A) 実行時例外が発生する。 B) 0 が返却される。 C) null が返却される。 D) int 型の最大値が返却される。

(3)

5. Java の基本データ型に関する記述のうち正しいものはどれですか。【選択肢】から 1 つ選んでください。 【選択肢】

A) Java の boolean 型は true が整数の 0、false が整数の 1 と同義である。 B) Java の char 型は 2 バイト文字であるひらがなの「あ」を表現できる。 C) Java の int 型の表現範囲は 16 ビットである。 D) Java の基本データ型では「丸め誤差」は発生しない。 6. 次のプログラムをコンパイルし、コマンドライン引数に何も与えずに実行しようとするとどうなりますか。 【選択肢】から1 つ選んでください。 CommandLineTest.java

public class CommandLineTest {

public static void main( String[] args ) { System.out.println( args[0] ) ; } } 【選択肢】 A) コンパイルエラーになる。 B) 実行時に例外が発生する。 C) 何も出力されない。 D) CommandLineTest と出力される。 7. 次のプログラムをコンパイルし実行するとどうなりますか。【選択肢】から 1 つ選んでください。 OpeTest.java

public class OpeTest {

public static void main(String[] args) { System.out.println( 8 / 5 * 5 ); } } 【選択肢】 A) 0 と出力される。 B) 1 と出力される。 C) 5 と出力される。 D) 8 と出力される。 E) 40 と出力される。

(4)

8. 以下のようなコードがあります。 Test.java

1: public class Test {

2: public static void main(String[] args) { 3: print();

4: }

5: public void print() {

6: System.out.println( "Test#print" ); 7: } 8: } コンソールに Test#print と表示させたいのですが、このコードは3 行目でコンパイルエラーになってしまいます。正しく実行できるよ うにするためにはコードをどのように修正すればよいですか。【選択肢】から1 つ選んでください。 【選択肢】

A) main()を static でないメソッドにする。 B) print()を static なメソッドにする。 C) 3 行目の print()を this.print()に変更する。 D) 3 行目の print()を Test.print()に変更する。 9. 次の記述のうち、もっとも適切なものはどれですか。【選択肢】から 1 つ選んでください。 【選択肢】 A) 多態性で重要なのはオーバーライドではなくオーバーロードである。 B) カプセル化されたクラスで has-a 関係を使用してはならない。 C) オブジェクト指向とカプセル化は無関係な手法である。 D) カプセル化におけるデータの保護には、通常 private が使われる。

(5)

10. 以下のコードを実行すると何が出力されますか。【選択肢】から 1 つ選んでください。 Main.java

public class Main {

public static void main(String[] args) { ThisTest test = new ThisTest();

test.print(); }

}

class ThisTest { String str = "aaa"; public void print() { str = "bbb"; System.out.println( this.str ); System.out.println( str ); } } 【選択肢】 A) aaa aaa B) aaa bbb C) bbb aaa D) bbb bbb 11. 次のプログラムをコンパイルするとコンパイルエラーになります。なぜですか。【選択肢】から 1 つ選ん でください。 Demo.java class Oya { Oya(String name) {

System.out.println( "My name is Oya. " + name ); }

}

class Ko extends Oya { Ko(String name) {

System.out.println( "I am Ko! " + name ); }

}

class Demo {

public static void main(String[] a) { Ko obj = new Ko("Hello");

} } 【選択肢】 A) ひとつの Java ソース内に複数のクラスが定義されているから。 B) クラス Demo の可視性が public でないから。 C) クラス Oya でデフォルトコンストラクタが定義されていないから。 D) クラス Demo の main メソッドの引数の名前が正しくないから。

(6)

12. 次の[用語]と[解説]の組み合わせのうち正しいものはどれですか。【選択肢】から 1 つ選んでください。 用語 ア:継承 イ:委譲 ウ:実装 解説 I:オブジェクトが自分に依頼されたメッセージを他のオブジェクトに処理させること。 II:インタフェースで定義されているメソッドを記述すること。 III:あるクラスの特性を受け継いだクラスを作成すること。クラス同士が親-子の関係になる。 【選択肢】

A) ア-I イ-II ウ-III B) ア-I イ-III ウ-II C) ア-II イ-III ウ-I D) ア-III イ-I ウ-II E) ア-III イ-II ウ-I

(7)

13. 次の 3 つのファイルをコンパイルし実行するとどうなりますか。【選択肢】から 1 つ選んでください。 Main.java

public class Main {

public static void main(String[] args) { Abstract object = new Concrete(); object.method();

} }

Abstract.java

public abstract class Abstract {

public abstract void method() { System.out.println( "Abstract#method" ); } }

Concrete.java

public class Concrete extends Abstract {

public void method() { System.out.println( "Concrete#method" ); } } 【選択肢】 A) コンパイルエラーになる。 B) 実行時に例外が発生する。 C) Abstract#method と表示される。 D) Concrete#method と表示される。

(8)

14.-15. 以下のようなコードがあります。 Animal.java

public interface Animal { public void method(); }

Mammal.java

public interface Mammal 空欄 Animal { public void method2();

}

Sample.java

public class Sample implements Mammal { // 処理 } 14. インターフェース Mammal はインターフェース Animal を継承しています。空欄に当てはまるものとして 適切なものはどちらですか。【選択肢】から1 つ選んでください。 【選択肢】 A) extends B) implements

15. クラス Sample はインターフェース Mammal を実装しています。クラス Sample で「必ず」実装「しな ければならない」メソッドはどれですか。【選択肢】から1 つ選んでください。 【選択肢】 A) method()のみ B) method2()のみ C) method()と method2()の両方 D) 必ず実装しなければならないものはない。 16. 次のコードのうち正しくないもの(コンパイルエラーになるもの)はどれですか。【選択肢】から 1 つ選 んでください。 【選択肢】

A) int data1[3] = { 1, 2, 3 }; B) int data2[] = new int[3];

C) int[] data3 = new int[]{ 1, 2, 3 }; D) int[]data4[] = new int[3][4];

(9)

17. 次のコードをコンパイルし実行するとどうなりますか。【選択肢】から 1 つ選んでください。 ArrayTest.java

public class ArrayTest {

public static void main(String[] args) { int[] data = { 0, 1, 2, } ; System.out.println(data[3]) ; } } 【選択肢】 A) コンパイルエラーになる。 B) 実行時に例外が発生する。 C) 0 と出力される。 D) 3 と出力される。 18. 次のプログラムをコンパイルし実行しようとするとどうなりますか。【選択肢】から1 つ選んでください。 RefCast.java

public class RefCast {

public static void main(String[] args) {

StringBuffer buffer = new StringBuffer("buffer"); String str = (String)buffer; System.out.println( str ); } } 【選択肢】 A) コンパイルエラーになる。 B) 実行時に例外が発生する。 C) 実行すると、何も出力されずに終了する。 D) 上記以外の結果になる。

(10)

19. Girl は Human のサブクラスです。以下のコードをコンパイルし実行するとどうなりますか。【選択肢】 から1 つ選んでください。ただし、Human と Girl ではコンパイルエラーは発生していないものとします。 CastTest.java

public class CastTest {

public static void main(String[] args) { Girl girl = new Girl();

Human human = girl;

Girl anotherGirl = (Girl)human; // anotherGirl のクラス名を取得。 System.out.println(anotherGirl.getClass()); } } Object クラスの getClass()メソッドを 用いて、インスタンスのクラス名を取 得することができます。 【選択肢】 A) コンパイルでエラーになる。 B) コンパイルは通るが、実行時に例外が発生する。 C) class Human と表示される。 D) class Girl と表示される。 20. 次のプログラムをコンパイルし実行すると何が出力されますか。【選択肢】から 1 つ選んでください。 BreakTest.java

public class BreakTest {

public static void main(String[] args) { for (int i = 0; i < 4; i++) {

if( i==3 ) { break ; } System.out.print( i ) ; } } } 【選択肢】 A) 01 B) 012 C) 0123 D) 01234

(11)

21. 次のプログラムをコンパイルし以下のコマンドで実行しようとすると何が出力されますか。【選択肢】か ら1 つ選んでください。

IFTest.java

public class IFTest {

public static void main(String[] args) { if( args[0].equals("17") ) {

System.out.print( "今日は 17 日です。" ); } else if( args[1].equals("金") ) {

System.out.print( "今日は金曜日です。" ); } else { System.out.print( "その他" ); } } } 実行コマンド java IFTest 17 金 【選択肢】 A) 今日は 17 日です。今日は金曜日です。 B) 今日は 17 日です。 C) 今日は金曜日です。 D) その他 E) 何も出力されない。 22. 以下の空欄に入れることができないデータ型はどれですか。【選択肢】から 1 つ選んでください。 switch ( 空欄 ) { // ・・・ } 【選択肢】 A) byte B) short C) int D) long E) char

(12)

23. 次のプログラムをコンパイルし実行するとどうなりますか。【選択肢】から 1 つ選んでください。 ExceptionTest.java

public class ExceptionTest {

public static void main(String[] args) { String str = "str"; try { int i = Integer.parseInt(str); System.out.print( "try, " ); } catch(Exception e) { System.out.print( "Exception, " ); } catch(NumberFormatException nfe) { System.out.print( "NumberFormatException, " ); } finally { System.out.print( "finally, " ); } } } 【選択肢】 A) コンパイルエラーになる

B) try, NumberFormatException, finally, と出力される C) try, Exception, finally, と出力される

D) NumberFormatException, finally, と出力される E) Exception, finally, と出力される

24. 以下のコードの空欄部分に入れるとコンパイルエラーになるものはどれですか。【選択肢】から 1 つ選ん でください。

ExceptionTest.java import java.io.*;

public class ExceptionTest {

private static void method() throws IOException { throw new 空欄

}

public static void main(String args[]) { try {

method();

} catch (Exception ex) { ex.printStackTrace(); } } } 【選択肢】 A) IOException(); B) RuntimeException(); C) Exception();

(13)

25. 次のプログラムを実行したときに、発生する可能性のない例外はどれですか。【選択肢】から 1 つ選んで ください。

ExceptionDemo.java

public class ExceptionDemo {

public static void main(String[] args) { int i = Integer.parseInt( args[0] ) ; int[] data = { 3, 2, 1, 0 } ; System.out.println( 6 / data[i] ) ; } } 【選択肢】 A) java.lang.ArithmeticException B) java.lang.ArrayIndexOutOfBoundsException C) java.lang.ClassCastException D) java.lang.NumberFormatException 26. マルチスレッドに関する説明として正しい文はどれですか。最も適切なものを【選択肢】から 1 つ選ん でください。 【選択肢】 A) シングルプロセスの OS でもマルチスレッドの動作は可能である。 B) マルチスレッドは Java 固有のものである。 C) マルチスレッドを実現するには複数の CPU が必要である。 D) マルチスレッドで動作させるには MultiThread インターフェースを実装する必要がある。 27. java.lang.Run nable インターフェースを実装したクラスで記述する必要のあるメソッドはどれですか。 【選択肢】から1 つ選んでください。 【選択肢】 A) start() B) run() C) join() D) stop()

(14)

28. 以下のコードをコンパイルし実行しようとするとどうなりますか。【選択肢】から 1 つ選んでください。 ThreadTest.java

public class ThreadTest {

public static void main(String[] args) { try { System.out.println( "Start." ); Thread.sleep(3000); System.out.println( "End." ); } catch(InterruptedException ie) {} } } 【選択肢】

A) ThreadTest クラスが Thread クラスを継承していないのでコンパイルエラーになる。 B) 適切な例外処理が行われていないので、コンパイルエラーになる。 C) 正常にコンパイル・実行され、 「Start.」が出力された直後に「End.」と出力される。 D) 正常にコンパイル・実行され、 「Start.」が出力されてから約 3 秒後に「End.」と出力される。 29. 以下のコードを実行すると何が出力されますか。【選択肢】から1つ選んでください。 SubstringTest.java

public class SubstringTest {

public static void main(String[] args) { String before = "abcdefg";

String after = before.substring(1, 7); System.out.println( after ); } } 【選択肢】 A) abcdef B) abcdefg C) bcdefg D) 例外が発生する。

(15)

30. 以下のコードを実行しようとするとどうなりますか。【選択肢】から1つ選んでください。 HashMapTest.java

1: import java.util.HashMap; 2:

3: public class HashMapTest {

4: public static void main(String[] args) { 5: HashMap map = new HashMap();

6: map.put("key1", "value1"); 7: map.put("key2", "value2"); 8: map.put("key1", "value3");

9: String value = (String)map.get("key1"); 10: System.out.println(value); 11: } 12: } 【選択肢】 A) 重複するキーで put しようとしている 8 行目で実行時例外が発生する。 B) String にキャストしようとしている 9 行目で実行時例外が発生する。 C) value1 と表示される。 D) value3 と表示される。

参照

関連したドキュメント

大型風車の導入実績の伸びには著しいものがあるが,ブレードの破損や,低周波騒音の発生などの諸問題が

MPIO サポートを選択すると、 Windows Unified Host Utilities によって、 Windows Server 2016 に含まれている MPIO 機能が有効になります。.

READ UNCOMMITTED 発生する 発生する 発生する 発生する 指定してもREAD COMMITEDで動作 READ COMMITTED 発生しない 発生する 発生する 発生する デフォルト.

現行の HDTV デジタル放送では 4:2:0 が採用されていること、また、 Main 10 プロファイルおよ び Main プロファイルは Y′C′ B C′ R 4:2:0 のみをサポートしていることから、 Y′C′ B

は,医師による生命に対する犯罪が問題である。医師の職責から派生する このような関係は,それ自体としては

図表の記載にあたっては、調査票の選択肢の文言を一部省略している場合がある。省略して いない選択肢は、241 ページからの「第 3

震災発生時のがれき処理に関

1) 特に力を入れている 2) 十分である 3) 課題が残されている. ] 1) 行っている <選択肢> 2) 行っていない