62,615
社区成员
发帖
与我相关
我的任务
分享
public class Test_A {
public static void main(String[] args) {
int i=1, j=0;
switch(i) {
case 2:
j+=6;
case 4:
j+=1;
default:
j +=2;
case 0:
j +=4;
}
System.out.println("j="+j);
}
}
public class Test_A {
public static void main(String[] args) {
int i=1, j=0;
switch(i) {
case 2:
j+=6;
case 4:
j+=1;
default:
j +=2;
case 1:
j +=4;
}
System.out.println("j="+j);
}
}
public static void main(java.lang.String[]);
Code:
0: iconst_1
1: istore_1
2: iconst_0
3: istore_2
4: iload_1
5: tableswitch{ //1 to 4
1: 45;
2: 36;
3: 42;
4: 39;
default: 42 }
36: iinc 2, 6
39: iinc 2, 1
42: iinc 2, 2
45: iinc 2, 4
48: getstatic #2; //Field java/lang/System.out:Ljava/io/PrintStream;
51: new #3; //class java/lang/StringBuilder
54: dup
55: invokespecial #4; //Method java/lang/StringBuilder."<init>":()V
58: ldc #5; //String j=
60: invokevirtual #6; //Method java/lang/StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
63: iload_2
64: invokevirtual #7; //Method java/lang/StringBuilder.append:(I)Ljava/lang/StringBuilder;
67: invokevirtual #8; //Method java/lang/StringBuilder.toString:()Ljava/lang/String;
70: invokevirtual #9; //Method java/io/PrintStream.println:(Ljava/lang/String;)V
73: return
}
从字节码看,default 被放到最后了