Oracle-JavaSilver独学合格者の合格直後のメモ書き

javasilverメモ 資格取得
javasilverメモ

Oracle Java 11SE Silverについて

Javaといえば、世の中でも人気のプログラミング言語で、需要も多く、主にサーバークライアント形式のWEBアプリケーション(WEBサービス)に使われてます。スマホのOSのAndroidもjavaで作られています。

Oracleはjavaを管理している会社でDBの会社としても有名です。

Oracleの認定の資格なのでJavaの資格として認知度は高く、何かjavaの資格を取ろうと考えたときにはOracle Javaの資格を取っておくといいと思います。

GoldはSilverに受からないと受験できません。

今回11を受けましたが、バージョンとしては7などもいまだに使われているので、そのあたりは、自分で調べてみてください。

個人的には最新のバージョンを受けたかったので、現在一番最新の11をうけました。

試験の難易度

テキストに合格者のスキルの目安として、上級者の指導の下で実装コードやテストなどが書ける。

とあります。

手取り足取りで教える必要はないが、ある程度サポートがいるレベルのようです。

駆け出しエンジニアでも、テキストで3カ月勉強すれば、ある程度合格できるそうです。

著者のレベル的には

javaの実務経験が3年くらいあって、10年くらいIT業界離れていて、また、戻るために職業訓練でjavaの勉強をし直したレベルです。職業訓練レベルは楽勝というレベルでした。

勉強法

黒本を利用する

黒本といわれる定番の問題集を解いてください。テキストを読み込むより、黒本をやる方がいい理由があります。

それは、問題が結構、意地悪です。

後述しますが、問題のニュアンスや選択肢の配置が結構、間違えやすく作ってあります。出てくるソースコードも癖がつよく、実際は使わないような書き方をしてあったりもします。

そういった癖をつかむために問題を何度も解いてなれる必要があります。

黒本の勉強の仕方は次の通りです。

1.黒本で一通り各項目ごとの問題を解く。

2.黒本の模擬問題ひたすら解く(問題A4回・B3回 計7回解きました。)

最低でも、それぞれが正答率8割を超えるまでやってください。そのくらいに達してないと、まず受からないぐらいの心意気でいてください。


 

3.答え合わせをして間違えたところを、解答や解説を読み調べる。

試験の概要がまとまっている記事を読む

Java基本的な部分(一度読んでおくと参考になります。)

java11

