AMG Solution

Java初心者の登竜門! Java Bronze試験で間違えやすい問題6選

feels

こんにちは。横尾です。
 
AMGの内定者研修ではオラクル社が提供しているOracle Certifies Java Programmer, Bronze SE7/8(通称Java Bronze)の取得をサポートしています。Java Bronzeはプログラミング初心者にはうってつけの試験で、試験勉強を通してプログラミングの基礎を学んでもらっています。
 
今回は、そのJava Bronzeで間違えやすい問題をピックアップします。

このプログラムを実行したときの結果は?

解答:C

 
デフォルトコンストラクタの問題です。
 
デフォルトコンストラクタは、クラスにコンストラクタを明示的に記述しない場合にコンパイラが自動的に追加する引数なしのコンストラクタです。
 
上記のプログラムだと、ProductクラスにはString型の引数を受け取るコンストラクタを定義しており、引数なしのデフォルトコンストラクタは定義されないため、コンパイルエラーになります。

12行目に挿入するコードして正しいものを選択してください。

解答:A

 
this()とオーバーロードに関する問題です。
 
11~13行目は引数なしのコンストラクタを定義して、14~17行目は引数を2つとするコンストラクタをオーバーロードしています。コンストラクタからオーバーロードした異なるコンストラクタを呼び出すためにはメソッド名ではなくthis()で呼び出します。
 
また、上記のプログラムでは引数が1つのコンストラクタは定義されていないため、Aが正解となります。

このプログラムを実行したときの結果は?

解答:C

 
staticフィールドの問題です。
 
staticフィールドは、すべてのインスタンスで共有されるフィールドです。インスタンスごとに値を管理できるインスタンスフィールドとは異なるので注意が必要です。
 
10行目でstaticフィールドcountを0で初期化を行った後、5行目でインスタンス変数c1を利用してcountに1を代入しています。
 
一見c1、c2は別々のインスタンスのようにも見受けられますが、countはstaticフィールドなので値が共有されています。そのため、c2からcountにアクセスしても1が保持されています。

次のコードをコンパイル、実行した時の結果はどれか

解答:A

 
Java Bronzeの教本を読み返していて、そういえばここ引っ掛かったなと思ってピックアップしました。
 
演算は算数と同じで、左から右へ順番に処理されます。なので、まずは5+10=15が処理されます。そうすると、次は「15+”5”」を処理することになるのですが、「”5”」は数値ではなく文字列です。
 
文字列がオペランドに含まれていると文字列連結の演算子として機能するため、155で出力されます。+が加算か文字列連結の演算子かの区別がつけば怖くない問題ですね。

「sub,super」と表示されるようにするには?

解答:C

 
スーパークラスに関する問題です。
 
サブクラスからスーパークラスのメソッドやフィールドにアクセスするときにはsuperを使います。なので、Eは誤りです。
 
また、AとDはスーパークラスや自クラス内の別のコンストラクタを呼び出すための書き方なので選択肢から外れます。Bのようにthisを使うと、出力結果は「sub,sub」となってしまうため、Cを選択するのが正解です。
 
継承の問題は多く出題された記憶があるので、苦手な方はしっかり勉強しておきましょう。

次のプログラムのコンパイルを成功させるには?

解答:A、D

 
インタフェースに関する問題です。
 
インタフェースに定義するフィールドやメソッドはpublicである必要があるため、Bのprivateでは定義できません。また、定義できるフィールドは定数のみなので初期値を設定していないフィールドの宣言もNGなのでCは不正解です。
 
インタフェースで定義するメソッドはすべてpublic abstractで修飾される抽象メソッドです。抽象メソッドは実装を持つことができないため、別で実装メソッドを用意しておく必要があります。Eのようなstaticで修飾したメソッドの場合は実装を持たなければいけないため、Eは選択肢から外れます。
 
よって、答えはA、Dとなります。

まとめ

いかがでしたでしょうか?
 
Java BronzeはJavaそのものの知識と、プログラミングの基礎を学ぶにはうってつけの資格です。プログラミングについてはどれだけ論理的な理解ができるかがポイントになってくると思います。Javaの知識の問題は確実に点を取れるように備えておきましょう!
 
何かと引っかけてくる試験でしたが、たくさん問題を解いているうちに引っかけ問題にも慣れていきました。下で紹介している問題集の問題を間違えなくなるまで解いていれば、心配ない試験です。
 
みなさんは、Java初心者にぴったりなこの試験、合格目指して頑張ってください。
 
 
 
 
《使用した本》

feels recruit

YOKOO'S BLOG

横尾の記事

横尾の記事の最新情報をお届けいたします。

SAME CATEGORY BLOG

この記事と同様のカテゴリー記事

feelsでSFA・CRM
はじめました。
LOADING