【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

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

IT講師に興味はありませんか?

・「今までIT講師をやってきたが、更に多くの講義を行いたい」

・「エンジニアとしてやってきたが講師業に魅力を感じている」

・「講師として活躍するためにベースとなる知識を知りたい」

・「様々な分野や言語の講師にチャレンジしてみたい」


という方はぜひIT講師募集のページをご覧ください。


リスキルテクノロジーでは「受講している方々にITを好きになってもらう」ことを目標に、同じ目標に向かって歩んで行ける講師の方を常に探しています。


システム開発やインフラ構築などのエンジニアリング経験を活かし、新入社員などの未経験者や経験の浅い初学者の方々に対してITトレーニングを行っていただくことになります。


テキストやカリキュラムは事前に用意されており、それらを元に講義を進めていくため、IT講師をはじめて実施する方でも安心してトレーニングを実施できます。


IT講師募集のページを見る

SNSでもご購読できます。

コメント

  1. suzuki takayuki より:

    プログラミング初心者です。
    Javaを勉強していてたどり着きました。

    後置の説明の前半で誤りがあるように思うのですが、

    1. リカレントテクノロジー より:

      おっしゃる通りですね。ありがとうございます。修正したします。

コメントを残す

*

未経験からの育成制度も充実
IT講師に興味はありませんか?

リスキルテクノロジーでIT講師の積極募集を開始! 経験・未経験問わずご応募可能。育成制度で講師スキル向上も目指せます

IT講師に応募する