简述流程控制语句中的switch语句的结构是怎样的

2024-12-04 11:53:21
推荐回答(3个)
回答1:

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;

        }

    }

}

回答2:

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(计算机语言关键字)

回答3:

switch语句的语法如下(switch,case和default是关键字):

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来定位