【Java】if文の仕組み。(if分の条件式はboolean型です)

Java

みなさんこんにちは。
Numata です。

今回はif 文の仕組みについて解説します。

※組み立て方法、使い所、条件式を作る時の注意点を解説する
初心者向けの記事です。

if文はそんなに複雑な文法ではないです。
条件式の組み立てに注意点がありますが、それ以外は覚えてしまえば比較的簡単です。

最初に正しく理解しちゃいましょう!

それではいってみましょう!

if文とは?

if文とは、処理を分岐させたい時に用いる文法です。

プログラミングの基本概念として、処理は上から下、左から右の順で実行されます。

システムを組む上で必ず出てくる考え方は、
「この時はこうしてほしい」「この時はあれをしてほしい」
というような、場合分けです。

そんな時使う文法がif文です。
if文は、条件を指定し、条件に当てはまるとき、処理を実行する
ことができます。

つまり、処理を分岐させることができます。

このif文を使うことにより、例えば、

年齢が20歳未満だったら注意書きを出す
購入数によって割引をする
といった処理を作成することができます。

if 文の作り方

if (条件式) {実行したい処理}

if 文は大きく3ブロックで構成されています。
①:if
②:(条件式)
③:{実行したい処理}

それぞれに意味があるので、必ず書くようにしましょう。

ありがちなミスは、
if (条件式) ; {処理}
という風に、②と③の間にセミコロン ; を入れてしまうミスです。

確かにセミコロンは、文が終わった時に必ず書く記号ですが、
②と③の間には記入しません。

セミコロンが入ると、if文が終了したと判定されてしまいます。
処理を行うまでがif文のワンセットのため、セミコロンは記入しません!

使い方

まずは例文を見てみましょう。

8行目からif文が使われています。

条件式は age < 20 です。
変数 age に入っている数字が、20未満という条件式になります。
この条件式に当てはまるとき、処理が実行されます。
処理は {} で囲まれている範囲に書かれているプログラムです。

もう一つ例文を見てみましょう。

14行目からif文が使われています。

条件式は apple + orange >= 5 です。
条件式の()内では、計算も行うことができます。
今回は、apple + orange の計算結果が 5以上という条件式ですね。
このように、条件式を書く()内には、計算式も書くことができます。

条件式はboolean型です

条件式を書く上で、意識する必要があるのが、

条件式はboolean型で判定されるということです。

一つ目のプログラム

条件式は、age < 20 です。
age には18が代入されているので、18 < 20 になります。

Javaは、この 18 < 20 という式が、true か false かを判定しています。

今回であれば、true です。18 < 20 という式自体があっていますよね。

age に30が代入されていた場合、
30 < 20 になります。

この式はfalse です。30 < 20 という式は間違っています。

if 文は、条件式の結果がtrue の時、処理が実行されます。

つまり、条件式の中身は、boolean型で判定さえできれば、どのような式でも書けます。

二つ目のプログラム

条件式は、apple + orange >= 5 です。
apple には3、orange には3が代入されているので、3 + 3 >= 5 になります。

Javaは、 3 + 3 >= 5 という式が、true か false かを判定します。

今回であれば、true です。計算結果の6 >= 5 という式自体があっていますよね。

このように、条件式の中で計算式を書いても、
その結果がboolean型で判定できる式なら問題ありません。

大切なのは、式の結果があっているかどうかという観点を持つことです。

最初の内はあまり使わない考え方ですが、
学習が進むにつれ、boolean型で判定されるという考え方を持っているか否かで
差が出るところですので、ぜひこの際に覚えちゃってください。

条件式の見方を、
「式の結果がtrue or falseの時」
という風にしてほしいのです。

個人的に覚えてほしくない見方が
「ageが20未満の時」「3+3が5以上の時」
という見方です。

条件式を後者の見方で作成する癖がついてしまうと、
数字以外を条件判定に使う際に混乱して、ロジックが追えなくなってしまいます。

if 文は基礎中の基礎で、頻出する文法です

いかがでしたでしょうか。
if 文は基礎の文法ですが、めちゃくちゃ使います。

作り方自体は簡単だとは思います。

条件式は、計算結果がboolean型

これをしっかり覚えておけば問題ないでしょう!

ご覧いただき、ありがとうございました。

コメント

タイトルとURLをコピーしました