Java Programmer Silver SE 8 資格試験で押さえておきたい問題5選
目次
こんにちは、昼間です。
今回は、Java Programmer Silver SE 8資格取得方法と試験の例題の紹介と解説をします。
Java Programmer Silver SE 8の概要
Javaアプリケーション開発に必要とされる基本的なプログラミング知識を有し、上級者の指導のもとで開発作業を行うことができる開発初心者向け資格です。日常的なプログラミング・スキルだけでなく、さまざまなプロジェクトで発生する状況への対応能力も評価することを目的としています。
Java Programmer Silver SE 8の取得方法
Java Programmer Silver SE 8の資格を取得する為には、Java SE 8 Programmer Iの試験に合格する必要があります。
試験名 | Java SE 8 Programmer I |
---|---|
試験番号 | 1Z0-808 |
試験時間 | 150分 |
出題数 | 77問 |
合格ライン | 65% |
受験料(税抜き) | ¥26,600 |
ここからは試験で押さえておきたい問題をご紹介します。
次のプログラムをコンパイル、実行したときの結果として正しいものを選びなさい。
public class Main{ public static void main(String[] args){ Object x = new Object(); Object y = null; System.out.println(x.equals(y)); } } A. falseが表示される B. trueが表示される C. コンパイルエラーが発生する D. 実行時に例外がスローされる
解答:A
equalsメソッドは、同値性を確認するためのメソッドです。equalsメソッドにnullが渡された時は以下の条件が満たされなくてはいけません。
この条件に従うと、equalsメソッドはnullが渡された時、常にfalseを戻さなければなりません。そのため、引数にnullを渡している設問のコードもfalseを表示しなければなりません。
オーバーライドに関する説明として正しいものを選びなさい
A. 戻り値型は同じでなければならない B. 引数リストの定義は、型、数、順番のすべてが同じでなければならない C. オーバーライドされたメソッドはオーバーライドできない D. 抽象メソッドはオーバーライドできない
解答:B
メソッドのオーバーライドの基礎知識を問う問題です。オーバーライドは、サブクラスでスーパークラスに定義されたメソッドを「再定義」することです。
「多重定義」を表すオーバーロードと間違えやすいので注意しましょう。
メソッドを再定義するため、メソッドのシグニチャ(メソッド名、引数リストの型、数、順番)は同じでなければなりません。
よって、選択肢Bは正解です。
「Hello, World!」と表示したい。3行目の空欄に入るコードとして正しいものを選びなさい。
public class Main{ public static void main(String[] args){ String str = // ここにコードを挿入 System.out.println(str); } } A. "Hello, ".append("World!"); B. "Hello, ".concat("World!"); C. "Hello, ".add("World!"); D. "Hello, ".plus("World!");
解答:B
Stringオブジェクトに関する問題です。concatメソッドはオブジェクト内部の文字列と引数として渡された文字列を連結した、新しい文字列を戻すメソッドです。
“Hello, “という文字列と”World!”をconcatメソッドを使って文字列を連結している選択肢Bが正解です。
次のプログラムをコンパイルを、実行したときの結果として正しいものを選びなさい。
public class Main{ public static void main(String[] args){ System.out.println(100 + 200 + "300" + 400); } } A. 300300400が表示される B. 100200300400が表示される C. 1000が表示される D. コンパイルエラーが表示される E. 実行時に例外がスローされる
解答:A
+演算子と文字列の連結に関する問題です。
+演算子は、数値の加算をするための演算子ですが、文字列に対してこの演算子を使った場合には左右オペランドの文字列は連結されます。
設問ではまず「100 + 200」が実行され、その結果である「300」と「”300″」が文字列として連結されます。その次に「”300300″」と「400」が文字列として連結されます。
よって、選択肢Aが正解です。
次のプログラムをコンパイルを、実行したときの結果として正しいものを選びなさい。
public class Main{ public static void main(String[] args){ char a = 123; String str = Character.toString(a); int i = Intejer.parseInt(str); System.out.println(i); } } A. 123が表示される B. IllegalArgumentExceptionが表示される C. NumberFormatExceptionが表示される D. classCastException表示される
解答:C
例外クラスに関する問題です。
設問のコードでは、CharacterクラスのtoStringメソッドを使って、文字コード123で表される文字をString型に変換しています。
文字コード123で表される文字は中カッコ「{」です。ここでは、この文字をIntegerクラスのparseIntメソッドを使ってint型に変更しています。
このparseIntメソッドは数字をint型の数値に変換するためのメソッドです。しかし、設問では「{」を変換しようとしているため、変換できずにNumberFormatExceptionがスローされます。
よって、選択肢Cが正解です。
さいごに
私が試験勉強に使った本はこちらになります。
この問題集を間違えなく解けるようになれば合格できる試験だと思います。
ぜひ、皆さんも合格を目指してみてください。