以下是我要询问的代码:

int price = 0;
boolean isFree = (price == 0);

if (isFree) {
     price = 10;
     if (isFree)
         System.out.println("one");
     else
         System.out.println("two");
}


因此,我只想知道为什么当价格变量更改为10时isFree变量仍然为true。换句话说,为什么价格变量切换为10而不影响布尔表达式?

最佳答案

通过boolean isFree = (price == 0);初始化后,将isFree变量确定为true

即使更改了price,它也不会更改,除非您明确地更改它(例如再次调用boolean isFree = (price == 0);)。

09-30 21:45