A estrutura sequencial só pode ser executada sequencialmente e não pode fazer julgamentos e seleções, portanto, é necessária uma estrutura ramificada.
Java tem duas estruturas ramificadas:
Uma instrução if contém uma expressão booleana e uma ou mais instruções.
A sintaxe da instrução If é a seguinte:
if(布尔表达式) { //如果布尔表达式为true将执行的语句}
Se a expressão booleana for avaliada como verdadeira, o bloco de código na instrução if será executado. Caso contrário, o código após o bloco de instrução If será executado.
public class Test { public static void main(String args[]){ int x = 10; if( x < 20 ){ System.out.print("这是if 语句"); } } }
Os resultados da compilação e execução do código acima são os seguintes:
这是if 语句
A instrução if pode ser seguida por uma instrução else Quando o valor da expressão booleana da instrução if for falso, o bloco de instrução else será executado.
O uso de if…else é o seguinte:
if(布尔表达式){ //如果布尔表达式的值为true }else{ //如果布尔表达式的值为false }
public class Test { public static void main(String args[]){ int x = 30; if( x < 20 ){ System.out.print("这是if 语句"); }else{ System.out.print("这是else 语句"); } } }
Os resultados da compilação e execução do código acima são os seguintes:
这是else 语句
A instrução if pode ser seguida por uma instrução else if...else, que pode detectar uma variedade de situações possíveis.
Ao usar instruções if, else if, else, você precisa prestar atenção aos seguintes pontos:
O formato da sintaxe de if...else é o seguinte:
if(布尔表达式1){ //如果布尔表达式1的值为true执行代码}else if(布尔表达式2){ //如果布尔表达式2的值为true执行代码}else if(布尔表达式3){ //如果布尔表达式3的值为true执行代码}else { //如果以上布尔表达式都不为true执行代码}
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("这是else 语句"); } } }
Os resultados da compilação e execução do código acima são os seguintes:
Value of X is 30
É legal usar instruções if-else aninhadas. Isso significa que você pode usar uma instrução if ou else if dentro de outra instrução if ou else if.
O formato de sintaxe if…else aninhado é o seguinte:
if(布尔表达式1){ ////如果布尔表达式1的值为true执行代码if(布尔表达式2){ ////如果布尔表达式2的值为true执行代码} }
Você pode aninhar else if...else da mesma forma que as instruções if.
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"); } } } }
Os resultados da compilação e execução do código acima são os seguintes:
X = 30 and Y = 10
A instrução switch determina se uma variável é igual a um valor em uma série de valores. Cada valor é chamado de ramificação.
O formato da sintaxe do switch é o seguinte:
switch(expression){ case value : //语句break; //可选case value : //语句break; //可选//你可以有任意数量的case语句default : //可选//语句}
A instrução switch possui as seguintes regras:
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("及格"); case 'F' : System.out.println("你需要继续努力"); break; default : System.out.println("无效等级"); } System.out.println("你的等级是" + grade); } }
Os resultados da compilação e execução do código acima são os seguintes:
良好你的等级是C