if(条件表达式){
语句序列1;
}
else {
语句序列2;
}
if(条件表达式1){
语句序列1;
}
else if(条件表达式2) {
语句序列2;
}
else if(条件表达式3) {
语句序列3;
}
......
else {
语句序列n+1;
}
if(条件表达式1){
if(条件表达式1){
}
}
注意:
switch(表达式){
case 常量表达式1:
语句序列1;
break;
case 常量表达式2:
语句序列2;
break;
.........
case 常量表达式n:
语句序列n;
break;
default:
语句序列n+1;
}
package com.study.struct; public class switch2 { public static void main(String[] args) { //jdk7新特性,表达式结果可以是字符串!! //字符的本质还是数字 String name = "大橙子"; switch(name){ case "张三": System.out.println("张三"); break; //防止case穿透 case "大橙子": System.out.println("大橙子"); break; case "李四": System.out.println("李四"); break; default: System.out.println("干啥了"); } } }
idea 反编译
// // Source code recreated from a .class file by IntelliJ IDEA // (powered by FernFlower decompiler) // package com.study.struct; public class switch2 { public switch2() { } public static void main(String[] args) { String name = "大橙子"; byte var3 = -1; switch(name.hashCode()) { case 774889: if (name.equals("张三")) { var3 = 0; } break; case 842061: if (name.equals("李四")) { var3 = 2; } break; case 22800254: if (name.equals("大橙子")) { var3 = 1; } } switch(var3) { case 0: System.out.println("张三"); break; case 1: System.out.println("大橙子"); break; case 2: System.out.println("李四"); break; default: System.out.println("干啥了"); } } }