java優先級問題

class Kong
{
   public static void main(String args[])
     {
       int x,y;
       x=4;y=6;
       while(x++<y--)
         System.out.println("開始時"+x+" "+y);
       System.out.println("最後x的值是"+x);
     }
}
爲何結果是:
開始時是5  5
最後x值爲6呢?? class

我只說一下x++,y--和++x,--的區別
例如x=4,y=6時;執行x++<y--
是先拿x和y原來的值進行比較,就是4<6成立,
而比較結束後x和y分別進行了++和--操做,值分別變成x=5和y=5了,而後第一次進入while循環打印「開始時是5  5」
而後再判斷循環條件,這時是拿x=5和y=5比較結果爲假,可是比較完後x和y分別又進行了++和--操做,x=6,y=4;因此纔會打印「最後x的值是6」
若是題目是while(++x<--y)那就是先進行++和--操做後的值來判斷大小了 循環

相關文章
相關標籤/搜索