スポンサードリンク
HOME > Java > 条件分岐 - switch

Java - 条件分岐 - switch

条件分岐のif文では、xxxの場合は○○○の処理、zzzの場合は△△△の処理をする。
といったプログラムを作りましたが、
今回は、条件分岐が非常に多い時に重宝するswitch文を説明します。

1〜12と数字を入れると、1月から12月までのそれぞれの英語を表示するプログラムを
作る事にします。

ファイル名:Cmain.java
import java.util.*;

public class Cmain {
   public static void main(String[] args) {
      int a;

      Scanner scan = new Scanner(System.in);

      System.out.printf("月を入力して下さい。(1〜12月)\n");
      a = scan.nextInt();

      switch (a) {
      case 1:
        System.out.printf("January\n");
        break;
      case 2:
        System.out.printf("February\n");
        break;
      case 3:
        System.out.printf("March\n");
        break;
      case 4:
        System.out.printf("April\n");
        break;
      case 5:
        System.out.printf("May\n");
        break;
      case 6:
        System.out.printf("June\n");
        break;
      case 7:
        System.out.printf("July\n");
        break;
      case 8:
        System.out.printf("August\n");
        break;
      case 9:
        System.out.printf("September\n");
        break;
      case 10:
        System.out.printf("October\n");
        break;
      case 11:
        System.out.printf("November\n");
        break;
      case 12:
        System.out.printf("December\n");
        break;
      default:
        System.out.printf("エラー\n");
      }
   }
}



プログラムを実行すると以下のようになります。





入力する時は、入力してEnterを押してください。
成功すると上記のように表示されます。

ソースダウンロード

まず、で新しい記述が出てきました。
()の中には、比較対象とする変数などを入れます。
この場合は、変数aを対象とする。という意味になります。

のcase文は、「変数aが1の場合」と言う意味です。
そして、変数aが1の場合、の文が実行されます。
caseの後ろは、セミコロン(;)ではなく、コロン(:)なので、注意してください。

のbreak文は、switch文を抜けると言う意味です。

のdefaultは、上で書いたcase文のどれにも当てはまらなかった場合。と言う意味です。
この場合、1〜12の数値を対象としてるので、それ以外の数値の場合は、
"エラー"と表示するようにしました。

このプログラムをif文で書き換えるとしたら、else if 〜〜〜と言う記述が多く、
見た目にも、分かりやすさ的にもswitch文に劣ります。

if文とswitch文のどちらを使うかは、その時の状況に応じて
適切に使い分けて下さい。



スポンサードリンク







HOME

言語解説編
プログラミング用語・知識

C言語

C++言語

Java

C#

Visual Basic.NET

アプリケーション編
C言語による
コンソールプログラミング




Copyright (C) プログラミングランド All Rights Reserved