JavaBronze合格までの流れ

はじめに

本稿では私がJava Bronzeを取得するまでの学習方法や学習時間、詰まったところなどを紹介していきます。本稿がこれからJava Bronzeを取得しようとしている方の参考になれば幸いです。

そもそもなぜJava Bronzeを取得しようと考えたのか

今回Javaを学習するのにまとまった時間が取れたので、新たに目に見える資格取得という形でJavaの学習成果を証明したいと考えたからです。

学習方法

・Java Bronze SE 7/8 スピードマスター問題集

基本的にはこの一冊だけを使い試験対策を進めていきました。問題集の解説で分からない箇所は別途インターネットで検索して理解をするようにしていました。実際に試験を受けている最中も、問題集とよく似た問題がたびたびありました。

学習時間

試験対策そのものにかけた時間はおよそ15時間ほどです。ただしJavaの学習自体は2ヵ月ほどかけて行ったうえでの15時間なので、Javaの経験が浅い方はもう少し必要になるかと思います。

分野ごとの注意点

ここからは実際に学習を進めていくうえで、よく間違えた問題を参考書に記述されている分野ごとに紹介していきます。

Java言語のプログラムの流れ

私自身はこの分野が一番正答率が低く、苦手意識を持っていました。私はJavaの学習をする際はEclipseを使用していたので、コマンドを打つ機会が少なく、正しいjavacコマンドやjavaコマンドを選択する設問はよく間違えていました。この分野を学習していて一番衝撃だったのはJavaのエントリーポイントであるmainメソッドが自分は正しく覚えていないということでした。Eclipseで新規クラスを作成した際には、自動でmainメソッドは作成されるので普段から意識することは少なかったですが、それでも正しく覚えていないことはショックでした。この分野では上記の設問以外にも基礎的な用語(Java SE、Java MM、ガベージコレクション)を回答する設問があり、間違えた用語に関しては徹底的に覚え直すようにしていました。

データ宣言と仕様

この分野は他言語と変わらないので、あまり詰まることはありませんでした。8つの基本データ型を覚え、その型が表現できる範囲を理解していれば大丈夫です。

演算子と分岐文

この章以降はソースコードを確認し、実行結果を選択肢の中から選ぶ設問が多くなってくるので、序盤の章に比べて解きやすく感じました。ただし注意しなければならないのが選択肢の中に「コンパイルエラーが発生する」がある場合です。この選択肢が含まれていると、どこにエラーが発生するようなコードがあるか分からないので、慎重に設問を確認するようにしていました。

この章ではインクリメント(i++、–i等)や論理演算子(==、&&等)を中心に問われます。インクリメントに関しては、ソースコードを辿りながらそれぞれの値を書き出すようにすれば間違うことはあまりありませんでした。

論理演算子に関しては、普段は「&&、||」を使用しており、左辺の結果によっては右辺を参照しないものだと覚えていたのですが、「&、|」のような左辺の結果に関わらず右辺も参照する論理演算子があることを知らなかったので、改めて論理演算子を覚えなおそうと感じました。


int i = 1;
int j = 1;
if(i < 1 && i++ < 1){}
if(j < 1 & j++ < 1){}

上記のソースコードだと最初のif文ではiが+1されず、2つ目のif文ではjが+1されます。そのため「i = 1, j = 2」となります。

ループ分

ループはfor文、while文、do_while文の基本的な使い方が理解できていれば、問題ないと考えています。配列の要素番号にループ変数を使うような設問では、用意した配列の大きさより配列の要素番号が大きくなると、実行時エラーになるので注意した方が良いです。普段あまり使わないようなループ文の条件式も多かったので、無限ループにならないかどうかも意識していました。

オブジェクト指向コンセプト

この分野ではJavaの代名詞でもあるオブジェクト指向に関する用語を回答する設問ばかりでした。なんとなくで意味を覚えていたので、改めて正確に覚えなおす必要があり、苦労しながら学習進めました。

クラス定義とオブジェクトの生成、使用

この分野では実際にソースコード上でインスタンス化・メソッドの呼び出し等が記述してあり、実行結果を回答する設問が多かったです。

継承とポリモフィズム

この分野では継承したクラスを呼び出したり、スーパークラスのメソッドをオーバーライドするなど、前分野に比べて複雑な設問が多くありました。

まとめ

全体を通して言えることは引っ掛け問題もところどころあったので落ち着いて回答することをおススメします。Java BronzeはJavaの基本的な部分しか問われないので、しっかりと学習を進めて、落ち着いて試験に臨めれば取得することは難しくありません。