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

1、switch...case语句的使用:

执行流程:

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

java 复制代码
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;

java 复制代码
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语句时,这个方法将被结束。方法结束 , 执行权回到方法调用处。

相关推荐
这个昵称不容易2 小时前
SpringBoot「衣依」服装销售平台:144个Java文件180个接口,从挑衣服到收货评价整条链路都在
java·springboot·毕设
计算机毕设定制辅导-无忧学长3 小时前
《基于微信小程序的居家医疗陪护预约系统设计与实现》
java·spring boot·微信小程序·uniapp·居家医疗陪护预约系统
文丑颜不良啊4 小时前
LeetCode2221~2240题目解析
java·leetcode
秋饼4 小时前
Computer Use Agent Java 落地实战:感知-行动循环、执行器与安全围栏生产级实现
java·ai·技术分享·后端开发
文丑颜不良啊6 小时前
LeetCode2161~2180题目解析
java·leetcode
文丑颜不良啊8 小时前
LeetCode2141~2160题目解析
java·leetcode
LabVIEW开发8 小时前
LabVIEW 连接板:28 个端子怎么排,优先级怎么定
java·算法·labview
天天被压力9 小时前
【A股分钟级高频数据完全手册 #07】北交所历史分钟K线接口:京市Pro版分时批量
java·人工智能·python
天天被压力9 小时前
【A股分钟级高频数据完全手册 #08】股票日、分时数据接口对比:普通分时与Pro版差异实测
java·人工智能·python
特立独行的猫A9 小时前
AI 时代,我为什么推荐用 cj-tauri 开发桌面应用
java·后端·python