Java Silver 試験対策メモ - Qiita
Java Silver 試験対策メモ 1.Java の基本 package、import 宣言は同一ファイル内の全てのクラスに適用される package 宣言は必ずソースコード先頭(package より前にはコメントの...

java8(11でも全然出る部分がまとめてあります。)

[java] Java SE 8 Silver メモ - Qiita
試験の心得 設問をよく読むこと(正しい、誤りを、3個などは見落とさない) 変数の型、アクセス修飾子は注意深く確認すること 型の不一致やアクセス権限の問題に要注意 java の基本 無名パッケージに属するクラスは無名パ...

11はモジュールやラムダ式がよく、出ます。

特にモジュールは、私が受けたときには機能説明やコマンドなど合わせて4問出ました。ラムダ式は1問でした。いずれも出題率は高いと思います。

ラムダ式は、問題文のソースコードがラムダ式で書いてあったりする場合もあるので、基本構文は理解しておいてください。

Oracle JavaSilver の試験の気を付けるべきポイント

日本語というか問題文や選択肢

一番気を付けるべきは、日本語です。(プログラミング言語のテストですが読解力必要です。)
問題がわざとわかりづらかったりします。
その対策として過去問を解いてなれるのが一番です。

選択肢のひっかけの例

A、コンパイルエラー

B、Aと表示される

みたいな選択肢もあって

コードを読むとAと表示されるので、答えが「Aと表示される」でBを選択しようとしますが、

他の問題が選択しA「Aと表示される」と、素直な校正なので、Bと選ぶところを間違えてAを選んでしまうということがあります。

一問だけイレギュラーで混ぜられると間違えやすいです。

曖昧な問題文

テキストの解説にもわざわざ書いてあるので、わざとわかりにくくしてある問題だと思いますが

クラスA、クラスBがあってクラスBからクラスAはアクセスするにはどうするか。

というような問題が出ることがあります。

インポートしてない場合、インポート文を追加するといった方法でアクセス可能にできますが、それだと間違いになります。

アクセスできるではなくアクセスするなので、完全修飾名でクラスを指定して、インスタンス化してアクセスするといった手段をとる必要があったりします。

こういうあいまいな問題も、テキストで一回経験しておけば本番は気づくこともできますので、テキストのやりこみは大事です。

コンパイルエラーに注意

static、アクセス修飾子、コンストラクタはよく確認して、それが原因でコンパイルエラーの場合があります。アクセス修飾子はメソッドや変数はOKなのにクラスがpublicではないとかもあるので気を付けてください。

暗黙のキャスト、キャストの明示

まず、キャストはコンパイルエラーの時と例外発生のどちらなのかを把握してください。

Integer x=100 ; String str = String(x);のようにサブクラスではないクラスで明治キャストしようとすると、実行時に例外が発生します。

double d=10.0;
int a=d;//ここでコンパイルエラーが発生します。

実際にコードを書いて確かめてみるのが一番だと思います。

ポリモーフィズム

ポリモーフィズムもよく出ます。4問くらい出ました。

ポリモーフィズムの中で親と子どちらで変数宣言され、どちらでインスタンス化されている、その際のフィールドへのアクセス、呼び出せるメソッド、呼び出されるメソッドの内容についてどちらが適用されるかを確認しておくといいでしょう。

Parent p= new Child();//a
Child c= new Child();//b

aはフィールドと呼び出せるメソッドはParent 呼び出したメソッドの中身はChild(Childにない場合はParent)

bはフィールド、メソッドの内容はChild(Childにない場合はParent)です。

変数宣言

thisがあるとき、ないとき
ローカル変数定義があるときないときでどの変数を参照するかを把握する。

ローカル変数がない場合はフィールドの変数を参照。

ローカル変数があるときは、thisがついているものをフィールド、

ついてないものをローカル変数として扱う。

そのため、フィールドをローカル変数は、同じ名前でもいい。

ローカル変数はスコープ内に同名変数は一個。

変数を利用した時に、初期化されていない場合は、コンパイルエラーになるなども、問題でよく出ますので、反復練習しておきましょう。

抽象クラスとインターフェース

インターフェースと抽象クラスについて把握しておく
サブクラスでの実装は、一番下のサブクラスでも実装されていなくて、抽象メソッドにもなっていない場合はコンパイルエラー。

インターフェースは抽象メソッドはpublicのみ、default定義で実装も可能になった。

インターフェースは多重継承ができる部分はクラスと違うので、把握しておく必要があります。

配列

配列の初期化の仕方は一度目を通しておく。(2問くらいはでる。)

オーバーライド、オーバーロード

オーバーライド、オーバーロードの条件の確認
ざっくりいうとオーバーライドは同じ名前、同じ戻り値、同じ引数。オーバーロードは同じ戻り値、同じ名前で引数が違う。※厳密には戻り値などはサブクラスでもいいとかもあったりする。その辺は参考サイトなどを見てください。

continue と break

繰り返しの中でこの二つがよく出てきます。

breakは繰り返しを抜けます。(多重の場合記述のあるループを抜ける)

continueは、continueより下の処理を無視します。ループの自体は次の処理へ移る。

ループ以外でも使います。

基本的には記述してあるブロックを抜けるのがbreak;ブロック内の後ろの処理を飛ばすのがcontinue;

まずはjavaの基本くらいは習得しましょう

試験を受ける前に、javaで基本的なプログラムくらいはかける必要はあると思います。

問題は、普通にソースコードを読み解く必要あるので、javaの基本的なプログラムを理解せずに試験に臨むのは、無謀です。

資格を取って終わりではないでしょうし、取得後のことも考えて職業訓練なりプログラミングスクールなり、独学なりで、学んでください。

javaは有料化されたりしましたが、勉強で使う分にはお金はかかりませんので、頑張ってみてください。

昔、javaを勉強したサイトを載せておきます。環境設定なども載っているので、参考にしてみてください。

Java入門
プログラミング言語である Java を使ってこれからプログラミングを学習しようとする方を対象とした Java 入門です。 Java を使った開発を行うために必要となる JDK のインストール方法や、プログラムの作成と保存、そしてコンパイルと実行まで Java を使った開発手順について解説しています。

少なくとも、Class、メソッド、コンストラクタ、変数、メンバ、インスタンス化、配列、コレクション、インポート文、パッケージ定義、モジュール定義、継承、繰り返し、分岐、アクセス修飾子、final(定数定義)、static変数くらいは書けるようになってからテキストに移りましょう。

余裕があればインターフェースとポリモーフィズムと抽象クラスをやりましょう。

コメント

タイトルとURLをコピーしました