Java基础之流程控制05:switch多选择结构

switch多选择结构

  • 多选择结构还有一个实现方式就是switch case 语句

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

  • 语法:

    switch(expression){
        case value :
            //语句
            break; //可选
        case value :
            //语句
            break;//可选
            //你可以有任意数量的case语句
            default ://可选
            //
    }
    

if是判断区间,而switch 是判断一个具体的值,在这方面 ,用switch更加好。

注:可选的意思是,也能不选,不选程序也能跑起来。如果不选 break; ,下面的东西都会输出。这种现象就是 case 穿透现象。所以我们要注意,每输出一次,就要用 break; 结束 如下图:

当我们输入一个 ‘B’ 红色箭头所指,我们可以看到蓝色箭头所指,case 'B’以下,都没有用 break。所以全部输出了,玫瑰色方框中我们可以看见。

在这里插入图片描述

当我们输入一个 ‘A’ ,可见,橙色方框里面有 break ,所以 case没有穿透,输出 优秀就停止了。

在这里插入图片描述

所以正确的应该是这样写,如下图:
在这里插入图片描述

  • switch语句中的变量类型是:

    1. byte、short、int 或者 char
    2. 从 Java SE 7 开始
    3. switch 支持字符串 String 类型了
    4. 同时 case 标签必须为字符串常量或字面量

    实例:我们看到下图中,String name = ‘张浩’ ;

在这里插入图片描述

我们运行一下可以得到,红色箭头:

在这里插入图片描述

  • 反编译 java—class (字节码)------实现反编译(IDEA)

    第一步:打开 project Structure ,或者通过快捷键打开 Ctrl+Alt+Shift+S

在这里插入图片描述

第二步:下图红色方框中的路径复制下来。

在这里插入图片描述

第三步:复制在我们的地址栏上面

在这里插入图片描述

第四步:复制后,回车Enter,得到 一个 名为 production 的文件夹。

在这里插入图片描述

第五步:按照红色箭头的中步骤,一步步,点击至下图蓝色方框中的内容呈现。这些内容就是我们执行的 class文件

在这里插入图片描述

第六步 我们 右击 用 notepa++ ,打开,可以看到一堆乱码,根本看不懂。所以我们需要反编译。

在这里插入图片描述
第七步 如下图步骤;

在这里插入图片描述

得到下图;

在这里插入图片描述

那么我们把第五步中呈现的文件夹中的一个类复制到上图的文件夹中:

在这里插入图片描述

在这里插入图片描述

第六步 打开idea,我们可以发现多出来了这个类,红色箭头所指,这就是我们第五步复制粘贴上去的呈现效果。双击红色箭头所指的类。蓝色区域就是我们通过 idea 反编译 生成的文件。

在这里插入图片描述

第六步 我们可以打开 split Right,来看一下代码,进行对比,得出为什么 switch 为什么能够支持字符串 String 类型

在这里插入图片描述

这里我们就看到对比:可以看到红色框中 hashCode,可以理解为每一个对象都有自己的一个 hashCode,它是通过一些特定的算法生成的,图中的名字,中文都有对应的 hashCode 值。通过判断 hashCode 值相同不相同来进行比较。

在这里插入图片描述

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值