hi,all
我遇到一個不知所以然的i++敘述
code如下
boolean j;
int i=2;
if(i++>0)
System.out.println("i++>0");
System.out.println("The i is "+i);
j= 1==2 && i++>0;
System.out.println("The j is "+j);
System.out.println("The i is "+i);
執行完後的結果,在i的值那部份都是印出
The i is 3
我就覺得很奇怪,遇到i++的敘述後不是都要加1嗎??
為什麼
j= 1==2 && i++>0;
這行執行完後,i的值不會加1呢??
btw,我把這行改成
j= 1==2 || i++>0;
或是
j= 1==2 ^ i++>0;
或
j= 1==1 && i++>0;
後,i的值就會再加1
所以我在想是不是and運算在判斷前面是false時
就會自動去忽略&&後面的敘述
造成不去執行後面的i++
Thanks!!
--
誰說人多就不寂寞......
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 61.228.106.194
※ 編輯: ju22 來自: 61.228.106.194 (10/24 00:14)
→
10/24 00:19, , 1F
10/24 00:19, 1F
推
10/24 00:38, , 2F
10/24 00:38, 2F
→
10/24 02:02, , 3F
10/24 02:02, 3F
→
10/24 21:46, , 4F
10/24 21:46, 4F
→
10/24 21:49, , 5F
10/24 21:49, 5F
→
10/25 01:33, , 6F
10/25 01:33, 6F