if<cond>
当栈顶int型数值与0进行比较,满足条件时跳转
Forms
ifeq = 153 (0x99)
ifne = 154 (0x9a)
iflt = 155 (0x9b)
ifge = 156 (0x9c)
ifgt = 157 (0x9d)
ifle = 158 (0x9e)
Operand Stack
…, value →
…
if_icmp<cond>
比较栈顶两个int型数值大小,靠近栈底的值为左值,满足条件时进行跳转。
Forms
if_icmpeq = 159 (0x9f)
if_icmpne = 160 (0xa0)
if_icmplt = 161 (0xa1)
if_icmpge = 162 (0xa2)
if_icmpgt = 163 (0xa3)
if_icmple = 164 (0xa4)
Operand Stack
…, value1, value2 →
…
if_acmp<cond>
比较栈顶两个引用型数值,满足条件时进行跳转。
Forms
if_acmpeq = 165 (0xa5)
if_acmpne = 166 (0xa6)
Operand Stack
…, value1, value2 →
…
ifnull 0xc6
为null时跳转
ifnonnull 0xc7
不为null时跳转