プログラミングの用語一覧へ
このページの目次
プログラミング初級図解あり

条件分岐とは?

読み方:じょうけんぶんき

最終更新:2026/08/18

3秒でわかる

条件が成り立つかどうかで実行する処理を切り替える仕組み。入力や状態に応じて動きを変える、プログラムの分かれ道にあたります。

30秒図解

条件分岐は送料を金額と会員かどうかで上から判定し、0、200、500の最初に当てはまる枝を返す
条件の順番が結果を決めます。最初の枝に入ったら、それより下の枝は試しません。

もう少し詳しく

どういうものか

条件分岐は、真か偽かを返す式を評価し、その結果によって実行するコードを選ぶ構文です。多くの言語では if で始まり、条件を追加する else if (Python では elif)、どれにも当てはまらない場合の else が続きます。選択肢が値の一致で決まるときは switchmatch を使う言語もあります。

条件に書く式は、比較演算子で作った真偽値のほか、andornot で組み合わせられます。

なぜ必要か

上から下へ流れるだけのプログラムは、毎回まったく同じ結果しか出せません。入力された年齢で料金を変える、在庫が0なら購入ボタンを隠す、といった判断はすべて条件分岐で表現します。エラー処理も同じで、想定外の値が来たときに別の道へ進ませる仕組みがないと、そのまま壊れた結果を返してしまいます。

具体例

購入金額から送料を決める処理です。

def shipping_fee(total, is_member): if total >= 5000: return 0 elif is_member and total >= 3000: return 200 else: return 500 print(shipping_fee(6000, False)) # 0 print(shipping_fee(3500, True)) # 200 print(shipping_fee(3500, False)) # 500

条件は上から順に試され、最初に当てはまった枝だけが実行されます。

つまずきやすいところ

比較の == と代入の = の取り違えは、いまだに最頻出のミスです。Python では if x = 5 は文法エラーになりますが、C や JavaScript では意図せず動いてしまう書き方が残っています。

条件の順序も落とし穴です。上の例で total >= 3000 の枝を先に書くと、6000円の買い物でも200円が返ります。範囲を判定するときは、狭い条件から先に置きます。

そして最も見つけにくいのが、小数の比較です。0.1 + 0.2 == 0.3 は多くの言語で偽になります。浮動小数点は2進数で表せない値を近似しているためで、金額のような正確さが要る場面では整数の円単位で扱うか、誤差を許容する比較にします。

似た用語との違い

三項演算子は、値を選ぶだけの短い分岐を1行で書く記法です。fee = 0 if total >= 5000 else 500 のように、代入の右側に置けます。処理が複数行になるなら if 文のほうが読みやすく、無理に1行へ詰める意味はありません。

次に学ぶ

ループとは?

知識のつながり

サイドバーと同じ推奨ルート・関連語を、まとめて確認できます。

現在地条件分岐プログラミング

LEARN BY DOING

この用語を、教材で使ってみる

直接関連する編と、その編を含むコースです。用語だけで終わらず、ブラウザ上で実際に手を動かせます。

この用語を扱うコース

コース

Python入門:基礎文法編

74レッスン
コース

JavaScript入門:コードを動かす

23レッスン
コース

Java入門:基礎文法編

69レッスン
Pythonコースの全編を見る