switch多级选择结构和java字节码文件反编译

switch多级选择结构

  1. 多选择结构还有一个实现方式就是switch case语句。
  2. switch case语句判断一个变量与一系列值中某个具体的值是否相等,每个值称为一个分支。
  3. switch语句中的变量类型可以是:byte,short,int或者char,从java的jdk7版本开始,switch支持String类型
  4. case标签必须为字符串常量或者字面量(即12345678abcd…类似)
  5. 遇到break就退出switch结构。
  6. switch后跟的是一个一开始定义了的变量,而case后跟的是具体的字符串常量或者字面量。

注意:case存在多级穿透现象,如果不加break,语句就会顺序执行下去,直到遇到break,switch就会跳出switch选择结构,如果没有break就一直顺序执行到整个switch语句结束,叫做case穿透。

结构流程图:switch多级选择结构和java字节码文件反编译_第1张图片
具体代码如图:
switch多级选择结构和java字节码文件反编译_第2张图片
匹配变量为字符串的代码演示:
switch多级选择结构和java字节码文件反编译_第3张图片

java字节码文件的反编译

  1. 字符的本质还是数字
  2. java源代码编译生成.class字节码文件,要想看懂字节码文件就要反编译,idea就可以
    步骤:点击structure项目结构
    switch多级选择结构和java字节码文件反编译_第4张图片
  3. 有个项目输出的路径
    switch多级选择结构和java字节码文件反编译_第5张图片
  4. 复制路径打开此电脑的路径搜索栏,粘贴路径
    switch多级选择结构和java字节码文件反编译_第6张图片
    switch多级选择结构和java字节码文件反编译_第7张图片
    switch多级选择结构和java字节码文件反编译_第8张图片
    即为字节码文件
    直接粘贴复制无法在idea中打开
    switch多级选择结构和java字节码文件反编译_第9张图片
  5. 如下图将其拖入idea文件夹得到反编译结果。

switch多级选择结构和java字节码文件反编译_第10张图片
6. 将通过structure复制的路径打开的文件,拖入通过点击左侧状态栏中open in explore打开的文件下即可
switch多级选择结构和java字节码文件反编译_第11张图片
7. 左侧状态栏会生成一个新的.java文件
8. switch多级选择结构和java字节码文件反编译_第12张图片

源码与idea反编译的对比如下
switch多级选择结构和java字节码文件反编译_第13张图片
注意:

  1. 每个对象都有一个对应的hashcode,通过hashcode进行比对判断
  2. 要把每一个break都写上。

你可能感兴趣的:(反编译,java)