Java语言遇到if语句的时候cpu在做什么操作,为什么程序会有不同的执行?

Java语言遇到if语句的时候cpu在做什么操作,为什么程序会有不同的执行?

可以从汇编的层次进行理解,

LOOP:
MOV C P3.0
JC LOOP

当P3.1是一时代码流程跳转到LOOP位置。
mov是赋值 或者叫移动 把P3寄存器的第0个比特位赋值给C标志位
JC 是判断C标志位是0或者是1 ,当是1跳转到LOOP位置(可以有点像C语言的goto)当是0会继续向下执行指令

下面的代码可以帮助你理解 ,但应该不可以应用到你的代码里

loop:
if(P3.0)
{
    goto  loop;
}

关于汇编的跳转指令有很多,一般写java不会很关注底层的代码实现。如果想详细了解关于CPU的行为可以参考汇编的教材。