switch case用法举例

如题所述

Switch case 语句一般形式是这样的

在使用switch case的时候一定要注意不要把break给漏写了,如果没有break的活,程序在执行完所对应的代码块后会顺序执行下面的语句直到程序结束或者遇到下一个break为止。当表达式的值和下面哪一个常量相等就会执行那个常量所对应的代码块,如果没有与表达式相等的常量时就会执行default下面的代码块。

当多个常量对应同一个代码块时,我们也可以这样使用switch case。

这样写的话无论你输入的是0还是1它结果都是执行的遇到break之前的代码块。当多种情况对应同一种输出时,把代码块相同的case可以直接放到一起,这样可以有效减少重复代码,节省时间提升开发效率。

同一个Switch语句,所有case子句中的常量值互不相同。

switch case在什么情况中使用比较好呢?

如果判断的具体数值不多,而且符合byte、short 、char、int、String、枚举等几种类型时建议使用swtich语句。

执行规则

1.swich 后面括号内的'表达式必须是整数类型. 也就是说可以是 int 型变量、 char 型变量, 也可以直接是整数或字符常量, 哪伯是负数都可以, 但绝对不可以是实数, float 型变量、double 型变量、小数常量通通不行, 全部都是语法错误。

2) switich 下的 case 和 defaut 必须用一对大括号{}括起来

你只想执行这一个case语句, 不想执行其他case, 那么就需要在这个case语句后面加上break, 跳出swich语句.

3) 当switch后面括号内“表达式”的值与某 个case后面的"常量表达式"的值相等时. 就执行此case后面的语句。执行完一个case后面的语句后,流程控制转移到下一个case缕续执行, 如果你只想执行这一个case语句,不想执行其他case,那么就需要在这个case语句后面加上break,跳出switch语句。

再重申一下: switch是"选择"语句, 不是“循环”语句 。很多新手看到break就以为是循环语句, 因为break一般给我们的印象都是跳出"循环", 但break还有一个用法, 就是跳出switch。

4) 若所有的 case 中的常量表达式的值都没有与 switch 后面括号内"表达式的值相等的, 就执行 defaul 后面的语句, defaut 是"默认的意思。 知果 defauit 是最后一条语句的话, 那么其

后就可以不加 break, 因为既然已经是最后一句了, 则执行完后自然就退出 switch 了。

5) 每个 case 后面"常量表达式"的值必须互不相同, 否则就会出现互相矛盾的现象, 而且这样写造成语法错误。

6) "case常量表达式 只是起语句标号的作用, 并不是在该处进行判断。 在执行 switch 语句时, 根据 switch 后面表达式的值找到匹配的入口标号, 就从此标号开始执行下去, 不再进行判断解。

7) 各个 case 和 default 的出现次序不影响执行结果,但从阅读的角度最好是按字母或数字的顺序写。

温馨提示:答案为网友推荐,仅供参考
第1个回答  2023-06-19

Switch用在编程中,如C语言中它经常跟Case一起使用,是一个判断选择代码。其功能就是控制流程流转的。直线翻译: switch语句,即“切换”语句;case即“情况”。

扩展资料

switch 语句一行接一行地执行(实际上是语句接语句)。开始时没有代码被执行。仅当一个case语句中的值和switch表达式的值匹配时 php 才开始执行语句,直到switch 的程序段结束或者遇到第一个break语句为止。如果不在case的语句段最后写上break的话,php将继续执行下一个case中的语句段。

在switch语句中条件只求值一次并用来和每个case语句比较。在elseif语句中条件会再次求值。如果条件比一个简单的比较要复杂得多或者在一个很多次的循环中,那么用switch语句可能会快一些。

switch语句执行时会从上到下根据括号中表达式的值作比较,当某个case语句中的表达式与此值相同时,就执行这个case语句或语句序列,直到遇到break为止。

在C#中,switch语句的控制表达式只能是某个整形(int,char,long等)或string。其他任何类型(包括float和double类型)只能用if语句。

每个constantExpression值都必须唯一,使controllingExpression只能与它们中的一个匹配。如果controllingExpression的值和任何controllingExpression的值都不匹配,也没有default标签,程序就从switch的结束大括号之后的第一个语句继续执行。

第2个回答  2023-06-22

在Java中有一个与if-else作用相似的东西,那就是switch-case。

举个例子:

要根据学生的成绩等级,判断学生的成绩范围。我们规定 A 等级 代表 90~100 分,B 等级代表 80~89 分,C 等级代表 70~79 分,D 等级代表 60~69 分,E 等级代表 0~59 分,如果是 A~E 以外的字母,用 Unknown level 表示。

public class Solution {

public String getRange(String level) {

String str="";

// write your code here

switch(level){

case "A":

str = "90~100";

break;

case "B":

str = "80~89";

break;

case "C":

str = "70~79";

break;

case "D":

str = "60~69";

break;

case "E":

str = "0~59";

break;

default:

str = "Unknown level";

break;

}

return str;

}

}

相似回答