estrutura de ramificação Java - if ... else / switch
estrutura Sequence somente a ordem de execução não pode ser decisões e escolhas, e, portanto, requerem uma estrutura ramificada.
Java tem dois estrutura de ramificação:
- if
- switch
if
Se uma declaração contém uma expressão booleana e uma ou mais declarações.
gramática
Se a declaração com a seguinte sintaxe:
if(布尔表达式) { //如果布尔表达式为true将执行的语句 }
Se a expressão booleana avalia a verdade, o bloco if declaração de código. Caso contrário Se o bloco de declaração por trás da execução do código.
public class Test { public static void main(String args[]){ int x = 10; if( x < 20 ){ System.out.print("这是 if 语句"); } } }
O código é compilado acima resultados são os seguintes:
这是 if 语句
if ... else
Mais tarde, se comunicado com else quando a expressão booleana da instrução if é falsa, o bloco else é executado.
gramática
if ... else usados como segue:
if(布尔表达式){ //如果布尔表达式的值为true }else{ //如果布尔表达式的值为false }
Exemplos
public class Test { public static void main(String args[]){ int x = 30; if( x < 20 ){ System.out.print("这是 if 语句"); }else{ System.out.print("这是 else 语句"); } } }
O código é compilado acima resultados são os seguintes:
这是 else 语句
if ... else if ... else
Mais tarde, se comunicado com elseif ... else, esta afirmação pode detectar uma variedade de cenários possíveis.
Use se, else if, else, a necessidade de atenção para os seguintes pontos:
- se a declaração no máximo uma outra pessoa declarações perante todos else elseif declarações.
- Se as declarações podem ter várias declarações elseif, que deve ser anterior à instrução else.
- Uma vez que um else if for detectado como verdadeira, outra else if e else são ignorados executado.
gramática
if ... else sintaxe é a seguinte:
if(布尔表达式 1){ //如果布尔表达式 1的值为true执行代码 }else if(布尔表达式 2){ //如果布尔表达式 2的值为true执行代码 }else if(布尔表达式 3){ //如果布尔表达式 3的值为true执行代码 }else { //如果以上布尔表达式都不为true执行代码 }
Exemplos
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"); } } }
O código é compilado acima resultados são os seguintes:
Value of X is 30
se aninhado ... else
Nested declaração if-else é legítimo. Isso significa que você pode usar se ou elseif declaração em outro se ou elseif comunicado.
gramática
Aninhado if ... else sintaxe é a seguinte:
if(布尔表达式 1){ ////如果布尔表达式 1的值为true执行代码 if(布尔表达式 2){ ////如果布尔表达式 2的值为true执行代码 } }
Você pode ser como a instrução if aninhada else if ... else.
Exemplos
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"); } } } }
O código é compilado acima resultados são os seguintes:
X = 30 and Y = 10
switch
alternar instrução para determinar um valor de uma variável com uma gama de valores são iguais, e cada valor é chamado um ramo.
gramática
sintaxe interruptor é o seguinte:
switch(expression){ case value : //语句 break; //可选 case value : //语句 break; //可选 //你可以有任意数量的case语句 default : //可选 //语句 }
switch tem as seguintes regras:
- switch único tipo variável é byte, short, int ou carvão.
- switch pode ter várias instruções case. Atrás de cada caso, seguida de dois pontos e o valor a ser comparado.
- Caso o tipo de dados demonstração do valor deve ser o mesmo que o tipo de dados da variável, e só pode ser uma constante ou literal.
- Quando o valor de uma variável igual ao valor da exposição do caso, a declaração após a instrução case é executado até que a instrução break apareceria fora da instrução switch. 3
- Quando encontra uma instrução break, switch é encerrado. O programa salta para a instrução após a instrução switch funciona. exposição do caso não tem de conter uma instrução break. Se não houver quebra de declaração aparece, o programa continuará com a próxima exposição do caso até que a instrução break.
- switch pode conter uma ramificação padrão que deve ser o último ramo da instrução switch. execução padrão em nenhum caso declarações de variáveis e valores iguais de tempo. ramificação padrão não precisa quebrar o comunicado.
Exemplos
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); } }
O código é compilado acima resultados são os seguintes:
Well done Your grade is C