ホームページ >Java >&#&チュートリアル >Java の接頭辞と後置のインクリメント/デクリメント: この例で「i」の結果が 7 になるのはなぜですか?

Java の接頭辞と後置のインクリメント/デクリメント: この例で「i」の結果が 7 になるのはなぜですか?

Patricia Arquette
Patricia Arquetteオリジナル
2024-12-17 02:41:24352ブラウズ

Java Prefix vs. Postfix Increment/Decrement: Why Does `i  ` Result in 7 in This Example?

Java における前置および後置のインクリメント/デクリメント演算子

Java プログラミングでは、前置および後置のインクリメント/デクリメント演算子の違いを理解することが重要です。この記事では、これらの演算子の効果を実際の例で説明します。

質問:

次のコード スニペットを考えてみましょう。

int i = 3;
i++; // Postfix increment

System.out.println(i);    // Prints "4"

++i; // Prefix increment
System.out.println(i);    // Prints "5"
System.out.println(++i);  // Prints "6"
System.out.println(i++);  // Prints "6"
System.out.println(i);    // Prints "7"

なぜそうなるのかSystem.out.println(i) への最後の呼び出しで値を出力します。 7?

答え:

このコードの動作は、前置および後置の増分演算子のセマンティクスによって制御されます:

  • プレフィックスインクリメント ( ): オペランドがオペランドで使用される前にインクリメントします。式。
  • 後置増分 ( ): 式で使用されたオペランドを増分します。

前置増分:

int i = 6;
System.out.println(++i); // Prints "6"

i は、その値を使用する前に i をインクリメントするため、7 と評価されます。表現の中で。したがって、「6」を出力し、i を 7 にインクリメントします。

Postfix Increment:

int i = 6;
System.out.println(i++); // Prints "6" (i = 7, prints 6)

i は、i のコピーを格納するため、6 と評価され、追加されます。 1 を i に変換し、元の値を返します。式では「6」が出力されますが、i は現在 7 です。

最後の呼び出しで、System.out.println(i) は i の現在の値 (7) を出力します。これは、後置インクリメント演算子が使用されているためです。以前に 7 に更新していました。

以上がJava の接頭辞と後置のインクリメント/デクリメント: この例で「i」の結果が 7 になるのはなぜですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。