Javaのif文の書き方とは?条件分岐を初心者向けに地方フルリモートエンジニアが実務視点で解説

Java基礎

プログラミングを学び始めると、必ずと言っていいほど最初に出会う「壁」であり、かつ最も重要な構文の一つが「条件分岐(if文)」です。Javaにおけるif文は、プログラムに「判断」をさせるための仕組み。この記事では、if文の基本から現場で本当に役立つ実践テクニックまで、体験談を交えて分かりやすく解説します。

生徒
「もし〜だったら」という処理を作りたいのですが、if文ってどう書けばいいんですか?
先生
その通り!if文はプログラムに意思を持たせるための魔法だよ。まずは基本の型からマスターしていこう。

Java if文とは何か?初心者が知っておくべき基本概念

if文とは、指定した条件がtrue(真)の場合にのみ、特定の処理を実行する条件分岐の構文です。日常生活でも「もし雨が降っていたら(条件)、傘を持つ(処理)」という判断をしますが、それをプログラムで表現したものがif文です。

if文の基本構造を理解しよう

Javaでのif文の基本は非常にシンプルです。

if (条件式) {
    // 条件が正しい(true)ときに動く処理
}

条件式には、結果が truefalse になる式を入れます。変数の値を比較したり、状態を確認したりするのが一般的です。

運営者
現場では、if文一つでシステムの動作がガラリと変わることも珍しくありません。特に決済システムなどで「残高が足りているか?」といった判定にif文を使いますが、ここの条件を一つ間違えるだけで大きなトラブルに繋がるため、常に慎重に書く癖をつけています。

変数の使い方については、こちらの記事も併せて読んでおくと理解が深まります。

Javaの変数とは?宣言・初期化の基本を初心者向けに地方フルリモートエンジニアが実務視点で解説
プログラミングを学び始めると、最初に出てくる重要な概念が「変数」です。Javaにおける変数は、データを一時的に保存するための「箱」のようなもの。この記事では、Javaで扱う変数の基本から宣言・初期化の方法まで、初心者の方にもわかりやすく解説...

if文はどう使う?実践的な書き方を詳しく解説

if文は、条件が一つだけの場合だけでなく、複数の条件を使い分けることも可能です。実務でよく使われる3つのパターンを見ていきましょう。

パターン1:単純なif文

「ある条件を満たすときだけ」処理を行いたい場合です。

int score = 85;
if (score >= 80) {
    System.out.println("優秀です!");
}

このコードでは、変数scoreが80以上の場合にのみ「優秀です!」と出力されます。もし79点なら、何も出力されません。

パターン2:if-else文(二者択一)

「条件を満たさない場合」の処理も書きたいときに使います。

int age = 15;
if (age >= 18) {
    System.out.println("成人です");
} else {
    System.out.println("未成年です");
}

条件が false(18歳未満)のとき、必ず else ブロックの処理が実行されます。漏れなく処理を行いたい場合に必須の形です。

運営者
初心者の頃、elseを書かずに「もし〜だったら」という処理だけを並べてしまい、予期せぬ挙動に悩まされた失敗がありました。それ以来、「条件に合わなかった時はどう動くべきか?」をセットで考えるようにしています。これがバグを減らす第一歩です。

パターン3:else if文(複数分岐)

「条件Aなら処理1、条件Bなら処理2、それ以外は処理3」のように、細かく分けたい場合です。

int rank = 2;
if (rank == 1) {
    System.out.println("優勝!");
} else if (rank == 2) {
    System.out.println("準優勝!");
} else {
    System.out.println("入賞ならず");
}

上から順番に判定され、最初に true になったブロックだけが実行されます。どれも true にならなければ else が実行されます。

あわせて読みたい:

Javaのelse ifとは?複数条件分岐の書き方・使い方を初心者向けに地方フルリモートエンジニアが実務視点で解説
プログラミングでは、条件に応じて異なる処理を実行する場面が頻繁にあります。if文だけでは2択しかできませんが、実際の開発では3つ以上の選択肢から処理を選びたい場面が多くあります。そんなときに使うのが「else if文」です。この記事では、J...

データ型によって扱える範囲が異なるため、判定する値に合わせて型を選ぶのも重要です。

Javaのデータ型一覧!int・Stringなど基本の型を初心者向けに地方フルリモートエンジニアが実務視点で解説
Javaで変数を使うとき、必ず指定しなければならないのが「データ型」です。データ型は、変数にどんな種類のデータを入れるかを決める重要な要素。この記事では、Javaのデータ型の種類を一覧で紹介し、intやStringなどの基本的な型を初心者向...

