首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > 编程 >

Java switch-case话语用法

2013-11-23 
Java switch-case语句用法对于流程控制中的switch-case语句,一直是我的一个弱项.?每当考试或者面试笔试的

Java switch-case语句用法

对于流程控制中的switch-case语句,一直是我的一个弱项.?
每当考试或者面试笔试的时候,总是丈二和尚摸不着头脑,我想这应该是我基础太差的原因吧!?
为了彻底解决这个心病,不得不花点功夫了!?
首先从原理上来阐述这个问题:?
switch(表达式)?
{?
case 常量表达式1:语句1;?
....?
case 常量表达式2:语句2;?
default:语句;?
}?
1.default就是如果没有符合的case就执行它,default并不是必须的.?
2.case后的语句可以不用大括号.?
3.switch语句的判断条件可以接受int,byte,char,short,不能接受其他类型.?
4.一旦case匹配,就会顺序执行后面的程序代码,而不管后面的case是否匹配,直到遇见break,利用这一特性可以让好几个case执行统一语句.?

原理归原理,下面是几个容易混淆的例子.?

1.标准型(case后面都有break语句)?
int i=3;?
switch(i)?
{?
?? case 1:?
?????? System.out.println(1);?
?????? break;?
?? case 2:?
?????? System.out.println(2);?
?????? break;?
?? case 3:?
?????? System.out.println(3);?
?????? break;?
?? default:?
?????? System.out.println("default");?
?????? break;?
}?
输出结果:?
???????? 3?
2.特殊型1(不是完全有break语句,可以完成一些特殊应用)?
int year=2005;?
int month=3;?
int day;?
switch(month)?
{?
?? case 1:?
?? case 3:?
?? case 5:?
?? case 7:?
?? case 8:?
?? case 10:?
?? case 12:?
???????? day=31;?
???????? break;?
?? case 2:?
???????? day=28;?
???????? break;?
?? case 4:?
?? case 6:?
?? case 9:?
?? case 11:?
????????? day=30;?
????????? break;?
}?
这里 day=31;?
3.特殊型2(default的位置)?
int i=1;?
switch(i)?
{?
?? case 1:?
?????? System.out.println(1);?
??? default:?
?????? System.out.println("default");?
?? case 2:?
?????? System.out.println(2);?
?????? break;?
?? case 3:?
?????? System.out.println(3);?
?????? break;?
}?
输出结果:?
???????? 1?
???????? default?
???????? 2

?

?

引自:http://jinyanliang.iteye.com/blog/688756

热点排行