简述流程控制语句中的switch语句的结构是怎样的
switch语句的格式:
switch (表达式){
case目标值1:
执行语句1
break;
case目标值2:
执行语句2
break;
......
case目标值n:
执行语句n
break;
default:
执行语句n+1
break;
}
在上面的格式中,switch语句将表达式的值与每个case中的目标值进行匹配,如果找到了匹配的值,会执行对应case后的语句,如果没找到任何匹配的值,就会执行default后的语句。
扩展资料:
注意事项
在switch语句中的表达式只能是byte、short、char、int类型的值,如果传入其它类型的值,程序会报错。
但上述说法并不严谨,实际上在JDK5.0中引入的新特性enum枚举也可以作为switch语句表达式的值,在JDK7.0中也引入了新特性,switch语句可以接收一个String类型的值。
switch语句的练习代码:
public class SwitchDemo01 {
public staticvoid main(String[] args) {
int week = 5;
switch (week) {
case 1:
System.out.println("星期一");
break;
case 2:
System.out.println("星期二");
break;
case 3:
System.out.println("星期三");
break;
case 4:
System.out.println("星期四");
break;
case 5:
System.out.println("星期五");
break;
case 6:
System.out.println("星期六");
break;
case 7:
System.out.println("星期天");
break;
default:
System.out.println("输入的数字不正确...");
break;
}
}
}
switch语句的典型结构:
switch(controllingExpression)
{
case constantExpression1:statement1
case constantExpression2:statement2
case constantExpression3:statement3
default:statement
}
switch后面括号里的表达式的值,有对应于case语句后面的常量表达式值时,执行此case语句后的命令,之后跳出switch语句;没有对应值时,执行default后的语句,之后跳出switch语句。case和defalut的先后次序不影响执行结果,defalut也可以不要。
扩展资料:
switch语句规则:
1、switch语句非常有用,但在使用时必须谨慎。所写的任何switch语句都必须遵循以下规则:
2、只能针对基本数据类型中的整型类型使用switch,这些类型包括int、char等。对于其他类型,则必须使用if语句。
3、switch()的参数类型不能为实型 。
4、case标签必须是常量表达式(constantExpression),如42或者'4'。
5、case标签必须是惟一性的表达式;也就是说,不允许两个case具有相同的值。
参考资料来源:百度百科-switch(计算机语言关键字)
推荐于2016-09-04 · 知道合伙人数码行家
知道合伙人数码行家
向TA提问 私信TA
switch ( 表达式)
{
case 常量表达式1 :语句1;break;
case 常量表达式2 :语句2;break;
……
case 常量表达式n :语句n;break;
default:语句n+1;break;
}
说明:
break退出{ }
case后面只能跟一个值(加冒号:),而不能是一个表达式
switch(表达式) 后面没有;(分号)
{}前后没有;(分号)
switch语句规则
case标签必须是常量表达式(constant Expression)
只能针对基本数据类型使用switch,这些类型包括int、char等。对于其他类型,则必须使用if语句。
case标签必须是惟一性的表达式;也就是说,不允许两个case具有相同的值。
不要问为什么,C就这规定!我们只需要了解规则,学会应用即可!
猜想原因:浮点型数据不是准确的数据,在机器中只能表示出一个近似值,如:0.1 在机器中存的是0.09999612.... 也可能是0.09999723.... 根据精度不同,数据来源不同,其值是个不确定的数据,因此,不能用CASE来定位