if-else文を使ってみよう
9.4 if-else文を使ってみよう
前節では「もし○○○ならば×××する」という単純な条件分岐を処理する「if文」について学習しました。本節ではif文を少し発展させ、「もし○○○ならば×××する。そうでなければ△△△する。」というような、条件を満たさなかった場合にも何か別の処理を行わせる「if-else(イフ・エルス)文」について学習していきましょう。
9.4.1 if-else文の使い方
if-else文は、指定した条件式を満たす場合にifブロック内の処理を行い、満たさない場合はelseブロックの処理を行うことになります。
書式:if-else文
if-else文の処理の流れをフローチャートで表すと以下の図9.4.1になります。
図 9.4.1 if-else文のフローチャート
◉ポイント・ 条件に合わない場合にも何か別の処理を行わせたい場合にはif-else文を使う。
if-else文を利用して条件に応じた処理を行わせるプログラム
if-else文は二者選択時に用いられます。ここではif-else文を利用して、変数の値で条件を満たす場合と満たさない場合でどのような処理が行われるかをWebブラウザにメッセージを表示して確認してみましょう。
ソース・フォルダ:myproj_super_intro/ch09
ファイル名 :ifStatement2.php
アクセスURL :http://localhost/myproj_super_intro/ch09/ifStatement2.php
➢ ifStatement2.java
<html> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> </head> <body> <?php $age = 20; //$age = 19; //年齢が20歳以上か判定する if($age >= 20){ echo $age , "歳は成人です。"; } else{ echo $age , "歳はまだ未成年です。"; } ?> </body> </html>
実行結果
$age=20で実行した場合(ifブロック処理)
$age=19で実行した場合(elseブロック処理)
解説
このプログラムは、if文にelseブロックが追加されています。それによって、変数$ageの値がifブロックの条件式を満たさない場合にもメッセージが表示されるようになっています。
7行目で変数$ageの値に20を設定し、8行目は$ageの値に19を設定する処理を記述していますが、これはコメント化しています。
if-else文のifブロックの処理を行わせたいときはそのまま実行し、elseブロックの処理を行いたい時は8行目のコメントを外して実行させます。
10~16行目がif-else文です。$ageの値が20以上の場合にifブロックの処理で「XX歳以上は成人です。」と画面にメッセージを出力します。$ageの値が20以上ではない場合、elseブロックの処理で「XX歳はまだ未成年です。」と画面にメッセージを出力します。
図 9.4.2 if-else各ブロックを通った際のフローチャート
2つの実行結果から、変数$ageの値が20以上であればifブロックの処理を行い、そうでなければ(20より小さければ)elseブロックの処理を行うことが確認できました。
このように、if文にelse文の記述を加えた「if-else文」は、条件式を満たした場合とそうでなかった場合で別々の処理を行わせることができます。else文は必ずしも必要ではありませんので、行いたい処理によって追加してください。
次の節ではさらに発展させたif-elseif-else文について学習していきます。