運行以下代碼後,輸出將打印:false
。所以我假設i1==i2
之前評估b1 = i1
。但是,順序是不是從左到右?=和==首先得到評估?
public static void main(String[] args) {
boolean b1;
int i1 = 2;
int i2 = 3;
if(b1 = i1==i2) {
System.out.println("true");
} else {
System.out.println("false");
}
}
首先它將值放入b1中,然後檢查值是true還是false。 在這種情況下,2!= 3所以'b1'的值是'假' – roeygol
看起來像它檢查i1 == i2是假的,然後檢查b1和(i1 == i2)這意味着b1 = false,因此它打印「false 「 – OPK
如果你沒有把任務放在裏面,如果你永遠不需要記住它的優先級。如果你不能記住一個操作符的優先級,最好把它放在大括號中。 – eckes