if文はどのような時に使われるのかを日常生活の場面で説明します。
例えば、もし、今日財布にお金が10000円あったらフランス料理にして、20000円あったら中華料理にするなどの選択を繰り返して人は生きていますが、プログラムでもこのような表現ができるのです。
このように条件によって表現を変えることを条件分岐と言います。 ifは英語と同じでという意味です。
「条件式」には下の表のように比較演算子を使ってなどをやのような記号を使って表現します。
条件式は条件を満たしていればTRUEを返し、条件を満たしていないならばFALSEを返します。そして、TRUEの時にブロックの中の文が実行されます。
TRUEは真、FALSEは偽とも言いますが、何がTRUEもしくはFALSEなのかを次の例で説明します。 条件式には比較演算子のを使用していますが、5は2より大きいですので、条件を満たしていると考えるのです。
これがTRUEです。TRUEですので、が実行されます。
では以下のif文は条件を満たしているでしょうか? 2は5より大きくないので条件を満たしていません。
これがFALSEです。
FALSEの場合は、if文は実行されません。
つまり、ブロック内が何も実行されないので画面には何も表示されません。
では比較演算子の中からいくつか例に取って説明します。 比較演算子の「===」は$a が $b に等しいと同時に同じ型である場合に TRUE と言う意味です。
変数の型については説明しましたが例1は$aも$bも同じ値で、同じ整数型なのでTRUEです。
例 2は$aは文字列型、$bは整数型なのでFALSEです。
このようには値と型が一致しないとTRUEになりません。
比較演算子の「==」は値だけが一致していればif文を実行します。
例2の条件式の箇所をで書き換えますと、TRUEになります。
「==」の場合には値だけが一致していれば型が一致しなくてもTRUEになります。
これまでのif文ではprint文が少し右にずれているのが分かるでしょうか?
この手法はインデントと呼ばれていますが、プログラムを見やすくするために左側にスペースを入れています。
インデントには半角スペースかTABキーを使います。全角のスペースを入れるとエラーになりますので気を付けてください。
カテゴリー