【java未経験】java silver SE11 に合格するまでにやったこと

 # はじめに
先日java silver　SE11の資格試験に合格したので、合格までに行った学習方法についてまとめます。


# そもそもなぜ java silverの資格取得を考えたのか
### java silverの資格取得を考えた頃のエンジニアプロフィール
 - 開発未経験でIT企業に入社した新卒エンジニア（プログラミング歴0日）
-  最初の2か月間の研修の中で以下のことを学んでいる
    -  java言語に関する基本的な用語（クラスやメソッドなど）などを、役割だけなんとなく理解している
    -  paizaなどのプログラミングサイトで簡単な問題を解いたことがある
-  実際にプログラム上で、javaをほとんど記述したことはない

 # そもそもなぜ java silverの資格取得を考えたのか
2か月間の研修を経てグループ組織に配属され、実際に大規模なプログラムの中のjavaに手を加えていく際に、心の中で叫びました！

**「う～～～ん！！なんとなくしか理解してないから、全然分からん！
    コードも長くなると混乱！！！やばい！！」**

javaの基本的な仕組みを改めてしっかり勉強したいなと思っていた時に、java言語にも資格があることを知りました。

### Oracle認定Javaプログラマ
- Oracle社が提供しているJava認定資格(Javaの知識と技能を認定する資格)
- Oracle認定Javaプログラマのなかでも難易度別に以下の3つに分類される
    - Bronze 　--難易度：低　入門者向け
    - Silver　　--難易度：中　開発初級者向け
        - **出題数：80問　合格率：63%　試験時間：180分**
    - Gold 　　--難易度：高　開発中級者向け

自分は以下の理由で、まずはSilverの合格を目指そうと決めました。
- 研修で簡単にjavaに触ってはいるので、開発初級者向けのSilverをまずは取得しようと考えた
- 合格することで、基本的なJavaの知識と技能を得られる・それを証明できる
- 比較的難易度も高い試験のため、努力できることのアピールにもなる
- 合格に向けて継続的に勉強をすることは苦手ではない

# 勉強期間と学習内容
- 勉強期間：**約3か月間**
    - **平日は1h/日**
    - **土日は1.5h/日**
    

- 学習内容　
1. 黒本を、理解していない箇所は一旦飛ばしつつまずは1周読む　--最初の1週間
1. わからない箇所を理解しながら2週目を読む --2週間目～1か月半目
1. 問題をひたすら解く 1か月半目～試験当日

# 学習内容ロードマップ
学習内容について、詳細に記載します。

## ①黒本を、理解していない箇所は一旦飛ばしつつまずは1周読む　--最初の1週間

