LoginSignup
6
3

More than 3 years have passed since last update.

Java SE Bronze(1Z0-818)合格体験記

Last updated at Posted at 2020-10-18

はじめに

Qiita初投稿になります。
今年の7月に開発実務未経験による転職を経て大阪の開発会社で働いてます。
本試験は、Javaの知識がどこまで身についているのか目に見える形として証明したかったというのと、Javaの基礎力向上を目的に資格試験にチャレンジしてみたという経緯です。

私のスペック

  • 元インフラ運用屋
  • Java未経験(もちろん開発実務も経験ありません)
  • 少しPHP触ったことがある

申込み注意点

  • 申込みの手順がかなり複雑
  • 試験名に注意
    はじめに、"申込みの手順がかなり複雑"については、私が解説するよりも既にわかりやすい記事がありますので、こちらの記事を参照ください。
    こちらの記事も試験を受ける上で大変参考になりましたので、共有致します。

    続いて、"試験名に注意"に関してですが、既にご存知の方は大丈夫なのですが、「Java SE 7/8 Bronze(1Z0-814)」という試験は今年(2020年)の7/31に配信を終了しています。こちらのリンクから辿って頂けると確認できると思います。
    後継版の試験名は「Java SE Bronze(1Z0-818)」なので、ご注意を。ピアソンVUEの検索窓にて1Z0-818だけでも検索でヒットします

期間(学習時間)

  • 2週間程度
  • 平日6~9時間(その他業務もあり、多少のばらつきがあります)
  • 休日5時間程度
  • 合計:80時間~110時間程度
    私の良くないところで、時間がある分怠けてしまいがちです。期限が迫ってきてようやく焦るようなダメ人間です。何事もはじめに期間を決めると良いかもしれませんね(自戒)
    私からアドバイスとしては、平日も休日も一定の学習時間を確保できるのであれば、本試験は2週間(デキル方なら1週間みっちり)で十分です。
    貴方が設定した期間から逆算して毎日コツコツ学習していきましょう!

学習方法

  • 参考書(紫本)
  • 苦手分野をググって理解できるまで学習(Qiitaの記事など)
  • 実際にコードを書いてデバッガ置いて処理を追う
    上記3点のみです。
    紫本を合計3周ほどしましたが、2周くらいに留めておいてネットでも違う書籍でも良いので、まだ解いたことのない問題を解くべきでした。
    また、私の場合"オーバーロード・オーバーライド"や"for文のネスト"問題に苦戦していたので、問題に躓く度にググって、実際にコードを書いてデバッグしてプログラムの流れを理解するようにしていました。

直前チェック

  • JVM
    クラスファイルを読み込む
    クラスファイル内に書かれたバイトコードを解釈して実行(クラスファイルを実行すること)
    メモリ管理

  • 識別子
    識別子(変数、メソッド、クラスなど、、)の1文字目は、英字(a~z, A~Z), ($), (_)のみ
    2文字以降は数字も可能
    文字数の制限はない

  • char型
    char型はUnicode(16ビット)で表現できる1文字であり、文字列と区別される
    char型は符号なし整数(1とか5とか)を扱うことができる
    char型にUnicode値を格納する場合は、シングルクォート(')で囲む
    ダブルクォート(")で囲んだ場合は文字列となる

  • 基本データ型のデフォルト値
    整数値:0
    浮動小数点型:0.0
    boolean型:false
    char型:¥u0000
    参照型:null

  • if文
    if文では、処理する文が1行しかない場合、{}を省略してもよい
    しかし、2行以上の処理を記述した場合は、条件式の結果に関係なく実行される

  • switch文
    switch文の式の結果は、データ型として, short, int, enum, char, Stringのいずれかの値である必要がある(問題のはじめに確認する方が良さそう)

  • while文
    while(false) と記述するとコンパイルエラーになる

  • 拡張for文
    変数宣言と参照変数名の変数のデータ型は合わせないとコンパイルエラーになる
    変数宣言はfor文の中で宣言する必要がある。外で宣言するとコンパイルエラーになる

  • コンストラクタ
    コンストラクタ名はクラス名と同じ
    すべてのアクセス修飾子を指定できる
    戻り値, void, abstract, static, finalは指定不可
    戻り値を指定するとコンストラクタではなくメソッドになるので注意
    サブクラスに引き継がれない

  • メンバ
    インスタンスメンバはクラスがインスタンス化されると、格オブジェクトの中に個々の領域が確保される
    staticメンバは複数インスタンス化されても一箇所で領域が確保される

  • メンバ間アクセス
    インスタンスメンバ -> staticメンバに直接アクセスはOK
    staticメンバ -> インスタンスメンバに直接アクセスはNG
    staticでアクセス場合は、インスタンス化する必要がある

  • アクセス修飾子・修飾子
    publicおよびデフォルト:クラスコンストラクタ変数メソッド
    protectedおよびprivate:コンストラクタ変数メソッド抽象メソッドには使用不可サブクラスでオーバーライドするため。)
    ローカル変数や制御文(if, for):アクセス修飾子は指定できない
    abstract修飾子:コンストラクタ変数には使用不可
    static修飾子:変数メソッドのみ

  • final修飾子
    変数 -> 定数
    メソッド -> サブクラス側でオーバーライドできなくなる
    クラス -> 継承不可になる
    コンストラクタ -> 使用できない

  • publicなクラス
    publicクラスは1ファイルにつき1つ
    publicクラスを定義した場合、ファイル名も同じにする

  • オーバーロード
    メソッド名(コンストラクタ名)が同じ
    引数の並び, 引数の型, 引数の数が異なることが条件

  • オーバーライド
    シグネチャ(メソッド名と引数リスト)が同じ
    戻り値は同じか、その戻り値の型のサブクラスであればオーバーライドとみなされる
    アクセス修飾子は、スーパークラスと同じか、それよりも公開範囲が広いものでなければならない
    インスタンスメソッド(非staticメソッド)をstaticメソッドでオーバーライドすることはできない

  • 継承
    サブクラスで引き継ぐことができるのは変数, メソッド
    コンストラクタは引き継がれない
    Java言語は単一継承のみをサポートしているため、extendsキーワードの後に指定できるクラスは一つのみ
    継承関係のあるクラス(サブクラス)をインスタンス化すると必ずスーパークラスのコンストラクタから実行してサブクラスのコンストラクタが実行される
    サブクラス側で明示的に呼び出したいコンストラクタを指定しないと、暗黙的にスーパークラスの引数を持たないコンストラクタがsuper()で呼び出されてしまう

  • 抽象クラス
    抽象クラスを継承した抽象クラスはスーパークラスで定義されている抽象メソッドを実装(オーバーライド)しなくてもエラーにならない。しかし、継承先が具象クラスであれば実装する必要がある
    インスタンス化できない

  • インタフェース
    インタフェース内で変数を宣言する際は、staticな定数public static finalになるため宣言と同時に初期化する必要がある
    インタフェースを実装する際の抽象メソッドのオーバーライドには必ずpublicをつける必要がある
    extendsとimplementsを併用する際は、extendsを先に記述する
    抽象メソッドにstatic修飾子は付けられない

  • パッケージ
    パッケージ名を階層化する場合は、階層名をドット< . >で区切る

  • パッケージ・コンパイル・実行
    パッケージ内にあるソースファイルをコンパイルする際はバックスラッシュ< \ >繋ぎになる
    実行する際はドット繋ぎになる

  • パッケージ・public
    自分が所属するパッケージ以外のクラスに自クラスの利用を許可するためには、許可するクラス名とメソッド名にpublicを付ける

最後に一言

何とかここまで執筆できたことに安心しております。
執筆中に試験の事や、資格学習について思い返すことが何点かあったので最後にそれをお伝えして終了させて頂きます。

まず資格学習についてですが、
参考書を何周もして問題に慣れることも大切ですが、”問題を1分以下(理想は50秒)”で解けるようになっておくことの方が大切だと感じました(試験では1問1分ペースを要求されるので)。また、他の方も仰っているように”オーバーロード・オーバーライド”問題の理解度が合否に直結すると言っても過言ではありません。

試験本番についてですが、
本番は思っている以上に緊張感がエグいので、文章の読解力が普段よりも格段に落ちます(私は初めの5分くらいは緊張のあまり頭が回りませんでした(笑))そのため、緊張するなと言う方が難しいですが、なるべくリラックスして試験に望んでください。

以上になります。
次はJava Silverですね。

6
3
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
6
3