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

相关推荐
Mahir084 小时前
Spring 循环依赖深度解密:从问题本质到三级缓存源码级解析
java·后端·spring·缓存·面试·循环依赖·三级缓存
RyFit5 小时前
SpringAI 常见问题及解决方案大全
java·ai
石山代码6 小时前
C++ 内存分区 堆区
java·开发语言·c++
绝知此事6 小时前
【算法突围 01】线性结构与哈希表:后端开发的收纳术
java·数据结构·算法·面试·jdk·散列表
无风听海6 小时前
C# 隐式转换深度解析
java·开发语言·c#
一只大袋鼠7 小时前
Git 进阶(二):分支管理、暂存栈、远程仓库与多人协作
java·开发语言·git
德思特7 小时前
从 Dify 配置页理解 RAG 的重要参数
java·人工智能·llm·dify·rag
YOU OU8 小时前
Spring IoC&DI
java·数据库·spring
один but you8 小时前
从可变参数到 emplace:现代 C++ 性能优化的核心组合
java·开发语言
是码龙不是码农8 小时前
ThreadPoolExecutor 7 个核心参数详解
java·线程池·threadpool