[問題] 關於一個小程式的問題
public class Static
{
static
{
int x = 5;
}
static int x,y ;
public static void main(String args[])
{
x--;
myMethod();
System.out.println( x + y + ++x );
}
public static void myMethod()
{
y = x++ + ++x ;
}
}
想請問各位大大為何這段程式碼執行結果為何是3 ?
我自己理解是 x-- 後 x為-1
所以 y = x++ + ++x ; 之前 x為-1
++x先算所以x變為0
所以 y = 0 + 0 所以 y=0
x++後算所以 x=1
所以 myMethod 執行之後 x=1 ,y=0
接著是 ( x + y ++x )
y=0 所以這式子其實是 x + ++x
一樣 ++x 先算所以 x變2
所以為 2+2=4
但很明顯結果是3.... 所以一定是哪裡有問題....
請問這是怎麼回事?
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 36.239.211.6
推
02/17 23:27, , 1F
02/17 23:27, 1F
→
02/17 23:29, , 2F
02/17 23:29, 2F
→
02/17 23:35, , 3F
02/17 23:35, 3F
討論串 (同標題文章)
java 近期熱門文章
PTT數位生活區 即時熱門文章
120
146
70
113