switch文
 条件分岐を行うには、if文以外にも「switch文」というものがある。
 if文は、条件に一致した処理を行うための構文で、switch文は、値に対応した処理を行うための構文である。

 switch文では分岐先を示すラベルとして「case」や「default」を用いる。
 switch文では 1つの処理に対して複数の 「case」を記述することができる。また「case」のルールとして整数でないといけない。
 「default」は一致する定数式がないとき、「default」部分に記述された文を実行する。また「default」部分は省略可能。

(実際に実行)
int i = 1;
switch (i) {
 case 0:
  // iが0の場合の処理
  System.out.println("This is 0");
  break; // switch文を抜ける
 case 1:
  // iが1の場合の処理
  System.out.println("This is 1");
  break; // switch文を抜ける
 default:
  // どのcaseにも一致しない場合の処理
  System.out.println("This is other");
  break; // switch文を抜ける
}
(実行結果)
  iが0の場合はThis is 0、iが1の場合はThis is 1、iが3の場合はThis is otherとそれぞれちゃんと実行された。

breakの仕組み
 switch文では、値に対応した「case」や「default」の場所に処理が飛ぶ。そして「break」の場所に来るか、switch文の最後の行に来ると、「{ }」から処理を抜けることができる。
 そのため、「break」を書かないことによって、複数の値の処理をまとめて書くことができる。

(「break」による複数の値の処理をまとめて書いたときの実行例)
int i = 1;
switch (i) {
 case 0:
 case 1:
 case 2:
  // iが0、1、2の場合の処理
  System.out.println("This is 0, 1, 2");
  break;  // breakなのでswitch文を抜ける
 default:
  // どのcaseにも一致しない場合の処理
  System.out.println("This is other");
  // 最後の行なのでswitch文を抜ける
}
(実行結果)
 iが0、1、2の場合はThis is 0, 1, 2、iが3の場合はThis is otherとそれぞれ実行された。

トップ

inserted by FC2 system