【Java】if文を使って条件分岐を行う!サンプルコードを使って解説!

条件分岐はプログラミングで最も重要な制御で、この制御がないものは見たことがありません。

if文を使うことによって、Webサイトの表示を切り替えたり、複数のデータの中から特定のデータのみ処理を実施したり、エラー画面を表示させたり、現在の時刻に応じて画面の表示を切り替えるなど、プログラムの機能に幅を広げることができます。

今回はif文を使って以下のパターンで条件分岐を行います。
⚫︎ ifのみを使用して条件分岐を行う場合
⚫︎ if elseを使用して条件分岐を行う場合
⚫︎ else ifを使用して条件分岐を行う場合

条件分岐とは

条件分岐とは条件式によって処理が分岐することです。
ある条件を指定すると、実行時にこれを判断し、条件が満たされている場合に実行するコードと、満たされていない場合に実行するコードに分岐させることができます。

例えば、パソコンでもデータを読み取ると、読み取ったデータを表示しますが、読み取れなかった場合はエラーを表示します。

if文とは

if文とは条件の結果によって処理の内容が変化します。
条件式はブール値で判断され、ブール値がtrue場合、処理が実行され、falasだった場合、処理をスルーします。

ifの書き方

ifの構文は下記となります。

条件式がtrueだった場合、if内(括弧内)の処理が実行されます。
条件式がfalseだった場合、if内の処理は実行されずスキップされます。

if elseの書き方

続いて、if elseの構文は下記となります。

条件式がtrueだった場合、if内の処理が実行されますが、条件式がfalseだった場合、else内の処理が実行されます。

else ifの書き方

また、else ifの構文は下記となります。

条件式1がtrueだった場合、if内の処理が実行されますが、条件式1がfalseで条件式2がtrueだった場合else if内の処理が実行されます。
そして、条件式2がfalseだった場合else内の処理が実行されます。

if文を使ったサンプルコード

ifのみを使用して条件分岐を行う場合

出力結果

数値は正です。処理を終了します。

ここで条件式はnumberは0より大きい(number > 0)となってます。
numberの値は10である為、条件式はtrueとなります。
したがって、if文の括弧内の処理が実行されます。

if elseを使用して条件分岐を行う場合

出力結果

数値は負です。

numberは0より大きい(number > 0)かどうかを確認していますが、numberは-4です。
したがって、条件式はfalseとなり、elseの括弧内の処理が実行されます。

else ifを使用して条件分岐を行う場合

出力結果

数値は0です。

ここには、2つの条件式があります。
numberは0より大きい(number > 0)かどうかを確認します。
numberは0よりも小さい(number < 0)かどうかを確認します。 ここで、numberは0です。 したがって、両方の条件式はfalseとなり、elseの括弧内の処理が実行されます。

if文での注意点

ネストにしすぎない

ifの中にif文を書くことで多重の条件処理になることを「ネスト」といいます。
多重の条件処理になるのは構いませんが、多重にしすぎるとどこの処理なのかが分かりにくくなりますので
なるべく多重の条件処理は避けるようにしましょう。

出力結果

aは50と100の間です。

今回は2重の条件処理なのでまだ分かりやすいですが、これが3重、4重になるとコード自体がわかりにくくなります。

ぶら下がり文

「ぶら下がり文」とは処理が1つの場合にブロックを使わずに記述することをといいます。
ただし、ぶら下がり文を使うと、複雑な「if」文であることから勘違いを起こしやすくなるので注音してください。

「c= a + b」の処理が行われるのは a >= 0の場合のように見えますが、a < 0 かつb >= 0の場合となります。

三項演算子で書く場合

三項演算子を使ってif文を書くこともできます。

出力結果

正の数

三項演算子を使ってif文を作成しました。
しかし、三項演算子を用いる場合は、if文と同じようには使えません。
ある値を返したい場合にのみ使うことができますので注意してください。

switch文

if文とは別な書き方で条件分岐を行うことができるswitch文というものがあります。
switch文は多数の条件分岐を行う際に便利なのでこちらも覚えておきましょう。

今回のポイント

if文で条件処理を行う

条件分岐で処理を行うにはif文を使用する

⚫︎ ifのみを使用する場合、ブール値がtrueの場合、処理が実行され、falseの場合、処理をスルーする

⚫︎ if elseを使用する場合、ブール値がtrue場合、ifの括弧内の処理が実行され、falseの場合、elseの括弧内の処理が実行される

⚫︎ else ifを使用する場合、ブール値がtrue場合、ifの括弧内の処理が実行され、falseの場合、esle ifの条件式が判断される
else ifの条件式がtrueの場合、else ifの括弧内の処理が実行され、falseの場合、elseの括弧内の処理が実行される

⚫︎ if文を書く際に、ネストしすぎないようにする

⚫︎ if文は三項演算子を使用して書くことも可能

⚫︎ 多数の条件分岐を行う際にはswitch文を使用する

Writer

ST

株式会社flyhawkのSTです。フライテックメディア事業部でのメディア運営・ライター業務なども担当。愛機はMac Book AirとThinkPad。好きな言語:swift、JS系(Node.js等)。好きなサーバー:AWS。受託開発やプログラミングスクールの運営をしております。ご気軽にお問い合わせください。

最新の案件情報