Latest web development tutorials

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