Java基本

[Java] インクリメント演算子の前置と後置の違い

投稿日:

インクリメント演算子の前置と後置では以下の違いがあります。


前置き(++x)の場合は、インクリメントした後に対象変数が読み込まれます。
後置き(x++)の場合は、対象変数が読み込まれた後にインクリメントします。

サンプルソース

例)前置きの場合

結果
11 11

例)後置きの場合

結果
10 11

前置きの場合は、System.out.printlnで表示する前にインクリメントしているため加算後の結果が表示されます。 後置きの場合は、System.out.printlnで表示した後にインクリメントしているため加算前の結果が表示されます。 最終的な値はどちらも同じ値になります。

備考

  • 前置きと後置きで動きが異なるため、コーディング時はご注意ください。

スポンサーリンク

スポンサーリンク

-Java基本

執筆者:


  1. sio より:

    すみません、Java学習中の者なのですがこの記事ではなく「Javaちょこっとリファレンス」のほうにて、乗算がint i = 2^3;でできるとの記載があるのですが、これは何か特別な条件下で使える演算子でしょうか。
    私のほうでは、条件演算子に変換されてしまって使用できません。

    • azuki より:

      コメントありがとうございます。
      すみません記載ミスでした。

      乗算はMath.pow(m,n)を使用します。
      (例)2の3乗 Math.pow(2,3) ⇒8.0 ※戻り型はdouble型です。

      ^は排他的論理和を返す演算子でした。
      (例)5^6 ⇒3
      5⇒101
      6⇒110
      --------
      排他的論理和⇒011 ⇒3

      記事を訂正いたします。

azuki へ返信する コメントをキャンセル

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

日本語が含まれない投稿は無視されますのでご注意ください。(スパム対策)

関連記事

[Java] 文字列の指定位置の文字を取得する(.charAt)

文字列の指定位置の文字を取得するには、.charAtを使用します。 構文 (java.lang.St ...

[Java] String配列やListからカンマ区切り文字列にする

String配列やListからCSV形式のようなカンマ区切り文字列に変換するには、String.jo ...

[Java] 文字列の前後の空白を取り除く(.trim)

文字列の前後の空白を取り除くには、.trimを使用します。 構文 (java.lang.String ...

[Java] Javaからexit値を返す

Javaからexit値を返すサンプルです。 これで起動元のバッチなどから実行結果を取得することができ ...

[Java] 文字列と文字列を連結する(+、.concat)

文字列と文字列を連結するには"+"で連結する方法と、.concatメソッドを使用する方法があります。 ...