`
liyonghui160com
  • 浏览: 774680 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

java中的switch用String作为条件

    博客分类:
  • java
阅读更多

在开发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 switch中使用String作为分支条件

    在Java 6及之前的版本中,由于`switch`语句不支持直接使用`String`类型作为条件,因此需要采取其他方法来实现类似的功能。一种常见的做法是通过自定义枚举(`enum`)来间接支持字符串作为`switch`语句的条件。下面是...

    Java switch 语句如何使用 String 参数

    但是,从 Java 7 开始,switch 语句也支持使用 String 类型作为条件表达式。 在 Java 7 之前,如果我们尝试使用 String 参数在 switch 语句中,编译器将报告错误,指出“Cannot switch on a value of type String ...

    switch语句在java和c#中的区别

    在 Java 和 C# 中,`switch` 语句在语法和行为上有一些显著的区别,尤其是在处理多条 `case` 的连续执行和 `break` 的使用上。 首先,我们来看 C# 中的 `switch` 语句示例: ```csharp class StudentGrade { ...

    java中switch的使用及语法说明

    ### Java中switch的使用及语法说明 在Java编程语言中,`switch`语句是一种非常有用的控制结构,它允许程序基于一个表达式的值来选择执行不同的代码块。这对于需要根据不同条件执行不同操作的情况非常有用,尤其是在...

    Java-Java Switch语句详解教程

    总的来说,Java Switch语句是编写条件控制代码的一个强大工具,通过理解其工作原理和使用方法,可以提升代码的可读性和效率。在学习过程中,通过实践和不断练习,能够更好地掌握这一特性,并将其应用于实际项目中。

    Java中switch语句的注意事项.pdf

    需要注意的是,Java 7之后引入了枚举类型(enum),也可以在switch语句中使用。然而,浮点型(float和double)、long以及任何对象类型(包括String)是不被支持的。 每个case后面要跟的是要与switch表达式进行比较...

    Java中switch实例.pdf

    - 从Java 14开始,引入了`yield`关键字,使得`switch`表达式成为可能,这使得`switch`可以在表达式中使用,而不仅仅局限于语句。 总结来说,`switch`语句是Java中处理多分支逻辑的重要工具,尤其在处理枚举类型和...

    Java中的Switch语句

    在Java编程语言中,`switch`语句是一种条件控制结构,它允许程序基于不同的值执行不同的代码块。相比传统的`if...else if...else`结构,`switch`语句提供了更简洁、更易于理解和维护的方式来进行多分支选择。在本文...

    十大常见Java String问题_动力节点Java学院整理

    自JDK 7开始,Java允许在switch语句中直接使用String作为case条件,这在之前的版本中是不支持的。这样可以简化代码,提高可读性。 4. **转换String为数字** 当需要将字符串转换为整数或长整数时,可以使用Integer...

    10个Java经典的String面试题

    答案:jdk7+中的 switch 可以使用 String 类型。在 jdk7 之前,switch 语句只能使用整型或枚举类型,自从 jdk7 之后,switch 语句可以使用 String 类型。 5. String str = new String("abc"); 创建了几个对象,为...

    Java中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中switch选择语句代码详解

    Java 中的 Switch 选择语句是一种多路分支语句,用于根据不同的条件来执行不同的语句块。下面是 Switch 语句的基本结构: switch(表达式){ case 常量1: 语句块1; break; case 常量2: 语句块2; break; ... ...

    10个Java经典的String面试题!.pdf

    4. **String在switch语句中的使用**:从Java 7开始,`switch`语句可以接受String类型的值,这为编写更灵活的代码提供了便利。 5. **String对象的创建**:`String str = new String("abc");`会创建两个对象。"abc...

    switch语句能否作用在byte上,能否作用在long上,能否作用在String上

    在Java编程语言中,`switch`语句是一种条件控制结构,它允许程序根据不同的值执行不同的代码块。这个语句的灵活性在于它不仅支持基本的整数类型,还支持枚举类型。然而,不是所有数据类型都可以直接用于`switch`语句...

    Java String Interview Questions.pdf

    13. 是否可以在Java的switch case语句中使用字符串? 从Java 7开始,可以在switch case语句中使用字符串。 14. Java中的字符串方法有哪些? Java中的字符串方法有多种,包括toUpperCase()、toLowerCase()、trim()...

    switch选择结构

    3. **`switch`表达式**:从`Java 14`引入,`switch`可以作为一个表达式,返回一个值,这使得`switch`可以在更复杂的上下文中使用,比如赋值、条件运算符等。 ```java String dayOfWeek = ...; int dayNumber = ...

    Java switch case 语句.docx

    - 自Java 7起,引入了对`String`类型的switch支持,但case标签必须是字符串常量或字面量。 3. **case语句**: - 每个case后面跟着要比较的值和冒号。值的数据类型必须与表达式的结果类型相同,并且必须是常量或...

Global site tag (gtag.js) - Google Analytics