【Java入門】インクリメント演算子の前置と後置の違いとは?

  • このエントリーをはてなブックマークに追加
  • Pocket
インクリメント 前置と後置

インクリメント演算子とデクリメント演算子には前置きパターンと後置きパターンがある。「a++」「++a」のような形だ。

これらは一見同じように「1を加える」というだけなのだが、意味合いが変わってくる。このページでは前置と後置の違いについてお伝えしよう。

インクリメント・デクリメントの前置と後置の使い方

インクリメント・デクリメントとは?については、下記で詳しい。

Javaのインクリメント演算子とデクリメント演算子は、オペランド(演算の対象となる変数)の左か右に置かれる。

インクリメント演算子「++」は、オペランドの左にあっても右にあってもオペランドの値に1増やす。デクリメント演算子「--」は、オペランドの左にあっても右にあってもオペランドの値から1減らす。

これらの演算子が前にあるか後ろにあるかの違いは、ただひとつだ。

オペランドの前にあれば、式の中でオペランドの値は増やされたり減らされたりした後の値が用いられる。

一方、オペランドの右にあれば、式の中でオペランドの値は増やされたり減らされたりする前の値が用いられる。

これだけだとわかりにくいので、前置と後置の詳細を見ていこう。

前置

オペランドの左に演算子を置く書き方を「前置」と呼ぶ。式の中で、オペランドの値は演算子による演算後の値が用いられる。

書き方の基本はこうだ。

++オペランド;

--オペランド;

後置

オペランドの左に演算子を置く書き方を「前置」と呼ぶ。式の中で、オペランドの値は演算子による演算前の値が用いられる。

書き方の基本はこうだ。

オペランド++;

オペランド--;

サンプルプログラムで確認する

このサンプルプログラムは、演算が終わった後の値(value)と、演算結果(result)つまり式の中の値を比較している。前置と後置ではそれぞれ値が違う。その違いを理解しよう。

実行結果

下記のような結果になる。なんとなく違いがわかるようになっただろうか?

サンプルプログラムの説明

それでは簡単にプログラムの解説をしてゆこう。

  • [4] resultに++valueを代入する。
  • [5] resultを表示する。
  • [6] valueに3を代入する。
  • [7] resultにvalue++を代入する。
  • [8] resultを表示する。
  • [9] valueに3を代入する。
  • [10] resultに--valueを代入する。
  • [11] resultを表示する。
  • [12] valueに3を代入する。
  • [13] resultにvalue--を代入する。
  • [14] resultを表示する。

まとめ

このページではインクリメントとデクリメントの前置と後置の違いについてお伝えした。挙動に違和感を感じたら、この点、再度確認してみよう。

  • このエントリーをはてなブックマークに追加
  • Pocket

このページの続きや関連ページは下記から一覧で確認できる。

短期間でエンジニアになる方法

・「まったくの初心者だけどエンジニアになりたい!」

・「プログラマーとして転職をしたい!」

という方はリナックスアカデミーの資料を見てみてください。短期間で未経験からエンジニアになることができるスクールとして15年間選ばれ続けてきた理由やノウハウが載った資料です。

エンジニアの入り口に立つために必要な勉強技術の最新動向本当に使えるIT資格学習に役立つ国からの奨励金などの情報が詰まっています。

無料で2,3日中にお手元にお届けします。


資料を見てみる

SNSでもご購読できます。

コメントを残す

*