「もし〜だったら・・・」という分岐を行います。どのように使用するのか、しっかり理解していきましょう!
【if構文の基本は3種類】
ifとは、もしもという意味の英単語です。ifを使うことで、与えられた条件の真偽に応じた実行に構文を分岐できます。if文には3種類あります。
1つめはifのみを使って完成する「もし〜ならば〇〇」です。これはyesかnoで分岐するだけのシンプルでわかりやすい構文です。
2つめは、ifともう一つ「そうでなければ」の意味を持つ"else"を使って完成する「もし〜ならば〇〇、そうでなければ△△」というif-else句を使った構文です。
3つめは条件が満たされるまで繰り返し実行するif-else句を複数回使う構文「もし〜ならば〇〇、〜ならば△△、そうでなければ□□、」という複数の分岐を行う構文です。if-else句は何回でも必要な回数繰り返せます。
if文の仕組み
ifという命令を使えば分岐が行えます。では、コードを作成するにあたり、どのような意味、どんな仕組みになっているのでしょうか。以下を参考にしてみてください。
「もしも〜だったら・・・」という条件分岐ができる。
if文では、if直後の()内に分岐の条件を書く。この()内に記述する条件を条件式という。
条件式を書く際、変数の〇〇がtrueかどうかのチェックをするため、関係演算子「==」を使う。※「==」は、左辺と右辺が等しいの意。
分岐条件が成立していたら、条件式である(〇〇==true)直後のブロック{}の中身だけが実行される。
分岐条件が不成立なら、elseの後ろにあるブロック{}の中身だけが実行される。
[条件式] ・・・分岐の条件や繰り返しを続ける条件を示した式
[ブロック]・・・分岐や繰り返しで実行する一連の文の集まり
3種類のif構文
上記で説明したように、if文には3つのバリエーションがあります。もっともポピュラーなものはif-else構文です。さらに、ifのみ構文、if-else if-else構文があります。
・ifのみ構文
if (条件式) { ブロック1 } | | |
例1) 変数xが5だったら・・・変数xは5です。
public class Main {
public static void main(String [] args ) {
int x = 5;
if (x == 5) { // == は左辺と右辺が等しい
System.out.println ("変数xは" + x +"です。");
}
}
}
変数xが5なので、「変数xは5です。」と表示されます。
--------------------------------------------------------------------------------------------------------
・if-else構文
if (条件式) { ブロック1 } else { ブロック2 } | | |
例2)天気が良かったら・・・散歩をします。そうでなければ読書をします。
public class Main{
public static void main(String []args) {
boolean tenki = true;
if(tenki == true) { //boolean型なのでtrueかfalseを代入します。
System.out.println("散歩をします。");
} else { //そうでなければ
System.out.println("読書をします。");
}
}
}
変数tenkiがtrueなので、「散歩をします。」と表示されます。
-------------------------------------------------------------------------------------------------------
・if-else if-else構文
if(条件式1) { ブロック1 }else if (条件式2) { ブロック2 } else if (条件式3) { ・ ・ 条件の数だけ続く・・・ ・ } else { 最終ブロック } | |
※ if-else if-else 構文は複数記述が可能です。ただし、範囲はif ブロックより後ろ、elseブロックより前までとなります。最後のelseブロックは中身が空の場合、elseごと省略可能です。
例3) テスト結果が90点以上だったらA判定、80点以上だったらB判定、70点以上だったらC判定、60点以上だったらD判定、それ以下はE判定です。
public class Main {
public static void main(String [] args) {
int score = 70;
if (score >= 90) {
System.out.println(score + "点なので、A判定です。");
}else if (score >= 80) {
System.out.println(score + "点なので、B判定です。");
}else if (score >= 70) { // >=なので70も入ります。
System.out.println(score + "点なので、C判定です。");
}else if (score >=60) {
System.out.println(score + "点なので、D判定です。");
}else {
System.out.println("E判定です。");
}
}
}
変数scoreが70に設定されているので「70点なので、C判定です。」と表示されます。
【まとめ】
第6章ではif構文について解説しました。ifの使い方を覚えて、いろんなバリエーションのコードを作成してみてくださいね!「もしも〜」の文章をたくさん考えて、いろんな分岐、繰り返しのコードを書いてみると徐々に飲み込めてくるのでおすすめです。
Comments