一个switch语句中, case后面的值 不可以相同。一个值只能用一次,不能重复用。 因为这些值,是程序执行的入口,若重复了,就产生了歧义。为避免歧义,若用重了,编译不能通过。 不同的几个switch语句, 各自定义的 case后面的值,可以相同,因为 它们在自己的定义域里,彼此互不相干。
并不是这样的。 switch语句的格式为: switch(expr) { case A: break; case B: break; ... default: break; } 习惯上把default写在最下面,但实际上就像写在中间的case的顺序与结果无关一样,default的位置一样也和结果无关。 当执行switch语句时,无论default位于哪个位置,都会先检查每个case是否与expr的值相同,如果相同,就会执行对应分支的case,全不相同情况下,才会执行default。
switch-case语句是一种条件语句,用于根据不同的条件执行不同的代码块。它的用法如下:
1. 定义一个表达式,通常是一个整数、字符或枚举类型的变量。
2. 使用switch关键字开始switch-case语句。
3. 在switch后面的括号中放入要判断的表达式。
4. 使用case关键字加上一个常量值来定义每个分支条件。当表达式的值与某个case的值相等时,会执行该分支。
5. 在每个case分支中,编写要执行的代码块。通常会包括多个语句。
6. 在每个case分支的最后,使用break关键字来跳出switch-case语句,否则会继续执行后面的case分支。
7. 可选地,在所有的case条件都不满足时,可以使用default关键字定义一个默认的代码块,表示没有任何条件满足时要执行的代码。
下面是一个示例,用于根据星期几输出不同的提示信息:
```java
int day = 2;
switch (day) {
case 1:
System.out.println("今天是星期一");
break;
case 2:
System.out.println("今天是星期二");
break;
case 3:
System.out.println("今天是星期三");
break;
case 4:
System.out.println("今天是星期四");
break;
case 5:
System.out.println("今天是星期五");
break;
case 6:
System.out.println("今天是星期六");
break;
case 7:
System.out.println("今天是星期日");
break;
default:
System.out.println("输入的值无效");
}
```
上述代码会输出:"今天是星期二"。根据变量day的值,决定了要输出的提示信息。默认情况下,如果day的值不在1到7之间,会执行default代码块中的代码。
需要注意的是,在每个case分支中要使用break关键字,否则会继续执行下一个case分支的代码。如果某个case分支没有使用break语句,会导致“case穿透”,即会一直执行下去,直到遇到break或switch语句结束为止。
在C语言中,switch语句的case标签后不能留有空白。每个case标签后面必须立即跟一个冒号(:)。这是C语言语法的要求,如果省略了冒号,编译器将会报错。同时,确保在每个case分支的最后一个语句之后使用break语句,以防止代码继续执行到下一个case或default分支。
当switch后面括号内“表达式”的值与某个case后面的“常量表达式”的值相等时,就执行此case后面的语句。
执行完一个case后面的语句后,流程控制转移到下一个case继续执行。
如果你只想执行这一个case语句,不想执行其他case,那么就需要在这个case语句后面加上break,跳出switch语句。
还没有评论,来说两句吧...