13
3

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

【ポケモン×Java】知識編 if文#2 〜if文を完全攻略!-特殊記法-〜

Posted at

はじめに

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))と typenull でも安全。

🎓 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;
}

あとがき

ここまで読んでくれて、本当にありがとうございました。

「プログラミングって難しい…」って思ってた人も、
「ちょっと楽しいかも…!」って思ってもらえたらうれしいな。

次の投稿も、よろしくおねがいします。

💬 コメント・フィードバック歓迎!

「この章わかりやすかった!」
「これ表現まちがってない?」
「次は○○をやってほしい!」などなど、
お気軽にコメントで教えてくださいね!


13
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
13
3

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?