2

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

没有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 联乘系列

本文来自网络,不代表本站立场。转载请注明出处: https://tj.jiuquan.cc/a-2380756/
1
上一篇买电脑(买电脑有必要等618吗)
下一篇 路旁野店:卡塔尔游客多到骆驼加班

为您推荐

联系我们

联系我们

在线咨询: QQ交谈

邮箱: alzn66@foxmail.com

关注微信

微信扫一扫关注我们

返回顶部