インクリメント演算子の前置と後置では以下の違いがあります。
前置き(++x)の場合は、インクリメントした後に対象変数が読み込まれます。
後置き(x++)の場合は、対象変数が読み込まれた後にインクリメントします。
サンプルソース
例)前置きの場合
1 2 3 |
int x = 10; System.out.println(++x); System.out.println(x); |
- 結果
- 11 11
例)後置きの場合
1 2 3 |
int x = 10; System.out.println(x++); System.out.println(x); |
- 結果
- 10 11
前置きの場合は、System.out.printlnで表示する前にインクリメントしているため加算後の結果が表示されます。 後置きの場合は、System.out.printlnで表示した後にインクリメントしているため加算前の結果が表示されます。 最終的な値はどちらも同じ値になります。
備考
- 前置きと後置きで動きが異なるため、コーディング時はご注意ください。
すみません、Java学習中の者なのですがこの記事ではなく「Javaちょこっとリファレンス」のほうにて、乗算がint i = 2^3;でできるとの記載があるのですが、これは何か特別な条件下で使える演算子でしょうか。
私のほうでは、条件演算子に変換されてしまって使用できません。
コメントありがとうございます。
すみません記載ミスでした。
乗算はMath.pow(m,n)を使用します。
(例)2の3乗 Math.pow(2,3) ⇒8.0 ※戻り型はdouble型です。
^は排他的論理和を返す演算子でした。
(例)5^6 ⇒3
5⇒101
6⇒110
--------
排他的論理和⇒011 ⇒3
記事を訂正いたします。