Java Programmer Silver SE 8 資格試験で押さえておきたい問題5選

こんにちは、昼間です。
 
今回は、Java Programmer Silver SE 8資格取得方法と試験の例題の紹介と解説をします。

Java Programmer Silver SE 8の概要

Javaアプリケーション開発に必要とされる基本的なプログラミング知識を有し、上級者の指導のもとで開発作業を行うことができる開発初心者向け資格です。日常的なプログラミング・スキルだけでなく、さまざまなプロジェクトで発生する状況への対応能力も評価することを目的としています。

Oracle Certified Java Programmer, Silver SE 8

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が渡された時は以下の条件が満たされなくてはいけません。
 

null以外の参照値xについて、x.equals(null)はfalseを返すこと

 
この条件に従うと、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が正解です。

さいごに

私が試験勉強に使った本はこちらになります。


徹底攻略Java SE 8 Silver問題集

 
この問題集を間違えなく解けるようになれば合格できる試験だと思います。
 
ぜひ、皆さんも合格を目指してみてください。

記事をシェア
MOST VIEWED ARTICLES