switch(type)语句type类型

之前经常见到面试题上问 switch(type)中type类型或者下列哪些可以使用,自己知识存在模糊的一个印象,考猜测寻找结果,未能知道实质性的东西,偶然看到一个面试题的答案,豁然开朗,可以通过自己的分心来完成,还可以描述原因,下边是对swith的描述:


switch语句能否作用在byte上,能否作用在long上,能否作用在String上?
在switch(expr1)中,expr1只能是一个整数表达式或者枚举常量(更大字体)或者是字符型的,整数表达式可以是int基本类型或Integer包装类型,由于,byte,short,char都可以隐含转换为int,所以,这些类型以及这些类型的包装类型也是可以的。显然,long和String类型都不符合switch的语法规定,并且不能被隐式转换成int类型,所以,它们不能作用于swtich语句中。
### Java 中 Switch Case 语句详解 #### 基本语法结构 `switch-case` 是一种多分支选择结构,用于根据变量的不同取值执行不同的操作。其基本形式如下: ```java switch (expression) { case value1: // 当 expression 的值等于 value1 时执行的代码; break; case value2: // 当 expression 的值等于 value2 时执行的代码; break; ... default: // 如果没有任何匹配项,则执行此部分代码; } ``` 表达式 `expression` 可以是整数型(int, byte, short, char),枚举类型(enumeration type), 或者字符串(String)[^1]。 #### 关键字解释 - **case**: 表示一个可能的情况。 - **break**: 结束当前 case 并跳出整个 switch 语句;如果不加 break,默认会继续向下执行其他 cases。 - **default**: 所有条件都不满足的情况下执行的部分,相当于 if...else 里的 else 部分。 #### 实际应用案例 下面是一个简单的例子来展示如何使用 `switch-case` 来处理星期几的选择: ```java public class DayOfWeekExample { public static void main(String[] args) { int dayNumber = 3; // 星期三 String dayName; switch(dayNumber){ case 1 : dayName="Monday"; System.out.println("Today is " +dayName); break; case 2 : dayName="Tuesday"; System.out.println("Today is "+dayName ); break; case 3 : dayName="Wednesday"; System.out.println("Today is "+dayName ); break; case 4 : dayName="Thursday"; System.out.println("Today is "+dayName ); break; case 5 : dayName="Friday"; System.out.println("Today is "+dayName ); break; case 6 : dayName="Saturday"; System.out.println("Today is "+dayName ); break; case 7 : dayName="Sunday"; System.out.println("Today is "+dayName ); break; default: System.out.println("Invalid day number"); } } } ``` 这段程序通过给定的一个代表一周某天的日历编号(假设周一为第一天),输出对应的英文名称并打印出来。如果输入超出范围则提示错误信息。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值