java中的case_java中的switch case
发布日期:2021-10-27 11:20:15 浏览次数:1 分类:技术文章

本文共 1278 字,大约阅读时间需要 4 分钟。

switch-case语句格式如下

switch(变量){case变量值1://;

break;case变量值2://...;

break;

...case default://...;

break;

}

switch()变量类型只能是int、short、char、byte和enum类型。当进行case判断时,JVM会自动从上到小扫描,寻找匹配的case,可能存在以下情况:

情况一:若未找到,则执行默认的case。

int i = 5;switch(i){case 0:

System.out.println("0");break;case 1:

System.out.println("1");break;case 2:

System.out.println("2");break;default:

System.out.println("default");break;

}

输出:default

情况二:当每一个case都不存在break时,JVM并不会顺序输出每一个case对应的返回值,而是继续匹配,匹配不成功则返回默认case。

int i = 5;switch(i){case 0:

System.out.println("0");case 1:

System.out.println("1");

case 2:

System.out.println("2");default:

System.out.println("default");

}

输出:default

情况三:当每一个case都不存在break时,匹配成功后,从当前case开始,依次返回后续所有case的返回值。

int i = 2;switch(i){case 0:

System.out.println("0");case 1:

System.out.println("1");case 2:

System.out.println("2");default:

System.out.println("default");

}

输出:2

default

情况四:若当前匹配成功的case不存在break,则从当前case开始,依次返回后续case的返回值,直到遇到break,跳出判断。

int i = 2;switch(i){case 0:

System.out.println("0");case 1:

System.out.println("1");case 2:

System.out.println("2");case 3:

System.out.println("3");break;default:

System.out.println("default");

}

输出:2

3

因此switch case执行时,一定会先进行匹配,匹配成功返回当前case的值,再根据是否有break,判断是否继续输出,或是跳出判断。

还需注意的是case后面只能是常量,可以是运算表达式,但一定要符合正确的类型。不能是变量,即便变量在之前进行了赋值,JVM依然会报错。

a78b61687e5550cd90f298b1ed4f4ace.png

转载地址:https://blog.csdn.net/weixin_34518190/article/details/114414573 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!

上一篇:java .entryset_Java HashMap entrySet() 方法
下一篇:jni java_JNI——JAVA调用C

发表评论

最新留言

初次前来,多多关照!
[***.217.46.12]2024年04月27日 10时06分43秒