条件结构之switch语句

来源:互联网 发布:网络销售入门 编辑:程序博客网 时间:2024/06/04 20:09

在编程语言中,条件语句一般除了if结构,还有一个switch语句结构。在选择条件少时,if语句很适合,也很简单。但是当情况变多的时候,再使用if语句就显得很复杂、很难以理解了。而这时就可以使用switch语句结构来解决问题。所以来说,当出现多重条件是,应该尽可能的使用switch语句来解决问题。其结构一般为:

Switch(条件变量Svariable

{

casevalue1: 满足条件的结果情况; break;

casevalue2: 满足条件的结果情况; break;

casevalue3: 满足条件的结果情况; break;

casevalueN: 满足条件的结果情况; break;

default:处理错误的函数

}

注意一:条件变量Svariable必须是能计算出一个char、byte、short或int型值。

注意二:Value的类型必须与条件变量Svariable的类型一样。如Svariable是int型,则value就要是int型如0、1、2….,需要注意的是,当Svariable是char型时,value的值需要用“’’”包住,如“ ’A ’”。

注意三:break关键字是可选的,它的作用是终止整个switch语句。如果没有break关键词;不管有没有找到满足的条件,语句都会顺序执行。最后会执行处理处理错误的函数。如有有break关键词,当找到满足的条件后,整个switch语句就会终止。

注意四:default情况是可选的,它的的作用是处理出现所有条件都没满足的情况,给用户提示。

下面用学生成绩等级的例子来加深理解switch语句:成绩等级A是90到100,B是75到90,C是60到75,D是低于60.要求输入成绩等级,显示分数范围,等级错误时,提示用户重新输入:

char grade='A';

switch(grade)

{

case 'A': System.out.println("A is thatthe score is 90<=score<=100");break;

case 'B': System.out.println("B is thatthe score is 75<=score<90");break;

case 'C': System.out.println("C is thatthe score is 60<=score<75");break;

case 'D': System.out.println("D is thatthe score is 0<=score<60");break;

default:System.out.println("Wrongof the grade .Please re-enter it"); break;

}

通过上面的例子对比之前的switch结构,我们可以看出char型变量grade是swi语句结构中的条件Svariable变量,而grade变量的值A、B、C、D则是相对的vaule1,vaule2,vaule2,vaule3。因为是char变量,所以用“'A'”表示。再来说一下关键字break;该代码中显示条件变量grade的值是A;所以当存在break关键字时,程序会直接输出"A is that the score is 90<=score<=100"然后终止。当没有break关键字时,在找到满足条件后,程序依然执行,在判断其他三个条件不满足后,会执行default情况的println输出函数。也就是程序会输出:

"Ais that the score is 90<=score<=100"

"Wrongof the grade .Please re-enter it"

这显然不符合事实。Default中的处理函数就是专门应对所有条件都不满足的错误情况的。所以我们在写代码时,要注意关键字break的运用。

 

原创粉丝点击