首页>java频道>java教程>正文
java教程:多分支语句switch

www.zige365.com 2010-5-5 10:56:48 点击:发送给好友 和学友门交流一下 收藏到我的会员中心

switch语句根据表达式的值来执行多个操作中的一个,它的 般格式如下:

switch (expression){

case value1:statement1;

break;

case value2:statement2;

break;

…………

case valueN:statemendN;

break;

[default:defaultStatement;]

}

1.表达式expression可以返回任一简单类型的值(如整型、实? 、字符型),多分支语句把 表达式返回的值与每个case子句中的值相比。如果匹配成功,则 ?行该case子句后的语句序 列。

2.case子句中的值valueI必须是常量,而且所有case子句中的值 是不同的。

3.default子句是任选的。当表达式的值与任一case子句中的? 都不匹配时,程序执行 default后面的语句。如果表达式的值与任一case子句中的值都不 ?配且没有default子句,则程 序不作任何操作,而是直接跳出switch语句。

4.break语句用来在执行完一个case分支后,使程序跳出switch语 ?,即终止switch语句的执行 。因为case子句只是起到一个标号的作用,用来查找匹配的入口 ?从此处开始执行,对后面 的case子句不再进行匹配,而是直接执行其后的语句序列,因此 该在每个case分支后,要用 break来终止后面的case分支语句的执行。 在一些特殊情况下,多个不同的case值要执行一组相同的操 ,这时可以不用break。

5.case分支中包括多个执行语句时,可以不用大括号{}括起。

6.switch语句的功能可以用if-else来实现,但在某些情况下,使 switch语句更简炼,可读性强 ,而且程序的执行效率提高。

7.举例:

例4.3.根据考试成绩的等级打印出百分制分数段。

public class GradeLevel{

public static void main(String args[]){

System.out.println("\\n**firstsituation**");

char grade='C';//normaluse

switch(grade){

case 'A':System.out.println(grade+" is 85~100");

break; case 'B':System.out.println(grade+" is 70~84");

break; case 'C':System.out.println(grade+" is 60~69");

break; case 'D':System.out.println(grade+" is <60");

break; default:System.out.println("input error");

} System.out.println("\\n**secondsituation**");

grade='A';∥creat error without break statement

switch(grade){

case 'A':System.out.println(grade+"is85~100");

case 'B':System.out.println(grade+"is70~84");

case 'C':System.out.println(grade+"is60~69");

case 'D':System.out.println(grade+"is<60");

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

} System.out.println("\\n**thirdsituation**");

grade='B';∥severalcasewithsameoperation

switch(grade){

case 'A':

case 'B':

case 'C':System.out.println(grade+"is>=60");

break; case 'D':System.out.println(grade+"is<60");

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

}

}

}

运行结果为

C:\\>java GradeLevel

****first situation****

C is 60~69

****second situation****

A is 85~100

A is 70~84

A is 60~69

A is <60

input error

****third situation****

B is >=60

从该例中我们可以看到break语句的作用。

我要投稿 新闻来源: 编辑: 作者:
相关新闻
java基础教程:条件语句if-else
java基础教程:流控制概述
java教程:位运算符
java教程:布尔逻辑运算符
java基础教程:关系运算符