在开发java程序的过程中,我们遇到了条件判断首选就是switch,但是遗憾的是,我们java中的switch功能不如C#中的强大,她不支持字符串作为条件。这时我们该怎么办呢? 这种种解决方案比较容易理解。
先看代码:
public enum Day
{
SUNDAY, MONDAY, TUESDAY, WEDNESDAY,
THURSDAY, FRIDAY, SATURDAY,
NOVALUE;
public static Day toDay(String str)
{
try {
return valueOf(str);
}
catch (Exception ex) {
return NOVALUE;
}
}
}
main:方法体测试
Scanner s=new Scanner(System.in);
String day=s.next();//输入的字符串
switch(Day.toDay(day.toUpperCase())){
case SUNDAY:
System.out.println("星期天");
break;
case MONDAY:
System.out.println("星期一");
break;
case TUESDAY:
System.out.println("星期二");
break;
}
看看这个代码,其实是通过定义枚举来实现的。将字符串作为枚举,然后通过toDay方法返回的是一个int的值。这样就可以让switch接受String的条件了。就这么简单!
相关推荐
在Java 6及之前的版本中,由于`switch`语句不支持直接使用`String`类型作为条件,因此需要采取其他方法来实现类似的功能。一种常见的做法是通过自定义枚举(`enum`)来间接支持字符串作为`switch`语句的条件。下面是...
但是,从 Java 7 开始,switch 语句也支持使用 String 类型作为条件表达式。 在 Java 7 之前,如果我们尝试使用 String 参数在 switch 语句中,编译器将报告错误,指出“Cannot switch on a value of type String ...
在 Java 和 C# 中,`switch` 语句在语法和行为上有一些显著的区别,尤其是在处理多条 `case` 的连续执行和 `break` 的使用上。 首先,我们来看 C# 中的 `switch` 语句示例: ```csharp class StudentGrade { ...
### Java中switch的使用及语法说明 在Java编程语言中,`switch`语句是一种非常有用的控制结构,它允许程序基于一个表达式的值来选择执行不同的代码块。这对于需要根据不同条件执行不同操作的情况非常有用,尤其是在...
总的来说,Java Switch语句是编写条件控制代码的一个强大工具,通过理解其工作原理和使用方法,可以提升代码的可读性和效率。在学习过程中,通过实践和不断练习,能够更好地掌握这一特性,并将其应用于实际项目中。
需要注意的是,Java 7之后引入了枚举类型(enum),也可以在switch语句中使用。然而,浮点型(float和double)、long以及任何对象类型(包括String)是不被支持的。 每个case后面要跟的是要与switch表达式进行比较...
- 从Java 14开始,引入了`yield`关键字,使得`switch`表达式成为可能,这使得`switch`可以在表达式中使用,而不仅仅局限于语句。 总结来说,`switch`语句是Java中处理多分支逻辑的重要工具,尤其在处理枚举类型和...
在Java编程语言中,`switch`语句是一种条件控制结构,它允许程序基于不同的值执行不同的代码块。相比传统的`if...else if...else`结构,`switch`语句提供了更简洁、更易于理解和维护的方式来进行多分支选择。在本文...
自JDK 7开始,Java允许在switch语句中直接使用String作为case条件,这在之前的版本中是不支持的。这样可以简化代码,提高可读性。 4. **转换String为数字** 当需要将字符串转换为整数或长整数时,可以使用Integer...
答案:jdk7+中的 switch 可以使用 String 类型。在 jdk7 之前,switch 语句只能使用整型或枚举类型,自从 jdk7 之后,switch 语句可以使用 String 类型。 5. String str = new String("abc"); 创建了几个对象,为...
在Java编程语言中,`switch`语句是一种条件控制结构,用于执行多个可能的分支中的一个,这通常比使用多个`if...else if...else`语句更简洁、易读。`switch`语句适用于执行基于变量不同值的不同操作,这里的变量通常...
在Java中,Switch语句的使用需要注意以下几点: 1. Switch语句后的表达式只能是byte、short、char、int类型,在Java 1.7中也支持String类型。 2. 在Switch语句中的Case语句如果少写了Break关键字,在编译时不会...
Java 中的 Switch 选择语句是一种多路分支语句,用于根据不同的条件来执行不同的语句块。下面是 Switch 语句的基本结构: switch(表达式){ case 常量1: 语句块1; break; case 常量2: 语句块2; break; ... ...
4. **String在switch语句中的使用**:从Java 7开始,`switch`语句可以接受String类型的值,这为编写更灵活的代码提供了便利。 5. **String对象的创建**:`String str = new String("abc");`会创建两个对象。"abc...
在Java编程语言中,`switch`语句是一种条件控制结构,它允许程序根据不同的值执行不同的代码块。这个语句的灵活性在于它不仅支持基本的整数类型,还支持枚举类型。然而,不是所有数据类型都可以直接用于`switch`语句...
13. 是否可以在Java的switch case语句中使用字符串? 从Java 7开始,可以在switch case语句中使用字符串。 14. Java中的字符串方法有哪些? Java中的字符串方法有多种,包括toUpperCase()、toLowerCase()、trim()...
3. **`switch`表达式**:从`Java 14`引入,`switch`可以作为一个表达式,返回一个值,这使得`switch`可以在更复杂的上下文中使用,比如赋值、条件运算符等。 ```java String dayOfWeek = ...; int dayNumber = ...
- 自Java 7起,引入了对`String`类型的switch支持,但case标签必须是字符串常量或字面量。 3. **case语句**: - 每个case后面跟着要比较的值和冒号。值的数据类型必须与表达式的结果类型相同,并且必须是常量或...