memo

プログラミング備忘録

【Java】 Bronze勉強中

Javaは実際半年~1年未満くらいは一応触ったのかな?(記憶薄め)というレベルです。しかも一から作ったわけではなく人が作ったものを変更するだけなので、とりわけ知識もよくついていないまま仕事をした記憶があります。(恐ろしい)

なので、記念にBronzeでも取得しようかな、というか基本に戻って勉強しようと思って最近Java Bronzeの本(黒いやつ)を使って勉強しています。

Kindleを使いこなせていないせいか、答え合わせで解説を読みながら問題文を読むときにすぐ移動できず、この点がやや面倒だなと思ったのですが、持ち運びには便利ですし、なぜか勉強のハードルが私の中では大分下がってる感じです。

徹底攻略 Java SE 7/8 Bronze 問題集[1Z0-814]対応

徹底攻略 Java SE 7/8 Bronze 問題集[1Z0-814]対応

  • 作者: 志賀澄人,山岡敏夫,株式会社ソキウス・ジャパン
  • 出版社/メーカー: インプレス
  • 発売日: 2015/06/12
  • メディア: 単行本(ソフトカバー)
  • この商品を含むブログを見る



そして、以下のような問題があるのですが、私は急いで解いていると地味に引っかかるのでむかつく……w

public static void main(String[] args) {
    int a = 12;
    int b = 8;
    if(a >= 10 || b >= 10) {
        a /= 2;
        b += a;
    }else
        a /= 2;
        b += a;
    System.out.println(a + ":" + b);
}

※「徹底攻略 Java SE 7/8 Bronze 問題集[1Z0-814]対応 徹底攻略シリーズ」p.252 より、一部コード抜粋


選択問題でどのように出力されるか、もしくはコンパイルエラーになるか問われる問題で、よく見れば簡単なのにかっこの位置を勘違いして間違ている間違えていることがあってうわあぁと思ってしまいます。
私の場合、実際に書くと以下のようになると思うし、一応こういう方針で書けと昔言われた気がするんですよね。

public static void main(String[] args) {
    int a = 12;
    int b = 8;
    if(a >= 10 || b >= 10) {
        a /= 2;
        b += a;
    }else{
        a /= 2;
    }
    b += a;
    System.out.println(a + ":" + b);
}


System.out.printlnの前でbが計算されているんですけど、最初のコードだとelseのあとの一行しかif分に入ってないのに気づかず……
地味にむかつく点でした。


あと一応、eclipseもインストールしました。
最新は「eclipse Jee 2019-03」という名称なんですかね。
www.eclipse.org


Oracle認定Java Bronze試験は、値段が13600円ですし、一発で合格したいなあと思います。
65分 60問 合格ライン 60%
問題そのものはめちゃくちゃ難しくなくても、私は上記のような早とちり勘違いを多発させそうなので早く解く勉強を総まとめ問題で行っている最中です。