科学健康资讯 · 内容仅供参考,不替代专业诊疗 联系我们|疾病百科
操作系统

switch case用法(switch case用法举例default)

2023-06-06 操作系统 本文链接

没有break,执行语句会穿透case;switch 支持哪些类型与JDK版本有关

我是Java程序猿

#35岁码农# 面试初级Java程序猿的时候,我偶尔也会出个switch相关的问题。 比如,switch都支持那些数据类型,char,int,byte,short,long,String,枚举类等等。 当然,相信很多人也是回答不上来的。 在switch面试中,往往还会问,假如在case中,没有break,结果会如何? 很多人也会懵逼,case中还会不带break的么?如果不带,idea早就告知了。 但是,离开idea,咱还能不能知道呢? 而且在现实中,我也见过有同事没写break,然后最后还没发现bug的。 不管如何,知道其原理,还是有必要性的。 举例: public static void main(String[] args) { for (int i = 1; i <= 10; i++) { switch (i % 2) { case 0: System.out.println(i + “ is even number”); case 1: System.out.println(i + “ is odd number”); default: System.out.println(i + “ is no exist ”); } } } 简单的例子,抛开IDEA,你能知道结果么? 关注我,每天学一点,进步快一点。

C 语言烦恼:在 switch 语句中两次具有相同的 case 值是错误的。在不同的地方*两次具有相同的 case 值应该只是一个错误*. 打破一堆 switch (errno) 语句,其中例如 ENOTSUP 和 EOPNOTSUPP 是相同的值。

Python拥有一流的功能,他们可以用字典模拟switch/case语句

def dispatch_if(operator, x, y):

if operator == 'add':

return x + y

elif operator == 'sub':

return x - y

elif operator == 'mul':

return x * y

elif operator == 'div':

return x / y

else:

return None

def dispatch_dict(operator, x, y):

return {

'add': lambda: x + y,

'sub': lambda: x - y,

'mul': lambda: x * y,

'div': lambda: x / y,

}.get(operator, lambda: None)()

>>> dispatch_if('mul', 2, 8)

16

>>> dispatch_dict('mul', 2, 8)

16

#python#

CASETiFY x BLACKPINK 联乘系列

本文内容仅供健康科普参考,不能替代专业医疗诊断和治疗建议。如有身体不适,请及时就医并遵从医师指导。

相关阅读