黒本スタート!まずはJavaの基本文法と型を整理
Java Silver SE17(試験番号:1Z0-825)の資格取得を目指して、黒本(『徹底攻略 Java SE 17 Silver 問題集[1Z0-825]対応』)を使って学習を進めていきます。
「Javaの基本文法と型を整理しておきたい」これらに関しては今までの学習でも何度も出てきた内容です。
「黒本で学ぶのが一番」という情報を大切に、黒本の問題を一つずつ解きながら理解を深めていくスタイルで進めていきます。
📘今回の学習範囲
- 基本文法(変数宣言、演算子、制御構文)
- プリミティブ型と参照型
- 型変換(暗黙的・明示的)
-
var
の使い方と制限
🧠気づきと「なぜそうなるのか?」メモ
① var
は型推論だけど万能じゃない
var x = 10; // OK
var y; // コンパイルエラー
なぜ?
-
var
右辺から型を推論するため、初期化なしでは型が決まらずエラーになる - 「型推論 ≠ 型省略」という点が重要
② byte + byte
は int
になる
byte a = 10;
byte b = 20;
byte c = a + b; // コンパイルエラー
なぜ?
- Javaでは算術演算の結果は最低でも
int
型になるため、byte + byte
の結果はint
-
byte
に代入するにはキャストが必要
byte c = (byte)(a + b);
③ ==
と .equals()
の違い
String s1 = "hello";
String s2 = new String("hello");
System.out.println(s1 == s2); // false
System.out.println(s1.equals(s2)); // true
なぜ?
-
==
は参照の比較、.equals()
は値の比較 -
new String()
で生成されたオブジェクトは異なる参照を持つため、==
はfalse
になる
🔍 黒本でつまずいた問題と補足
int x = 5;
System.out.println(x++ + ++x);
一瞬どっちが先か混乱
x++
は後置なので5、++x
は前置なので6となり、出力結果は 5 + 6 = 11
となる
演算子の優先順位と評価順はSilver試験でも頻繁に出題されているので慣れて置くようにする
🛠 今後の学習メモ
- 制御構文(if, switch, for, while)の細かい挙動
- 配列とコレクションの違い
- 黒本の章末問題で理解度チェック
✍️ まとめ
黒本を進める中で、「なんとなく分かった」では済まされない部分が多く、
一つひとつの挙動に理由があることを実感しています。
今後も「なぜそうなるのか?」を軸に、理解を深めながら学習を進めていきます。
次回は、条件分岐とループ構文について掘り下げていく予定です!