はじめに
if文は“〜なら〜する”。基本はそれで十分。
でも、ちょっとだけ知っておくと実務で便利な書き方がある。
ここでは、やさしい範囲で特殊記法と落とし穴を紹介するね。
🎓 1) 条件演算子(? :
)—— if のひとこと版
String message = (hp <= 0) ? "バトル終了" : "つづく";
- 式として値を返すときに便利。表示や副作用は避けて、値の選択に使うのがコツ。
- ネスト禁止(読みづらくなる)。入れ子になったら素直に if に戻そう。
🎓 2) 短絡評価(&&
/ ||
)で安全に書く
if (target != null && target.isFainted()) {
endBattle();
}
- 左が
false
なら右は評価されない(短絡評価)。 - 副作用のあるメソッドを条件に入れないほうが安全だ。
🎓 3) 文字列の比較
if ("FIRE".equals(type)) {
boostFire();
}
-
==
は参照の比較。文字列はequals
を使う。 -
定数を左に置く(
"FIRE".equals(type)
)とtype
がnull
でも安全。
🎓 4) 1行 if(中括弧省略)について
if (debug) System.out.println("log"); // 文法的にはOK
if (debug){
System.out.println("log"); // こっちの書き方の方が、可読性が良い
}
- 便利だけど、基本は中括弧
{}
を付けるのを推奨。
将来1行が2行になったときの事故を防げる。
⚡ ピカチュウ例:
// 1) 条件演算子でメッセージ選択
String msg = (hp <= 0) ? "バトル終了" : "つづく";
System.out.println(msg);
// 2) 短絡評価で null 安全
Pokemon target = findTarget();
if (target != null && target.isFainted()) {
endBattle();
}
// 3) 文字列の比較は equals
String defenderType = getType();
// 電気わざが「ばつぐん」になる相手だけ2倍
if ("WATER".equals(defenderType) || "FLYING".equals(defenderType)) {
damage *= 2;
}
あとがき
ここまで読んでくれて、本当にありがとうございました。
「プログラミングって難しい…」って思ってた人も、
「ちょっと楽しいかも…!」って思ってもらえたらうれしいな。
次の投稿も、よろしくおねがいします。
💬 コメント・フィードバック歓迎!
「この章わかりやすかった!」
「これ表現まちがってない?」
「次は○○をやってほしい!」などなど、
お気軽にコメントで教えてくださいね!