10、选择语句switch的基本用法

 switch语句格式:
        switch(表达式){
            case 值1:
                语句体1;
                break;
            case 值2:
                语句体2;
                break;
            ...
            default:
                语句体n+1;
                break;
        }

语句格式解释说明:

表达式:取值是有限定的,byte、short、int、char,JDK5以后可以是枚举,JDK7以后可以是字符串

case:后面跟的是要和表达式进行比较的值。

语句体:要执行的代码。

break:表示中断,结束,可以控制switch语句的结束。

default:当所有的值和表达式不匹配的时候,就执行default控制的语句(其实它就相当于if语句的else)。

一个面试题:

byte可以作为switch的表达式吗?long?String?

答:byte可以,long不可以,String在JDK7以后可以。

案例:

键盘录入一个数据,根据这个数据,我们输出对应的星期?
            键盘录入1,对应输出星期一
            键盘录入2,对应输出星期二
            ...
            键盘录入7,对应输出星期日

分析:

1、键盘录入,用Scanner实现。

2、判断即可以使用if语句,也可以使用switch。

代码:

import java.util.Scanner;

public class SwitchDemo {
    public static void main(String[] args) {
        //创建键盘录入对象
        Scanner sc=new Scanner(System.in);

        //控制键盘录入数据
        System.out.println("请输入一个数据(1-7):");
        int week=sc.nextInt();

        //switch判断语句
        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;
        }


    }
}

运行结果如下:

请输入一个数据(1-7):
7
星期日

switch语句的注意事项:

A:case后面只能是常量,不能是变量,而且,多个case后面的值不能出现相同的

B:default可以省略吗?

      可以省略,但是不建议,因为它的作用是对不正确的情况给出提示。

C:break可以省略吗?

      可以省略,但是结果可能不是我们想要的。

      会出现一个现象,case穿透。

      最终我们建议不要省略。

D:default一定要在最后吗?

      不一定,可以在任意位置,但是建议在最后。

E:switch语句的结束条件?

      a:遇到break就结束了。

      b:执行到末尾就结束了。

代码:

public class SwitchTest {
    public static void main(String[] args) {
        int x=2;
        int y=3;
        switch(x){
            default:
                y++;
                break;
            case 3:
                y++;
            case 4:
                y++;
        }
        System.out.println("y="+y);
        System.out.println("----------");

        int a=2;
        int b=3;
        switch(a){
            default:
                b++;
            case 3:
                b++;
            case 4:
                b++;
        }
        System.out.println("b="+b);
    }
}

代码运行如下:

y=4
----------
b=6

案例:

根据键盘录入的字符串,判断是否有满足要求的,如有就输出,否则,提示有误。

代码:

import java.util.Scanner;
public class SwitchTest3 {
    public static void main(String[] args) {
        //创建键盘录入对象
        Scanner sc=new Scanner(System.in);

        //录入数据
        System.out.println("请输入你要判断的字符串");
        String s=sc.nextLine();

        switch (s){
            case "hello":
                System.out.println("你输入的是hello");
                break;
            case "world":
                System.out.println("你输入的是world");
                break;
            case "java":
                System.out.println("你输入的是java");
                break;
            default:
                System.out.println("没有找到");
        }
    }
}

代码运行如下:

请输入你要判断的字符串
java
你输入的是java

本小节完。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值