Switch选择结构

Switch选择结构

多选择结构除了if else if外还有一个switch,对于Switch的实现简单说说

  • Switch case 语句判断一个变量与一系列中的某个值是否相等,每个值就称为一个分支

  • Switch case 语句中的变量类型可以是byte,short,int,char ,String(java 7)

  • 语法结构

switch(expression){
    case value:
        //语句
        break;//可选
    case value:
        //语句
        break;//可选
        //可以有N个case语句
    default://可选
        //语句
}

解释一下

  • expression表达式的值是不是就要和下面的value对应啊,这样才能进行一个选择嘛
  • 没有对应的就走一个默认的,也就是default那个判断了,所以一般我们在书写的时候尽量带一个default
  • 对于break语句边写边说吧

写个代码就会很清楚啦 先了解一个词case表示穿透,这样的话就先解决break语句吧

public class SwitchText {
    public static void main(String[] args) {
        //定义一个变量
        char expression = 'b';//java是区分单引号和双引号的,双引号表示字符串,单引号表示字符,在定义的时候注意一下就行了
        //别搞混了,一个字符也可以认为是字符串,但是多个字符组成的字符串总不能说是一个字符吧

        switch(expression){
            case 'a':
            System.out.println("A");
            break;
            case 'b':
            System.out.println("B");
            case 'c':
            System.out.println("C");
            case 'd':
            System.out.println("D");
        }

    }
}

//输出
/*
B
C
D
*/

我们想要的结果是选择b就输出B就行了,但是下面的全部都输出了,这种现象就叫做**case 穿透**,所以我们没有什么特殊要求,尽量都加上break语句,表示结束,运行完当前语句就结束这个Switch选择

  • 当然还有一个默认值,这个就不演示了,就是加上默认值,没有在case中匹配到就会走默认值那条分支,要是之前的语句没有break语句的话,默认值也会跟着进行输出,emmm…算了,还是写一下吧

在这里插入图片描述

在这里插入图片描述

这样不知道能不能理解这个breakdefault 语句了,我觉得还是很好理解的

  • 所以加上break 之后,只会执行匹配的那个case,执行完然后就结束了,就不会有什么穿透现象了

还有一个问题需要解决

  • 要是执行表达式的语句在break的上面会怎么样,试试呗,实践是真谛

在这里插入图片描述

结果就不截图了

  • 结果为B C

  • 所以,这个程序是遇到break就会停止,有了break就不会有**case 穿透 **了

重点

  • 表达式除了八大基本类型外,还支持String类型,这个在开始就说明了
  • 对于这个重点就不举例了,用法还八大基本类型一样,不过注意,""这个才表示字符串,多注意单双引号啊

既然是重点,那就不会只有这么点东西了,来,上点难度

  • 我们知道所有的字符的底层都是数字,所以这个字符串也应该是由数字组成的
  • 了解一个点反编译 ,对于编译在很早前就讲过 是一个把java文件变成class文件的过程,而反编译就是将这个过程给反过来
  • 看如下string ,左边的是反编译右边的字节码文件的,这么一比较就知道底层是怎么进行的了,这里就不过多解释了

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

不敢懈怠伪装起来

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值