概述
switch 用法
-
switch适用于byte,int, short, char(Java1.6),Java1.7增加string
-
如果case语句中少写了break,编译不会报错,但是会一直执行之后所有case条件下的语句而不再判断,直到default语句
-
如果没有满足条件的case语句,就执行default内容。default语句不是必须,可不写
/**
* 若当前匹配成功的case不存在break,则从当前case开始,依次返回后续case的返回值,直到遇到
break,跳出判断
* 输出“char a char c”
*/
private static void CharTest() {
char ch = 'a';
switch (ch) {
case 'b' :
System.out.println("char b");
break;
case 'a' :
System.out.println("char a");
case 'c' :
System.out.println("char c");
break;
default:
System.out.println("default");
}
}
/**
* 若未找到,则执行默认的case。
* 输出“default执行”
*/
private static void IntTest() {
int a = 10;
switch (a) {
case 2 :
System.out.println(".......2");
break;
case 12 :
System.out.println(".......10");
break;
default:
System.out.println("default执行");
}
}
/**
* 判断String类型
* 输出“my name is lihua”
*/
private static void StringTest() {
String str = "lh";
switch (str) {
case "lh" :
System.out.println("my name is lihua");
break;
case "ln" :
System.out.println("my name is lini");
break;
default:
System.out.println("finally it's me");
}
}
switch case与if else的区别:
- switch case会生成一个跳转表来指示实际的case分支的地址,类似空间换时间;
- if...else却需要遍历条件分支直到命中条件;
switch case的优缺点:
- 当分支较多时,用switch的效率是很高的。因为switch是确定了选择值之后直接跳转到那个特定的分支.
- switch...case占用较多的代码空间,因为它要生成跳表,特别是当case常量分布范围很大但实际有效值又比较少的情况,switch...case的空间利用率将变得很低。
- switch...case只能处理case为常量的情况。
最后
以上就是爱听歌山水为你收集整理的switch简单用法及性能的全部内容,希望文章能够帮你解决switch简单用法及性能所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复