【switch...case】击穿 | return和break的区别

1、switch…case语句的使用:

执行流程:

首先计算switch后面圆括号中表达式的值,然后用此值依次与各个case的常量表达式比较,若圆括号中表达式的值与某个case后面的常量表达式的值相等,就执行此case后面的语句,执行后遇break语句就退出switch语句;若圆括号中表达式的值与所有case后面的常量表达式都不等,则执行default后面的语句n+1,然后退出switch语句,程序流程转向开关语句的下一个语句

switch(表达式)
{ 
      case 常量表达式1:
         语句1;
      break;
      
      case 常量表达式2:
         语句2;
      break;

……
      case 常量表达式n:
         语句n;
      break;

      default:
         语句n+1;
      break;
}

switch(表达式)中表达式的值必须是下述几种类型之一:byte,short,char,int,枚举 (jdk 5.0),String (jdk 7.0);

同一个switch语句,所有case子句中的常量值互不相同; case子句中的值必须是常量,不能是变量名或不确定的表达式值;

default子句是可任选的。同时,位置也是灵活的。当没有匹配的case时,执行default

2、switch…case语句击穿:

break语句用来在执行完一个case分支后使程序跳出switch语句块;如果没有break,程序会顺序执行到switch结尾。

一旦case匹配,就会顺序执行后面的程序代码,而不管后面的case是否匹配,直到遇见break;

public class SwitchTest {
   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

3、switch…case语句中,return和break的区别:

区别:

break是直接退出switch语句;return是退出该函数,也就是switch语句块后面的语句也不执行了。

使用break结束循环 break可以终止循环 和 switch语句的运行;break用于结束一个循环,即跳出循环体,执行循环体之后的代码。

return关键字不是专门用于结束循环,return的功能时结束一个方法。当一个方法遇到return语句时,这个方法将被结束。方法结束 , 执行权回到方法调用处。

你可能感兴趣的:(java基础,java)