使用する教材は、[Java Silver 黒本](https://www.amazon.co.jp/%E5%BE%B9%E5%BA%95%E6%94%BB%E7%95%A5Java-SE-11-Silver%E5%95%8F%E9%A1%8C%E9%9B%86-1Z0-815/dp/4295007625/ref=pd_bxgy_sccl_2/355-3502044-3384762?pd_rd_w=W1sqj&content-id=amzn1.sym.918446e7-72f4-48c7-a672-af3b6ace2b19&pf_rd_p=918446e7-72f4-48c7-a672-af3b6ace2b19&pf_rd_r=GWRW91EHSHSRMN04Q557&pd_rd_wg=IOca5&pd_rd_r=b76a3bcd-294b-4ccd-8236-cf9b66667c32&pd_rd_i=4295007625&psc=1)です。目次は以下です。

▼目次▼
第01章簡単なJavaプログラムの作成
第02章Javaの基本データ型と文字列操作
第03章演算子と判定構造
第04章制御構造
第05章配列の操作
第06章インスタンスとメソッド
第07章クラスの継承、インタフェース、抽象クラス
第08章関数型インタフェース、ラムダ式
第09章API
第10章例外処理
第11章モジュールシステム
第12章総仕上げ問題1
第13章総仕上げ問題2

まずはこの参考書を目次に沿って読み進めていきます。（第12章・13章はこの時点では読まなくて大丈夫です）
大切なのは、**全部を完璧に理解しようとしない**ことです！
問題文と解説、回答を見て、理解していなくてもザーッと読み進めていきます
研修で基本的なクラスや継承などの仕組みを学んでいるつもりでしたが、正直レベルが高く、最初は書いてあることのほとんどが？？？の状態でした。

1週読み切る際には、
- 「あーこれはなんとなくだけど理解してる内容だなあ、こういうとこから問題が出るのか～」
- 「全然聞いたことない＆理解できない内容だけど、こんなのがあるのか、ふーん」
くらいの感覚で読み進めていきましょう！

この感覚で読み進めていき、
- 問題の難易度、出題形式、出題分野などの全体像が掴めた
- この試験に合格する実力があればjavaに詳しくなれそう！
くらいの感覚を持つことが出来ていれば、①のステップはOKです

## ②わからない箇所を理解しながら2週目を読む --2週間目～1か月半目

1週読んで、全体像を理解出来たら、再度第1章から読み進めていきます。
この時、一つ一つの解説文の内容と回答について
「全然分からん OR なんとなく理解した」　→　「理解した」 の状態にしながら読み進めていきます。

ただ、解説を読んでもイマイチピンとこないこともあるので、
自分は以下の工夫をしていました。

- 詰まった箇所について、ネット記事での解説を見て回る
- javaを自分より理解してそうな人に聞く
- 実際に解説文に書いてあるコードを書いて、動作検証をしてみる

特に理解を深めるために大切なのは、「実際に解説文に書いてあるコードを書いて、動作検証をしてみる」かなと思っています。

javaSilverの参考書は、章ごとに　試験形式の例題-解説　のセットで構成されています。
その中でも、「次のプログラムを実行した結果で正しいものを選びなさい」という問題も多く出題されているので、実際に自分でコードを書いて動かしてみることで理解を深めることが出来ます。
![71GnwoYm6PL._SL1500_.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3515041/c22e00e0-21b0-2115-8de7-933d7a7edb4b.jpeg)

私はpaizaが提供している[ブラウザでプログラミング・実行ができる「オンライン実行環境」| paiza.IO](https://paiza.io/ja)を活用していました。

paiza.IOは、オンラインですぐにプログラミングが始められる、 オンライン実行環境です。
画像のように、コードを打ち込めば実行結果を即座に確認することが出来ます。

![2024-06-30 11_20_35-Clipboard.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3515041/16cd2071-97b8-a790-7b06-47ae1a94d0f4.png)

- 詰まった箇所について、ネット記事での解説を見て回る
- javaを自分より理解してそうな人に聞く
- 実際に解説文に書いてあるコードを書いて、動作検証をしてみる

「わからない箇所を理解しながら2週目を読む --2週間目～1か月半目」では、わからない箇所を理解しながら読み進めることを意識し、最終的に
**各章にある問題と、その回答理由を説明することがある程度出来るようになっている**状態になっていればＯＫです！

## ③問題をひたすら解く 1か月半目～試験当日

最後の学習ステップですが、タイトルの通り、黒本の問題を解きまくります！

第1章から第12章までにある例題＋第13章第14章の総まとめ問題を、問題を見ただけで80%以上正解出来るように（100%まで解けるようになればより確実な合格が狙えます！）
**問題を解く→解説を読んで理解する→問題を解く**
を繰り返します。

java Silverは、出題数が80問で、そのうち63%の正答率が合格ラインになっています。

私が試験を実際に試験を受けた肌感覚ですが
実際の試験問題の半分以上、なんなら60%ほどは黒本とほぼ同じような問題でした。

そのため、
- 黒本に出題されている例題を完璧になるまで解きまくる
- 応用的な問題に対応するために、黒本にある例題について、「なぜこの回答になるのか」を理解する

この2点をとにかく問題を解きまくる過程で出来れば、確実に合格できます！

# 合格のための結論

1. 黒本を、理解していない箇所は一旦飛ばしつつまずは1周読む　
1. わからない箇所を理解しながら2週目を読む 
1. 問題をひたすら解く 

その中でも、
- 黒本に掲載されている例題を完璧に解けるようになるまで繰り返す
- 例題の回答について、「なぜこの回答になるのか」の理解にとことん拘る

以上のことをすれば、未経験の方でも合格することが可能です！！
これからjava Silverの合格を目指している方、今現在目指している方の助けになれば幸いです。

最後まで読んでいただきありがとうございました！