这篇文章主要围绕Java:在子类下使用带有枚举的switch语句和javaswitch枚举类展开,旨在为您提供一份详细的参考资料。我们将全面介绍Java:在子类下使用带有枚举的switch语句的优缺点
这篇文章主要围绕Java:在子类下使用带有枚举的switch语句和java switch 枚举类展开,旨在为您提供一份详细的参考资料。我们将全面介绍Java:在子类下使用带有枚举的switch语句的优缺点,解答java switch 枚举类的相关问题,同时也会为您带来Java 10.switch语句、Java 12中的新特性:如何使用switch表达式替代传统的switch语句、java switch用法_Java switch语句、Java switch语句使用注意事项的实用方法。
本文目录一览:- Java:在子类下使用带有枚举的switch语句(java switch 枚举类)
- Java 10.switch语句
- Java 12中的新特性:如何使用switch表达式替代传统的switch语句
- java switch用法_Java switch语句
- Java switch语句使用注意事项
Java:在子类下使用带有枚举的switch语句(java switch 枚举类)
首先,我要声明我对 C# 中的枚举更加熟悉,而且似乎 java 中的枚举非常混乱。
如您所见,我尝试在下一个示例中使用 switch 语句 @ enums,但无论我在做什么,我总是会收到错误消息。
我收到的错误是:
合格的 case 标签
SomeClass.AnotherClass.MyEnum.VALUE_A
必须替换为不合格的枚举常量VALUE_A
问题是我 很 理解这个错误,但我不能只写 VALUE_A 因为枚举位于另一个子类中。有没有办法解决这个问题?为什么它会发生在 Java 中?
//Main Classpublic class SomeClass { //Sub-Class public static class AnotherClass { public enum MyEnum { VALUE_A, VALUE_B } public MyEnum myEnum; } public void someMethod() { MyEnum enumExample //... switch (enumExample) { case AnotherClass.MyEnum.VALUE_A: { <-- error on this line //.. break; } } }}
答案1
小编典典将其更改为:
switch (enumExample) { case VALUE_A: { //.. break; }}
线索在错误中。您不需要case
使用枚举类型来限定标签,只需使用它的值即可。
Java 10.switch语句
switch语句
switch语句可以是程序从多条执行路径中选择一条来执行,这些路径的选择基于某个单一的值。
switch语句先计算一个表达式的值,然后将该值和几个可能的case子句取值进行匹配。每种取值都有与之有关的执行语句,当计算出表达式的值后,控制会转移到与表达式值相匹配的第一条case子句出执行。
1 import java.util.Scanner;
2
3 public class A {
4
5 public static void main(String[] args)
6 {
7 int grade, category;
8
9 Scanner scan = new Scanner(System.in);
10
11 System.out.print("输入数字 (0 to 100): ");
12 grade = scan.nextInt();
13
14 category = grade / 10;
15
16 System.out.print("那个年级是");
17
18 switch (category)
19 {
20 case 10:
21 System.out.println("一个完美的分数。");
22 break;
23 case 9:
24 System.out.println("远高于平均水平。 优秀.");
25 break;
26 case 8:
27 System.out.println("高于平均水平。 不错。");
28 break;
29 case 7:
30 System.out.println("平均水平。.");
31 break;
32 case 6:
33 System.out.println("低于平均值。");
34 System.out.println("指导员曾经"
35 + "在课堂上介绍");
36 break;
37 default:
38 System.out.println("没有通过。");
39 }
40 }
41 }
Java 12中的新特性:如何使用switch表达式替代传统的switch语句
java是一种广泛应用于软件开发的编程语言,随着技术的不断发展,java也在不断更新版本,增加新的特性和改进。java 12是在2019年发布的版本,其中引入了一项重要的新特性:switch表达式。本文将介绍这个新特性,并展示如何使用switch表达式来替代传统的switch语句。
在Java的早期版本中,我们使用switch语句来实现多分支条件控制。例如,根据一个变量的取值,我们可以执行不同的代码块。然而,传统的switch语句有一些限制,比如只能使用常量作为分支条件以及缺乏灵活性和简洁性。Java 12中的新特性通过引入switch表达式来解决这些问题。
首先,让我们看一个传统的switch语句的示例:
int dayOfWeek = 1; String dayName; switch(dayOfWeek) { case 1: dayName = "Monday"; break; case 2: dayName = "Tuesday"; break; case 3: dayName = "Wednesday"; break; case 4: dayName = "Thursday"; break; case 5: dayName = "Friday"; break; default: dayName = "Invalid day"; break; } System.out.println(dayName);
以上代码根据变量dayOfWeek的值,分别将dayName赋值为对应的星期几名称,并打印输出。然而,使用传统的switch语句可能会显得冗长和繁琐,特别是在有很多分支条件的情况下。
Java 12中的switch表达式通过->符号来实现,使得代码更加简洁。下面的示例展示了如何使用switch表达式来完成与上述传统switch语句相同的功能:
立即学习“Java免费学习笔记(深入)”;
点击下载“修复打印机驱动工具”;
int dayOfWeek = 1; String dayName = switch(dayOfWeek) { case 1 -> "Monday"; case 2 -> "Tuesday"; case 3 -> "Wednesday"; case 4 -> "Thursday"; case 5 -> "Friday"; default -> "Invalid day"; }; System.out.println(dayName);
通过使用switch表达式,我们可以将分支条件和代码块放在一个->后面,使得代码更加简洁和易读。这种写法与Lambda表达式的写法非常相似,更加符合现代编程风格。
除了可以将switch表达式用于变量的赋值外,它还可以用于方法的返回值。例如,我们可以编写一个方法来根据传入的参数返回对应的结果:
public static String getDayName(int dayOfWeek) { String dayName = switch (dayOfWeek) { case 1 -> "Monday"; case 2 -> "Tuesday"; case 3 -> "Wednesday"; case 4 -> "Thursday"; case 5 -> "Friday"; default -> "Invalid day"; }; return dayName; } public static void main(String[] args) { int dayOfWeek = 3; String dayName = getDayName(dayOfWeek); System.out.println(dayName); }
上述代码中,我们通过调用getDayName方法并传入一个参数来获取对应的星期几名称。方法内部使用了switch表达式来完成该功能,并最终返回结果。
总结起来,在Java 12中引入的switch表达式是一个非常有用的新特性。它使得代码更加简洁和易读,并且可以替代传统的switch语句。我们可以根据具体情况选择使用switch表达式来提高代码的可读性和可维护性。
(注:本文的代码示例基于Java 12版本,使用了新特性,请确保您的开发环境支持Java 12或更高版本。)
以上就是Java 12中的新特性:如何使用switch表达式替代传统的switch语句的详细内容,更多请关注php中文网其它相关文章!
java switch用法_Java switch语句
大家好,又见面了,我是你们的朋友全栈君。
Java switch语句用于从多个条件执行一个语句。它就像if-else-if语句一样。
语法:
switch(expression){
case value1:
//code to be executed;
break; //optional
case value2:
//code to be executed;
break; //optional
……
default:
// code to be executed if all cases are not matched;
}
switch语句执行流程图如下所示 –

示例:
public class SwitchExample {
public static void main(String[] args) {
int number = 20;
switch (number) {
case 10:
System.out.println(“10”);
break;
case 20:
System.out.println(“20”);
break;
case 30:
System.out.println(“30”);
break;
default:
System.out.println(“Not in 10, 20 or 30”);
}
}
}
执行输出结果如下:
20
Java switch语句落空通过所有case语句
下面我们来看看java switch语句落空通过所有条件,即 case 子句中的所有条件都未能匹配。也就是如果不在 switch case 下使用break语句,则它在第一个匹配之后也会执行接下来的所有 case 中的语句。
示例:
public class SwitchExample2 {
public static void main(String[] args) {
int number = 20;
switch (number) {
case 10:
System.out.println(“10”);
case 20:
System.out.println(“20”);
case 30:
System.out.println(“30”);
default:
System.out.println(“Not in 10, 20 or 30”);
}
}
}
执行输出结果如下:
20
30
Not in 10, 20 or 30
¥ 我要打赏
纠错/补充
收藏
加QQ群啦,易百教程官方技术学习群
注意:建议每个人选自己的技术方向加群,同一个QQ最多限加 3 个群。
Java switch语句使用注意事项
1、多个case后面的值不可以重复
2、switch后面小括号的数据类型(case 后面的数值类型)只能是以下类型
基本数据类型: byte / short / char / int
引用数据类型:String / enum
3、switch语句可以很灵活,多个case和default(只能有一个)顺序可以随意,break语句还可以省略
执行规则:匹配到case或default语句就从当前位置往下执行,直到遇到break,或者switch整体结束
public class SwitchPractise {
public static void main(String[] args){
int num = 10;
String week;
switch (num) {
case 1:
week = "星期一";
break;
case 2:
week = "星期二";
break;
case 3:
week = "星期三";
break;
case 4:
week = "星期四";
break;
case 5:
week = "星期五";
break;
case 6:
week = "星期六";
break;
default:
week = "日期有误";
// break; // 最后一个break可以省略,但不建议,因为如果default不是在最后,省略了会穿透到下一个case
case 7:
week = "星期日";
break;
}
System.out.println(week); // 星期日
}
}
今天关于Java:在子类下使用带有枚举的switch语句和java switch 枚举类的介绍到此结束,谢谢您的阅读,有关Java 10.switch语句、Java 12中的新特性:如何使用switch表达式替代传统的switch语句、java switch用法_Java switch语句、Java switch语句使用注意事项等更多相关知识的信息可以在本站进行查询。
本文标签: