[JavaSE]:10、Javas witch case文
12468 ワード
Java switch case文
switch case文は一つの変数が一連の値のいずれかに等しいかを判断し、各値を一つの分岐と呼びます。
文法switch case文の文法形式は以下の通りです。 switch文の変数タイプは、byte、shott、intまたはcharとすることができます。Java SE 7からスタートして、switchは文字列Stringタイプをサポートしています。同時にcaseラベルは文字列定数または字面量でなければなりません。 switch文は複数のcase文を持つことができる。各caseの後ろと一つを比較する値とコロン。 case文の値のデータタイプは、変数のデータタイプと同じでなければならず、定数または字面定数だけである。 変数の値がcase文の値と等しい場合、case文の後の文はbreak文が現れてからswitch文が飛び出すまで実行を開始する。 break文に遭遇したら、switch文は終了します。プログラムをswitch文の後の文にジャンプして実行します。case文はbreak文を含まなくてはいけません。break文がない場合、プログラムはbreak文が出るまで、次のcase文を実行します。 switch文は、一般にswitch文の最後の分岐であるdefault分岐を含むことができます。defaultはcase文の値と変数値が等しい場合に実行します。default分岐にはbreak文は必要ありません。 switch case実行時には必ず先にマッチングし、現在のcaseの値をマッチングして返します。breakがあるかどうかによって、出力を継続するかどうか、または飛び出すかどうかを判断します。
実例
Test.javaファイルコード:
Test.javaファイルコード:
Test.javaファイルコード:
switch case文は一つの変数が一連の値のいずれかに等しいかを判断し、各値を一つの分岐と呼びます。
文法switch case文の文法形式は以下の通りです。
switch(expression){
case value :
//
break; //
case value :
//
break; //
// case
default : //
//
}
switch case文には以下の規則があります。実例
Test.javaファイルコード:
public class Test {
public static void main(String args[]){
//char grade = args[0].charAt(0);
char grade = 'C';
switch(grade)
{
case 'A' :
System.out.println(" ");
break;
case 'B' :
case 'C' :
System.out.println(" ");
break;
case 'D' :
System.out.println(" ");
break;
case 'F' :
System.out.println(" ");
break;
default :
System.out.println(" ");
}
System.out.println(" " + grade);
}
}
以上のコードのコンパイルの結果は以下の通りです。
C
case文ブロックにbreak文がない場合、JVMは各caseに対応する戻り値を順次出力せず、マッチングが成功しない場合はデフォルトcaseに戻ります。Test.javaファイルコード:public class Test {
public static void main(String args[]){
int i = 5;
switch(i){
case 0:
System.out.println("0");
case 1:
System.out.println("1");
case 2:
System.out.println("2");
default:
System.out.println("default");
}
}
}
以上のコードのコンパイルの結果は以下の通りです。default
case文ブロックにbreak文がない場合、マッチングが成功したら、現在のcaseから、後続のすべてのcaseの値が出力されます。Test.javaファイルコード:
public class Test {
public static void main(String args[]){
int i = 1;
switch(i){
case 0:
System.out.println("0");
case 1:
System.out.println("1");
case 2:
System.out.println("2");
default:
System.out.println("default");
}
}
}
以上のコードのコンパイルの結果は以下の通りです。1
2
default
現在のマッチングに成功したcase文のブロックにbreak文がない場合、現在のcaseから、後続のcaseの値が全部出力されます。もし後続のcase文のブロックにbreak文があると判断が飛び出します。Test.javaファイルコード:
public class Test {
public static void main(String args[]){
int i = 1;
switch(i){
case 0:
System.out.println("0");
case 1:
System.out.println("1");
case 2:
System.out.println("2");
case 3:
System.out.println("3"); break;
default:
System.out.println("default");
}
}
}
以上のコードのコンパイルの結果は以下の通りです。1
2
3