原标题:Java基础篇:switch语句
在平时的java学习中,switch语句也是很重要的一部分,今天就简单的聊一下switch语句。
switch语句是Java的多路分支语句。它提供了一种基于一个表达式的值来使程序执行不同部分的简单方法。因此,它提供了一个比一系列if-else-if语句更好的选择。switch语句的通用形式如下:
switch (expression) {
case value1:
// statement sequence
break;
case value2:
// statement sequence
break;
case valueN:
// statement sequence
break;
default:
// default statement sequence
}
表达式expression必须为byte,short,int或char类型。每个case语句后的值value必须是与表达式类型兼容的特定的一个常量(它必须为一个常量,而不是变量)。重复的case值是不允许的。
switch语句的执行过程如下:表达式的值与每个case语句中的常量作比较。如果发现了一个与之相匹配的,则执行该case语句后的代码。如果没有一个case常量与表达式的值相匹配,则执行default语句。当然,default语句是可选的。如果没有相匹配的case语句,也没有default语句,则什么也不执行。
在case语句序列中的break语句将引起程序流从整个switch语句退出。当遇到一个break语句时,程序将从整个switch语句后的第一行代码开始继续执行。这有一种“跳出” switch语句的效果。
下面是一个使用switch语句的简单例子:
// A simple example of the switch.
class SampleSwitch {
public static void main(String args[]) {
for(int i=0; i<6; i++)
switch(i) {
case 0:
System.out.println("i is zero.");
break;
case 1:
System.out.println("i is one.");
break;
case 2:
System.out.println("i is two.");
break;
case 3:
System.out.println("i is three.");
break;
default:
System.out.println("i is greater than 3.");
}
}
}
该程序的输出如下:
i is zero.
i is one.
i is two.
i is three.
i is greater than 3.
i is greater than 3.
从中可以看出,每一次循环,与i值相配的case常量后的相关语句就被执行。其他语句则被忽略。当i大于3时,没有可以匹配的case语句,因此执行default语句。
break语句是可选的。如果你省略了break语句,程序将继续执行下一个case语句。有时需要在多个case语句之间没有break语句。例如下面的程序:
// In a switch, break statements are optional.
class MissingBreak {
public static void main(String args[]) {
for(int i=0; i<12; i++)
switch(i) {
case 0:
case 1:
case 2:
case 3:
case 4:
System.out.println("i is less than 5");
break;
case 5:
case 6:
case 7:
case 8:
case 9:
System.out.println("i is less than 10");
break;
default:
System.out.println("i is 10 or more");
}
}
}
该程序产生的输出如下:
i is less than 5
i is less than 5
i is less than 5
i is less than 5
i is less than 5
i is less than 10
i is less than 10
i is less than 10
i is less than 10
i is less than 10
i is 10 or more
i is 10 or more
正如该程序所演示的那样,如果没有break语句,程序将继续执行下面的每一个case语句,直到遇到break语句(或switch语句的末尾)。
当然该例子是为了示例而人为构造的,省略break语句在真实的程序中有许多实际的应用。为了说明它更现实的用法,让我们考虑下例对以前显示季节例子的重写。这个重写的版本使用switch语句来使程序的执行更高效。
// An improved version of the season program.
class Switch {
public static void main(String args[]) {
int month = 4;
String season;
switch (month) {
case 12:
case 1:
case 2:
season = "Winter";
break;
case 3:
case 4:
case 5:
season = "Spring";
break;
case 6:
case 7:
case 8:
season = "Summer";
break;
case 9:
case 10:
case 11:
season = "Autumn";
break;
default:
season = "Bogus Month";
}
System.out.println("April is in the " + season + ".");
}
}
结束
Java基础篇:switch语句到这里就说完了,有喜欢的就给个关注呗!游戏网
相关下载 |
原标题:KPL:YTG靠情怀吃饭?770下场解释兽兽轮换原因,语句矛盾引争议 在这次转会期各大俱乐部的变动都还是非常大的,尤其集中于教练这一方面,说是各大俱乐详情>>
原标题:KPL:YTG靠情怀吃饭?770下场解释兽兽轮换原因,语句矛盾引争议 在这次转会期各大俱乐部的变动都还是非常大的,尤其集中于教练这一方面,说是各大俱详情>>
经典搞笑语句之你帅,你帅,你天下最帅 1.不,请别送我鲜花儿!!花儿是植物的生殖器,我可不想捧着一堆生殖器和你漫无目的地散步在校园里—_-! 2. 你帅,你帅,你天下最帅,头详情>>
超级经典搞笑的语句 1.看你玉树临风,英俊潇洒,风流倜傥,人见人爱,花见花开,想必一定是人渣中的极品,禽兽中的禽兽,而且据我观察,你肯定从小缺钙,长大缺爱,姥姥不疼,舅舅详情>>
Game234问答中心有网友提出了一个比较有代表性的问题【求陈涉世家全文翻译,注意要字数最少的,语句最精...】,【求陈涉世家全文翻译,注意要字数最少的,语句最精...】具体问题如下:求陈涉世家全文翻详情>>
Java跳转控制语句—break,continue,return详解1.概述:为了让循环在某一步的时候结束或者跳过某些数据或者不要这些数据,现在无法实现这个需求。为了弥补这个缺陷,Java就提供了详情>>
小编为您搜罗的答案:不等于是...<>...或者...not=...i=1Ifi<>0ThenMsgbox"条件判断符合被通过!!"EndIfi=1Ifn详情>>
小编为您搜罗的答案:你好楼主,答案是:愿你喜结良缘.谢谢望采纳.希望采纳小编为您搜罗的答案:答案1谜底:第1个字情来情去情随缘2雁来雁去雁不散3潮起潮落潮不眠4夜深明月梦婵娟1详情>>
仔细地选择与每个位置相适应的语句,从各种角度检查效果详情>>
小编为您搜罗的答案:词语:冰清玉洁慧指兰心闭月羞花沉鱼雁落不让须眉玉洁冰清贤良淑惠白净可人艳若桃李花枝招展温柔可人活泼可爱亭亭玉立详情>>
小编为您搜罗的答案:这个功能相当于在DOS环境下的Path环境变量。如果打开文件的时候,当前目录中不存在,那么将会自动查找Path中指定的目录。小编为您搜罗的答案:该命令的作用是设置默认路径,也称缺省详情>>
小编为您搜罗的答案: 加减乘除,算不尽您作出的奉献!诗词歌赋,颂不完对您的崇敬!您用知识甘露,浇开我们理想的花朵;您用心灵清泉,润育我们情操的美果。在这不寻常的节曰里,献上我们深深的祝福! 每年,详情>>
小编为您搜罗的答案:◆过去的一页,能不翻就不要翻,翻落了灰尘会迷了双眼。 ◆成熟不是人的心变老,是泪在打转还能微笑。◆你若流泪,先湿的是我的心。◆有些人说不出哪里好,但就是谁都替代不了详情>>
小编为您搜罗的答案:答案必须是C。。第一个A不用说了不可能的事。第二个B也不可能。。答案D。是抛出异常,但它不能跟catch一起使用。所以选C了。小编为您搜罗的答案:C。trycatc详情>>
小编为您搜罗的答案:1、走得最急的,都是最美的风景;伤得最深的,也总是那些最真的感情。2、有些人说不出哪里好,但就是谁都替代不了!3、有时候我们要冷静问问自已,我们在追求什么?我们活着为了什么?详情>>
小编为您搜罗的答案:三四:1、别担心,我从记事开始就在生死之间游走了!<br/>2、世上总有些人值得用一生守护。<br/>3、如果你能遇到这样的人就能体会……那是种幸运……也详情>>
小编为您搜罗的答案: “古来圣贤皆寂寞,唯有饮者留其名”,我本非圣贤,却依旧寂寞得紧,亦不是饮者,看来只能是身与名俱灭了。寂寞越来越像自己的影子一样,亦步亦趋。愈人多,愈寂寞;愈独处详情>>
小编为您搜罗的答案:<p>a是个int呀,怎么case用asc码?</p><p><strong>把单引号'...'去掉就详情>>
小编为您搜罗的答案:第一集:1、子乔:曾小贤,你是一个男人,能让你兴奋的应该是魔鬼的身材而不是魔鬼的后妈!2、小贤:哼,昨天我右眼皮跳你也说我有艳遇。子乔:你不懂,左眼跳桃花开,右眼跳菊花开。正详情>>
小编为您搜罗的答案:多关心关心她,不要只停留在网络电话上,偶尔给她点小惊喜,现在网络这么发达,什么淘宝京东,同城鲜花都可以的,女孩子都喜欢偶尔的小惊喜,他身边的人肯定会羡慕死,看谁还敢说是单身狗,让她详情>>
我追逐的是你的背影,我跟随的是你的微笑。就算黑夜到来,我依然在你左右!——永恒梦魇一曲终了?,繁详情>>
放开那三国语句解释,助你深入理解小攻略,玩了这么长时间了,我想很多人都被巴别的语言组织能力恶心过,本人也不敢说自己多权威,只是通过游戏中的经验来给大家解释下一些技能介绍,能为大家解开一详情>>
放开那三国语句解释,助你深入理解小攻略,玩了这么长时间了,我想很多人都被巴别的语言组织能力恶心过,本人也不敢说自己多权威,只是通过游戏中的经验来给大家解释下一些技能介绍,能为大家解开一详情>>