Java day09
switch多选择结构:
多选择结构还有一个实现方式就是switch case语句。
switch case 语句判断一个变量与一系列值中的某个值是否相等,每个值称为一个分支。
switch(expression){ case value : //语句 break;//可选 case value : //语句 break;//可选 //你可以有任意数量的case语句 default : //可选 //语句 }
switch语句中的变量类型可以是:
byte、short、int或者char。
case标签必须为字符串常量或字面量。
public class SwitchDemo01 { public static void main(String[] args) { //case 穿透 //switch 匹配一个具体值 char grade = 'F'; switch (grade){ case 'A': System.out.println("优秀"); break; //可选,如果不加break的话跑完这个语句还会接着往下执行,比如输入A,这里有break就会只输出优秀,没有break的话会把“优秀”以及下面的都输出一遍。 case 'B': System.out.println("良好"); break; case 'C': System.out.println("及格"); break; case 'D': System.out.println("再接再厉"); break; case 'E': System.out.println("挂科"); break; default: System.out.println("未知等级"); } } } /* 未知等级 */
从Java SE 7 开始 switch 支持字符串String 类型了
public class SwitchDemo02 { public static void main(String[] args) { String name = "vg"; //JDK7的新特性,表达式结果可以是字符串!!! //字符的本质还是数字 //反编译 java---class(字节码文件)---反编译(IDEA) switch (name){ case"vg": System.out.println("vg"); break; case"llx": System.out.println("llx"); break; default: System.out.println("弄啥呢"); } } } /* vg */
如何去查看反编译文件呢?
步骤:1.在IDEA里面找到Project Structure(在idea界面的左上角或者右上角。快捷键Ctrl+Alt+Shift+s)
2.点进Project栏里面有个Project compiler output路径,随便去一个地方打开这个路径。依次打开文件发现里面都是我们在IDEA上写的东西,最后可以看到我们写的class文件
3.右键打开里面的class文件我们会发现全是乱码,也无法直接ctrl c+ctrl v拷贝进我们的IDEA里,如何查看呢?
4.我们可以在IDEA里面打开一个class的包(package)的文件夹,我们可以看到IDEA里面的class,直接从上一个打开的文件夹里拷贝到这个文件夹里,从文件夹的层面上拷贝过来我们就可以看到反编译之后的文件(通过IDEA实现的反编译)。以下是案例,对比上方的SwitchDemo02
// // Source code recreated from a .class file by IntelliJ IDEA // (powered by Fernflower decompiler) // package com.llx.struct; public class SwitchDemo02 { public SwitchDemo02() { } public static void main(String[] args) { String name = "vg"; byte var3 = -1; switch(name.hashCode()) { case 3761: if (name.equals("vg")) { var3 = 0; } break; case 107256: if (name.equals("llx")) { var3 = 1; } } switch(var3) { case 0: System.out.println("vg"); break; case 1: System.out.println("llx"); break; default: System.out.println("弄啥呢"); } } }
看源码一个很重要的思想!!!

浙公网安备 33010602011771号