java中的switch仅支持case条件仅支持int、enum两种类型。
用enum的时候,不能直接写下列形式。
switch (timeType) {
case ProdtransTimeTypeEnum.DAILY:
break;
default:
break;
}
而是先import进来此枚举类,case中直接写枚举值
switch (timeType) {
case DAILY:
break;
default:
break;
}
使用误区1
今天在做一个需求时,碰到一个类似如下switch语句。
for (int i = 0; i < 5; i++) {
System.out.println("-----------------" + i);
switch (i) {
case 1:
System.out.println(1);
continue;
case 2:
System.out.println(2);
return;
case 3:
System.out.println(3);
break;
default:
System.out.println("default");
break;
}
}
我要做的是,对是否continue循环加一个条件判断,我是这样改的:
for (int i = 0; i < 5; i++) {
System.out.println("-----------------" + i);
switch (i) {
case 1:
System.out.println(1);
if (条件) {
break;
} else {
continue;
}
case 2:
System.out.println(2);
return;
case 3:
System.out.println(3);
break;
default:
System.out.println("default");
break;
}
}
测试发现这样改不对,循环在满足条件的情况下没有跳出,继续循环了。。。问题原因就是:break只是跳出了switch,并没有跳出for循环。
为什么会犯这个错误?
1. 对switch理解不深。
2. switch里的continue, return误导了我。
continue和break经常配对出现在循环中,continue是退出本次循环,break是跳出整个循环,return是跳出整个方法。而这个例子里break只是跳出了switch。。。
switch的标准写法是这样的:
switch(integral-selector) {
case integral-value1: statement;break;
case integral-value2: statement;break;
case integral-value3: statement;break;
case integral-value4: statement;break;
case integral-value5: statement;break;
default: statement;
}
如果省略break,程序会继续执行其他case直到遇到下一个break。
我个人建议在用switch的时候尽量选择这样的标准写法,不要加入continue、return等,代码可读性差而且容易犯错。。。特别是在本来逻辑就复杂的情况下,很难关注到switch里的这个细节了。
分享到:
相关推荐
38.java中的switch语句.zip38.java中的switch语句.zip38.java中的switch语句.zip38.java中的switch语句.zip38.java中的switch语句.zip38.java中的switch语句.zip38.java中的switch语句.zip38.java中的switch语句.zip...
在 Java 和 C# 中,`switch` 语句在语法和行为上有一些显著的区别,尤其是在处理多条 `case` 的连续执行和 `break` 的使用上。 首先,我们来看 C# 中的 `switch` 语句示例: ```csharp class StudentGrade { ...
基础运用,初步理解switch的基本运用,理解switch在java中所处的地位
### 在Java Switch中使用String作为分支条件 #### 引言 在Java中,`switch`语句最初只能处理`int`、`char`以及`enum`类型的数据。然而,在实际开发过程中,有时需要根据字符串(`String`)来执行不同的逻辑分支。...
- **多条件匹配**:从Java 7开始,可以在同一个 `case` 语句中使用逗号分隔多个值,例如 `case 1, 2, 3: ...`。 综上所述,`switch` 语句是Java中一种非常实用的控制结构,它可以简化条件分支的编写,提高代码的...
四方交换机现场调试bat软件 ... java_switch(V1.08) java_switch(V1.08)java_switch(V1.08) ...java_switch(V1.08)java_switch(V1.08)java_switch(V1.08)java_switch(V1.08)java_switch(V1.08)java_switch(V1.08)
在Java中,switch语句是一种用于根据不同的值执行不同操作的控制流语句。它可以替代多个if-else语句,使代码更加简洁和可读。
switch 语句的写法 简单的一个代码,简述java语言switch、语句的编写
Java中switch语句.pdf 学习资料 复习资料 教学资源
Java Switch语句是Java编程语言中的一个控制流程结构,它提供了多路选择,允许程序根据变量的值执行不同的代码块。在Java中,Switch语句主要用于替代一系列的if...else if...else语句,使代码更加简洁、易读。本教程...
- 从Java 14开始,引入了`yield`关键字,使得`switch`表达式成为可能,这使得`switch`可以在表达式中使用,而不仅仅局限于语句。 总结来说,`switch`语句是Java中处理多分支逻辑的重要工具,尤其在处理枚举类型和...
需要注意的是,Java 7之后引入了枚举类型(enum),也可以在switch语句中使用。然而,浮点型(float和double)、long以及任何对象类型(包括String)是不被支持的。 每个case后面要跟的是要与switch表达式进行比较...
在Java编程语言中,`switch`语句是一种条件控制结构,用于执行多个可能的分支中的一个,这通常比使用多个`if...else if...else`语句更简洁、易读。`switch`语句适用于执行基于变量不同值的不同操作,这里的变量通常...
总结,Java中的`switch`语句为程序员提供了处理多分支逻辑的有效工具,通过合理使用它可以提高代码的可读性和可维护性。在实际开发中,应根据具体情况灵活运用,并注意保持代码的简洁性和清晰度。
在Java中,Switch语句的使用需要注意以下几点: 1. Switch语句后的表达式只能是byte、short、char、int类型,在Java 1.7中也支持String类型。 2. 在Switch语句中的Case语句如果少写了Break关键字,在编译时不会...
在 Java 7 之前,如果我们尝试使用 String 参数在 switch 语句中,编译器将报告错误,指出“Cannot switch on a value of type String for source level below 1.7. Only convertible int values or enum variables ...
JAVA 实现的 SWITCH 循环 判断是星期几 小试身手
switch case 两个例题。1.对学生成绩大于60分的,输出“合格”。低于60分的,输出“不合格”。2.从键盘上输入2019年的“month”和“day”,要求通过程序输出输入的日期为2019年的第几天。
Java 中 Switch 选择语句代码详解 Java 中的 Switch 选择语句是一种多路分支语句,用于根据不同的条件来执行不同的语句块。下面是 Switch 语句的基本结构: switch(表达式){ case 常量1: 语句块1; break; case...
从标题 "JAVA 程式-自动贩卖机 SWITCH&CASE" 中,我们可以看到这是一个 Java 程式设计的自动贩卖机系统,使用 SWITCH&CASE 语句来实现不同的选择逻辑控制。 描述解析 从描述 "JAVA 程式-自动贩卖机 SWITCH&CASE" ...