Java Zweigstruktur - if ... else / Schalter
Sequenzstruktur nur die Reihenfolge der Ausführung nicht Urteile und Entscheidungen sein, und daher eine verzweigte Struktur erfordern.
Java hat zwei Zweigstruktur:
- if-Anweisung
- switch-Anweisung
if-Anweisung
Wenn eine Anweisung enthält einen Booleschen Ausdruck und einer oder mehreren Anweisungen.
Grammatik
Wenn die Anweisung mit der folgenden Syntax:
if(布尔表达式) { //如果布尔表达式为true将执行的语句 }
Wenn der boolesche Ausdruck als wahr ausgewertet, die if-Anweisung Codeblock. Andernfalls Wenn Anweisungsblock hinter dem Codeausführung.
public class Test { public static void main(String args[]){ int x = 10; if( x < 20 ){ System.out.print("这是 if 语句"); } } }
Der obige Code kompiliert Ergebnisse sind wie folgt:
这是 if 语句
if ... else-Anweisung
Später if-Anweisung mit anderen Aussagen, wenn der boolesche Ausdruck der if-Anweisung ist falsch, sonst Anweisungsblock ausgeführt wird.
Grammatik
if ... else wie folgt verwendet:
if(布尔表达式){ //如果布尔表达式的值为true }else{ //如果布尔表达式的值为false }
Beispiele
public class Test { public static void main(String args[]){ int x = 30; if( x < 20 ){ System.out.print("这是 if 语句"); }else{ System.out.print("这是 else 语句"); } } }
Der obige Code kompiliert Ergebnisse sind wie folgt:
这是 else 语句
if ... else if ... else-Anweisung
Später if-Anweisung mit elseif ... else-Anweisung, kann diese Aussage eine Vielzahl von möglichen Szenarien erkennen.
Verwenden Sie, wenn sonst, wenn else-Anweisung, die Notwendigkeit, die Aufmerksamkeit auf die folgenden Punkte:
- wenn die Anweisung höchstens ein else-Anweisungen vor allen anderen Aussagen elseif Anweisungen.
- Wenn Aussagen mehrere elseif-Anweisungen haben können, müssen sie vor der else-Anweisung sein.
- Sobald ein else if-Anweisung als wahr, andere erkannt wird anders, wenn und sonst Anweisungen ausgeführt werden übersprungen.
Grammatik
if ... else Syntax lautet wie folgt:
if(布尔表达式 1){ //如果布尔表达式 1的值为true执行代码 }else if(布尔表达式 2){ //如果布尔表达式 2的值为true执行代码 }else if(布尔表达式 3){ //如果布尔表达式 3的值为true执行代码 }else { //如果以上布尔表达式都不为true执行代码 }
Beispiele
public class Test { public static void main(String args[]){ int x = 30; if( x == 10 ){ System.out.print("Value of X is 10"); }else if( x == 20 ){ System.out.print("Value of X is 20"); }else if( x == 30 ){ System.out.print("Value of X is 30"); }else{ System.out.print("This is else statement"); } } }
Der obige Code kompiliert Ergebnisse sind wie folgt:
Value of X is 30
Verschachtelte if ... else-Anweisung
Verschachtelte if-else-Anweisung ist legitim. Dies bedeutet, dass Sie, wenn oder elseif-Anweisung in einer anderen, wenn oder elseif-Anweisung verwenden können.
Grammatik
Verschachtelte if ... else Syntax lautet wie folgt:
if(布尔表达式 1){ ////如果布尔表达式 1的值为true执行代码 if(布尔表达式 2){ ////如果布尔表达式 2的值为true执行代码 } }
Sie können verschachtelte sonst wie die if - Anweisung sein if ... else.
Beispiele
public class Test { public static void main(String args[]){ int x = 30; int y = 10; if( x == 30 ){ if( y == 10 ){ System.out.print("X = 30 and Y = 10"); } } } }
Der obige Code kompiliert Ergebnisse sind wie folgt:
X = 30 and Y = 10
switch-Anweisung
Anweisung wechseln Wert einer Variablen mit einem Bereich von Werten gleich sind, und jeder Wert zu bestimmen, ist ein Zweig bezeichnet.
Grammatik
Schalter Syntax lautet wie folgt:
switch(expression){ case value : //语句 break; //可选 case value : //语句 break; //可选 //你可以有任意数量的case语句 default : //可选 //语句 }
switch-Anweisung hat die folgenden Regeln:
- switch-Anweisung nur Variablentyp ist Byte, short, int oder char.
- switch-Anweisung kann mehrere case-Anweisungen haben. Hinter jedem Fall von einem Doppelpunkt und dem Wert, gefolgt verglichen werden.
- case-Anweisung den Datentyp Wert muss gleich dem Datentyp der Variablen sein, und kann nur eine Konstante oder wörtliche sein.
- Wenn der Wert einer Variablen gleich dem Wert der Case-Anweisung wird die Anweisung nach der Case-Anweisung ausgeführt, bis die break-Anweisung würde aus der switch-Anweisung erscheinen. 3
- Wenn es eine break-Anweisung trifft, wird switch-Anweisung beendet. Das Programm springt auf die Erklärung im Anschluss an die Switch-Anweisung ausgeführt wird. case-Anweisung muss nicht eine break-Anweisung enthalten. Wenn es keine break-Anweisung erscheint, wird das Programm mit dem nächsten case-Anweisung, bis die break-Anweisung fortgesetzt.
- switch-Anweisung kann eine Standard-Zweig enthalten, dass der letzte Zweig der switch-Anweisung sein muss. Standardausführung in keinem Fall Aussagen und variablen Werten gleich viel Zeit. Standardzweig brauchen nicht auf die Aussage zu brechen.
Beispiele
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("Excellent!"); break; case 'B' : case 'C' : System.out.println("Well done"); break; case 'D' : System.out.println("You passed"); case 'F' : System.out.println("Better try again"); break; default : System.out.println("Invalid grade"); } System.out.println("Your grade is " + grade); } }
Der obige Code kompiliert Ergebnisse sind wie folgt:
Well done Your grade is C