現場で役立つ!if文を強力にする「論理演算子」

実務では、一つの条件だけで判断することは少なく、複数の条件を組み合わせることがほとんどです。そこで欠かせないのが論理演算子です。

演算子 意味 具体例
&& かつ (AND) もし18歳以上 かつ 免許あり
|| または (OR) もし平日 または 祝日
! 〜ではない (NOT) もし満席 ではない なら

実務での活用例:複数条件の判定

boolean hasTicket = true;
int age = 20;

// チケットを持っている かつ 18歳以上なら入場可能
if (hasTicket && age >= 18) {
    System.out.println("イベントに入場できます");
}

このように書くことで、複雑な条件を一行でスッキリと表現できます。これは実務で毎日使うテクニックです。

運営者
複雑な条件を書きすぎて、後から読み返した時に「これ結局どういう時にtrueになるんだっけ?」と自分でも分からなくなった経験があります。現場では、あまりにも条件が複雑な場合は一度変数に結果を代入して(boolean canEnter = hasTicket && age >= 18;など)、変数名で意味を持たせるように工夫しています。

注意!よくある勘違いと現場での失敗談

if文自体はシンプルですが、Java特有のルールや「初心者が絶対と言っていいほどハマる罠」がいくつか存在します。

間違い①:文字列の比較を「==」で行う

これが最も多い失敗です。Javaで文字列(String)の内容を比較する際、== を使うと期待通りに動きません。

NG: 文字列を == で比較
  • == は「場所(参照)」を比較してしまいます
  • 入力値によっては「中身は同じなのに一致しない」という怪奇現象が起きます
String s1 = "Java";
if (s1 == "Java") { // たまたま動くこともあるが、基本はNG
    System.out.println("一致");
}
OK: 文字列の比較は equals() を使う
  • 内容を比較する場合は必ず equals() メソッドを使います
String s1 = "Java";
if (s1.equals("Java")) {
    System.out.println("正しく一致します");
}
運営者
この「==」と「equals」の違いを理解していなくて、本番環境でのみ不具合が出るという大トラブルを起こした新人を何人も見てきました。数値(intなど)は ==、オブジェクト(Stringなど)は equals という使い分けは、呪文のように覚えておきましょう。

このあたりの細かい仕組みを知りたい方は、こちらの記事が非常に参考になります。

404: ページが見つかりませんでした | わかるプログラミング講座
ステップアップしながらプログラミングについて学習することを目的としたブログです。

間違い②:セミコロンの打ちすぎ

これも初心者あるあるです。if文の条件の直後に ; を打ってしまうミスです。

NG: if文の直後にセミコロン
if (score > 60); { // ここにセミコロンがあると...
    System.out.println("合格"); // 条件に関係なく、常に実行されます
}

セミコロンを打つと「ここで文が終わる」という意味になるため、if文の効果が消えてしまいます。コードを見直す際に、意外と見落としがちなポイントです。

まとめ:if文を使いこなして自由なプログラムを

Javaのif文は、単なる文法以上の意味を持っています。それはプログラムが自ら判断し、人間に代わって複雑な処理をこなすための「心臓部」のような存在です。

この記事のポイント

  • if文は「条件が正しい時だけ」処理を動かす魔法
  • else, else if を使って複数の道筋を用意できる
  • 複雑な判断には &&(かつ) や ||(または) を活用する
  • 文字列の比較は絶対に equals() を使うこと
  • 現場では「条件漏れがないか?」を常に意識する
運営者
6年エンジニアをやっていても、if文を使わない日は一日たりともありません。基礎中の基礎ですが、ここを極めることが「読みやすくバグのないコード」への最短距離です。ぜひ、実際に手を動かして様々な条件分岐を試してみてくださいね。

次は、同じく条件分岐でよく比較される「switch文」についても学んでおくと、より表現の幅が広がりますよ!

Javaのswitch文の書き方とは?break・defaultの使い方を初心者向けに地方フルリモートエンジニアが実務視点で解説
Javaの学習を進めていくと、「特定の条件によって処理を細かく分けたい」という場面が増えてきます。そんなときに便利なのが「switch文」です。if文でも同じことはできますが、選択肢が多い場合にはswitch文を使うことで、驚くほどコードが...