一、控制转移指令的概述
- 控制转移指令可以让Java虚拟机有条件或无条件地从指定的位置指令而不是控制转移指令的下一条指令继续执行程序,从概念模型上理解,可以认为控制转移指令就是在有条件或无条件地修改PC寄存器的值。
二、控制转移指令
指令描述 | 指令 |
---|---|
条件分支 | ifeq、iflt、ifle、ifne、ifgt、ifge、ifnull、ifnonnull、if_icmpeq、if_icmpne、if_icmplt、if_icmpgt、if_icmple、if_icmpge、if_acmpeq、if_acmpne |
复合条件分支 | tablesswitch、lookupswitch |
无条件分支 | goto、goto_w、jsr、jsr_w、ret |
三、控制转移指令示例
-
代码
public class Test1{ public static void main(String []args){ int a = 1; if(a > 1){ System.out.println("大于1"); }else{ System.out.println("小于等于1"); } } }
-
执行javac命令编译成.class文件
-
执行javap命令查看字节码指令