首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往
您找到你想要的搜索结果了吗?
是的
没有找到

java switch case 语句

switch case 语句判断一个变量与一系列值中某个值是否相等,每个值称为一个分支。...语法: switch(expression){ case value : //语句 break; //可选 case value : //语句 break; //可选 //你可以有任意数量的case语句...default : //可选 //语句 } switch case 语句有如下规则: switch 语句中的变量类型可以是: byte、short、int 或者 char。...从 Java SE 7 开始,switch 支持字符串 String 类型了,同时 case 标签必须为字符串常量或字面量。 switch 语句可以拥有多个 case 语句。...当变量的值与 case 语句的值相等时,那么 case 语句之后的语句开始执行,直到 break 语句出现才会跳出 switch 语句。 当遇到 break 语句时,switch 语句终止。

1.4K20

用表驱动代替switch-case

不知道从什么时候开始,switch-case语句成了代码坏味道的代名词,写代码的时候小心翼翼地避开它,看到别人代码中的switch-case就皱眉头,想想其实大可不必这样,switch-case语句并不是代码坏味道的根源...,坏味道来自糟糕的代码(结构)设计,比如过多的switch-case分支,或者多重switch-case嵌套等等,这些都将导致代码可读性下降,如果再加上代码风格较差,代码不对齐,那么坏味道就相当地大了。...简短的switch-case还是继续用吧,但是对于分支太多的长switch-case最好能想办法化解开,那么什么算长什么算短呢?...化解长switch-case的方法有很多种,用函数封装或者宏取代case块是治标不治本的方法,使用表驱动通常是治疗这种顽症的有效方法,本文将介绍如何用表驱动方法化解长switch-case。...这是使用switch-case的典型场景,先看一个使用switch-case的方案: STATUS DriverIoControl(UINT function_no, PVOID para_in

59450

有了 elseif 为什么还要 switch case

引出 你有没有想过既然有了if elseif, 为什么还要设计一个switch case的语法出来呢?...以下几种switch case均可以写成if else的形式(java 代码): // 形式一 switch(a){ case 1: break; case 2: break;...switch case仅支持数字和字符串相等的判断, 甚至在 C 语言中只支持数字相等(其实其他语言也只支持数字, 随便写个 java 反编译一下就会发现, 它将一个switch case转成了两个,...和if else的区别呼之欲出了. switch case利用了数组的随机访问, 大幅度提升了判断的效率....别说, 我试了几种比较流行的语言, 发现Python就不支持, 哈哈, 用了这么久Python还是突然发现它不支持switch case, 由此可见, switch case我用的比较少.

82720

一个switch case引起的线上bug

当时第一反应是不可能 2、通过QA同学提供的test case,在测试环境通过curl发送请求,发现果然广告返回值跟预期不符。 3、通过git log对比,发现近期只有一个switch语句有修改。...故障原因 下面是错误代码 switch (dsp_res->bid_type()) {         case 0:         {           auto info = dsp_response...此处,我们再贴一次之前的代码: switch (dsp_res->bid_type()) {         case 0:         {           auto info = dsp_response...此处列下switch case的三个规则:switch...case的三个规则: 既无成功匹配,又无default子句,那么swtich语句块什么也不做; 无成功匹配,但有default,那么swtich... choice = ");     scanf( "%d", &iChoice);     switch (iChoice)     {     case 1:         i++;

701140
领券