分岐のプログラム その5 [Java]
前回はifの条件式()内でequalsを使って、文字列の比較を行うことについて説明しました。
前回までは条件式の部分をさまざまに変化させて説明してきましたが、今回は少し発展させて3つ以上の分岐について説明していきたいと思います。
前回まで説明してきた2つの分岐は、条件が1つあり、それを満たすかどうかでその後の実行結果が2つに分かれるというものでした。
例えば、
眠いなら、「二度寝してください。」、そうでないなら、「おはようございます。」
と表示させるプログラミングですね。
今回説明するのは、簡単にいうと
天気が晴れなら〜、曇りなら・・・、雨なら…
のように実行結果が3つに分岐するプログラミングです。
それでは実際にソースコードをみていきましょう。
public class Main{
public static void main(String[] args){
System.out.println("明日の天気を予報します。");
int tenki=new java.util.Random().nextInt(3)+1;
if(tenki==1){
System.out.println("晴れ");
}else if(tenki==2){
System.out.println("曇り");
}else{
System.out.println("雨");
}
}
}
実行結果
明日の天気を予報します。
(ランダム生成した整数が1なら)
晴れ
(ランダム生成した整数が2なら)曇り
(ランダム生成した整数がそれ以外なら)雨
条件分岐とは関係ありませんが、久しぶりに「整数をランダム生成するコード」と、演算子がでてきました。
まずはそれについて復習していきます。以下のコードです。
int tenki=new java.util.Random().nextInt(3)+1;
このコードの意味は
0~2までのランダムに生成した整数に1を足したものをint型の整数tenkiに代入する
というものです。簡単にいうと、1~3までの整数をランダムで生成するコードです。
(3)の()内にいれる数字によって、ランダムで生成する数字の個数が変化します。
(3)の場合は3個の整数を生成します。
この時注意が必要なのが、生成されるのが1,2,3ではなく0,1,2ということで0から始まるという点です。
そこで、「+1」とすることで、1,2,3のいずれかの整数を生み出したことになるわけです。
では、本題に戻ります。
3つ以上の分岐ですが、基本形をしっかり押さえていればたいして難しく感じないだろうと思います。
基本形
if(条件式){実行結果①
}else{
実行結果②
}
3つ以上の分岐(今回)
if(条件式①){実行結果①
}else if(条件式②){
実行結果②
}else{
実行結果③
}
2つの式を比較して異なっているのは赤い部分だけですね。
条件が3つ4つ・・・と増えていった場合、赤い部分をその分だけ増やせばいいというわけです。
もし条件①を満たせば実行結果①へ、もし条件②を満たせば実行結果②へ、もし条件③を満たせば実行結果③へ、もし条件④を満たせば実行結果④へ、・・・、それ以外の場合は〜。
といった感じですね。
ただ、条件が増えれば増えるほど、コードが長くなり、スッキリしません。
次回は、コードが長くなった時にスッキリとさせるために使う「switch」を使った分岐について説明していきます。
コメント 0