switch 中可以使用字符串当判断条件

本文详细解析了Java中switch语句的使用方法及其在不同数据类型上的适用性,包括byte、short、char、int、long、String及枚举类型,并介绍了从Java 7开始新增的支持String的功能。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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

   在switchexpr1)中,expr1只能是一个整数表达式或者枚举常量(更大字体),整数表达式可以是int基本类型或Integer包装类型,由于,byte,short,char都可以隐含转换为int,所以,这些类型以及这些类型的包装类型也是可以的。显然,longString类型都不符合switch的语法规定(版本原因),并且不能被隐式转换成int类型,所以,它们不能作用于swtich语句中。

Java7之前,switch只能支持 byte、short、char、int或者其对应的封装类以及Enum类型。在Java7中已经支持String类型。

//枚举类型,把要判断的条件先定义成enum

 enum CompassPoint {
      case North
      case South
      case East
      case West
}

//使用 Switch 语句来匹配枚举值

directionToHead = .South
switch directionToHead {
  case .North:
      println("Lots of planets have a north")
  case .South:
      println("Watch out for penguins")
  case .East:
      println("Where the sun rises")
  case .West:
      println("Where the skies are blue")
}
// 输出"Watch out for penguins”

转载于:https://www.cnblogs.com/panpanpan/p/5983048.html

### 使用字符串作为 `switch` 语句的判断条件 在许多现代编程语言中,如 JavaJavaScript,支持使用字符串作为 `switch` 语句的判断条件。以下是两种常见语言的具体语法和示例。 #### Java使用字符串作为 `switch` 的判断条件Java SE 7 起,`switch` 支持字符串类型的表达式。字符串比较基于其内容而非引用地址[^1]。 ```java import java.util.Scanner; public class StringSwitchExample { public static void main(String[] args) { Scanner scanner = new Scanner(System.in); System.out.println("请输入水果名称:"); String fruit = scanner.nextLine(); switch (fruit.toLowerCase()) { // 将输入转换为小写以统一处理 case "apple": System.out.println("苹果的价格是每公斤5元"); break; case "banana": System.out.println("香蕉的价格是每公斤3元"); break; case "orange": System.out.println("橙子的价格是每公斤4元"); break; default: System.out.println("我们不销售这种水果"); break; } scanner.close(); } } ``` 上述代码展示了如何通过用户输入的字符串来决定执行哪一段代码块。 #### JavaScript 中使用字符串作为 `switch` 的判断条件 JavaScript 的 `switch` 语句同样可以接受字符串作为参数,并根据匹配的 `case` 执行相应操作[^5]。 ```javascript function getFruitPrice(fruitName) { let price; switch (fruitName.toLowerCase()) { // 统一转为小写以便于比较 case 'apple': price = '苹果的价格是每公斤5元'; break; case 'banana': price = '香蕉的价格是每公斤3元'; break; case 'orange': price = '橙子的价格是每公斤4元'; break; default: price = '我们不销售这种水果'; break; } return price; } console.log(getFruitPrice('Apple')); // 输出: 苹果的价格是每公斤5元 console.log(getFruitPrice('Grapes')); // 输出: 我们不销售这种水果 ``` 此代码片段说明了如何依据传入函数的不同字符串返回对应的结果。 ### 总结 无论是 Java 还是 JavaScript,都可以方便地使用字符串作为 `switch` 表达式的值来进行多分支逻辑控制。这不仅提高了代码可读性,还减少了冗余的嵌套结构][^[^24]。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值