switch选择结构基础
switch多选择结构
- 多选择结构还有一个实现方式就是switch case语句
- switch case 语句判断一个变量与一系列中某个值是否相等,每一个值称为一个分支
- switch语句中的变量类型可以是:byte,short ,int,char
- 从Java SE7开始,switch支持字符串String类型了
package com.sgz.structure;
import com.sun.org.apache.bcel.internal.generic.SWITCH;
import javax.jws.soap.SOAPBinding;
public class SwitchDemo01 {
public static void main(String[] args) {
//case穿透 //switch 匹配一个具体的值
/*每写一个case,都要加上break,否则case穿透性会把下面的都输出了*/
char grade = 'A';
switch (grade){ //把grade的值放在下面找相等的
case'A':
System.out.println("优秀");
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("未知等级");
}
}
}
//只输出了优秀
错误范例
- case穿透现象,所以每写完一个case都要加break,非常重要。
字符串类型的switch多选择类型
-
String s ="SGZ";
package com.sgz.structure; public class SwitchDemo02 { public static void main(String[] args) { String name = "zml"; //JDK7的新特性,表达式结果可以是字符串!! //字符的本质还是数字 //反编译 java——>class(字节码文件)----反编译(IDEA) switch (name){ case "zml"://冒号 System.out.println("wife" ); break;//加上break,防止穿透 case"lyy": System.out.println("friend1"); break; case"lzy": System.out.println("friend2"); break; case"sgz": System.out.println("me"); break; default://未知等级 System.out.println("写的啥啊"); } } }
反编译文件查看
- 找到class文件的地址
- 把class文件拷过去,从文件夹层面拷,不从idea里拷
- 最后还是找一个数字,每一个中文都会在hashCode的哈希表里有对应的数字

浙公网安备 33010602011771号