質問があります、で、
より緊密にバインドJava
しますか?
例を挙げて説明しましょう。誰かが私が得た結果を得る理由を説明してくれるかもしれません。Math.min
++
これが私が実行するメソッドです:
private static void testIncrement() {
int x=10;
System.out.println(x++);
System.out.println(x);
x=10;
System.out.println("-----------");
System.out.println(++x);
System.out.println(x);
x=10;
System.out.println("-----------\n"+x); //10
x=Math.min(255, x++);
System.out.println(x); **//x=10 WHY NOT x=11?**
x=10;
System.out.println("-----------\n"+x);
x=Math.min(255, ++x);
System.out.println(x);
}
結果は次のとおりです。
10
11
-----------
11
11
-----------
10
10
-----------
10
11
私が書いた行では、//x=10 WHY NOT x=11?
なぜx
11ではなく10なのか疑問に思います。誰かが私にこれを説明できるかもしれません。
を実行するために使用する(現時点では10)Math.min
のコピーを作成するように見えます。次に、オリジナルは10から11にインクリメントされますが、まだ10であるコピーが出てきて、インクリメントされたものを上書きします。 x
Math.min
x
Math.min
これは意味がありますか?この場合、xが11ではなく10である理由について誰かが説明していますか?
ありがとう
PS- Javaでポストインクリメント(i ++)およびプレインクリメント(++ i)演算子がどのように機能するかを完全に理解していますか?