2016-09-30 14 views
2

なぜ以下のコード25が印刷されますか。代わりに28を印刷する必要があります。誰かがコンピュータのように段階的に評価してください。ありがとう。式の評価シーケンス

class MultiAssign 
{ 
    public static void main(String[] args) 
    { 
     int k = 1; 
     k += (k = 4) * (k + 2); // or k = k + (k = 4) * (k + 2); 
     System.out.println(k); 
    } 
} 

答えて

0

操作が行われる順序を見てください。あなたはk = 4を書いた後でのみkの値が4に変わることに気付くでしょう。その前のkの文の値は1になります