2014-05-22 41 views
-1

你能幫我一下嗎?首先,這是代碼:postfix操作符在這種特殊情況下如何工作(JAVA)?

package helloworldapp; 

public class HelloWorldApp 
{ 
    public static void main(String[] args) 
    { 

     int jaja = 1; 

     jaja = (jaja++)*2*2; 

     System.out.println(jaja); 
    } 
} 

我想了解這一行:

jaja =(jaja ++)* 2 * 2;

據我所知,後綴增量操作符在語句完成後對變量求值。爲什麼它會給4個結果呢?也許我不應該用這種方式使用相同的變量,但我很好奇它是如何工作的。我認爲,首先它將'jaja'乘以2,重複它,聲明結束,然後給jaja加1。這將是5,但我誤解了一些東西。

恩,這是我在這裏的第一個評論,也是我的英語真的很糟糕。請原諒我這個:)

+0

Postfix運算符表示*首先使用然後增加*。 – Braj

+0

是的,這是我的問題。我認爲它首先與原始值進行乘法運算,然後用1遞增'jaja'。我不明白爲什麼它不給出5結果。 請另外解釋一下。我只是一個初學者。 – DoWhileFor

+0

對於postfix,首先使用該值。所以計算是1 * 2 * 2。接下來,jaja遞增到2.最後,jaja設置爲4. –

回答

0

是,jaja++將增加jaja2,但表達的結果仍然是1,並且*2*2將產生4,分配給jaja,覆蓋2

+0

我認爲那是我的問題。我認爲增量會在作業完成後完成。感謝您的幫助。 恩,對不起,重複。我仍然不習慣適當的論壇使用(但我會習慣它)。 – DoWhileFor

相關問題