SSブログ

分岐のプログラム その6 [Java]

前回まではifを使った分岐のプログラムについて説明しました。
前回までの内容で、理論上は分岐についてはどんなプログラムでも書けるようになりました。
ですが、実際にプログラムを書くとなるとコードが長くなりすぎて見えにくいなどの欠点が見えてきます。

以下のソースコードを見てください。


public class Main{
 public static void main(String[] args){
  System.out.println("天気予報をします。");
  int tenki=new java.util.Random().nextInt(5)+1;
  if(tenki==1){
   System.out.println("晴れです。");
  }else if(tenki==2){
   System.out.println("曇りです。");
  }else if(tenki==3){
   System.out.println("雨です。");
  }else if(tenki==4){
   System.out.println("雪です。");
  }else{
   System.out.println("霰です。");
  }
 }
}


このプログラムは1〜5までの整数をランダムで生成し、生成された数字が1なら晴れ、2なら曇り…というように画面に表示するプログラムです。

3つ以上の分岐は、else if(){ }の部分を増やして行けば良かったのですね。

今回のように分岐が5つにもなると、コードが長くなってしまいます。
これが10、100…と増えていくと思うとゾッとしますね。

そんな時にコードをすっきりさせることのできる便利なものがあります。
それがswitchです。

switchを使ってコードをスッキリと書き換えたのが以下のものです。


public class Main{
 public static void main(String[] args){
  System.out.println("天気予報をします。");
  int tenki=new java.util.Random().nextInt(5)+1;
  switch(tenki){
   case1:
    System. out.println("晴れです。");
    break;
   case2:
    System.out.println("曇りです。");
    break;
   case3:
    System.out.println("雨です。");
    break;
   case4:
    System.out.println("雪です。");
    break;
   default:
    System.out.println("霰です。");
  }
 }
}


switchの後ろの()に変数を入力します。
そして、その変数に代入された数字が1の場合はcase1へ…といった具合でジャンプします。
break;はコーヒーブレイクなどと言ったりするブレイクと同じで、お休みという意味です。
break文まできたら、switch{ }の大きな括りを抜け出します。

次回はswitch文を使った応用パターンについて説明していきます。

nice!(0)  コメント(0)  トラックバック(0) 

nice! 0

コメント 0

コメントを書く

お名前:
URL:
コメント:
画像認証:
下の画像に表示されている文字を入力してください。

※ブログオーナーが承認したコメントのみ表示されます。

トラックバック 0

この広告は前回の更新から一定期間経過したブログに表示されています。更新すると自動で解除されます。