質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
Java

Javaは、1995年にサン・マイクロシステムズが開発したプログラミング言語です。表記法はC言語に似ていますが、既存のプログラミング言語の短所を踏まえていちから設計されており、最初からオブジェクト指向性を備えてデザインされています。セキュリティ面が強力であることや、ネットワーク環境での利用に向いていることが特徴です。Javaで作られたソフトウェアは基本的にいかなるプラットフォームでも作動します。

Q&A

解決済

4回答

476閲覧

JAVA演算子、インクリメントとデクリメント

退会済みユーザー

退会済みユーザー

総合スコア0

Java

Javaは、1995年にサン・マイクロシステムズが開発したプログラミング言語です。表記法はC言語に似ていますが、既存のプログラミング言語の短所を踏まえていちから設計されており、最初からオブジェクト指向性を備えてデザインされています。セキュリティ面が強力であることや、ネットワーク環境での利用に向いていることが特徴です。Javaで作られたソフトウェアは基本的にいかなるプラットフォームでも作動します。

0グッド

1クリップ

投稿2020/08/07 11:06

イメージ説明

画像のコードはなぜa++;がa=10+1;と同じになるのですか?

a++は後置のため、a=10と同じではないのでしょうか?

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答4

0

ベストアンサー

インクリメントの前置、後置には、よく「先に加算される」「後から加算される」という説明がなされていますが、これがまず混乱の元だと思います。

実際にはどちらも、式の評価(実行)と同時にaの値が加算されます。
では何が違うのか?というと、違いが出るのは式の値になります。

式の値とは、a++++aという式の持つ値の事です。

例えば、a=10の時、b=a+1と書いて、bに代入されるものが、a+1という式の値(11)です。
a+1と書いてもaの値は10のままで変化しない事から、式の値変数自体の値は別である事はわかると思います。

それを踏まえてインクリメントを見ると
a++++a共に、aという変数の値は即時に加算されます。
しかし、
a++の場合は式の値は加算前のもの
++aの場合は式の値は加算後のもの
となる事が違いとなります。

つまり、a++++aの差が出るのは、式の値を使う場合、例えば式の値を更に他の変数に代入するとか、他から参照するとかの場合だけになります。

それはせずに単体で、a++++aと書いた場合、特に両者に違いはありません。

(後から加算の「後から」って何時だよ?って私も昔思った事がありました)

投稿2020/08/08 00:21

編集2020/08/08 05:11
amiya

総合スコア1218

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

0

java

1x = 10;//xは10となる。 2System.out.println(x++);//10と表示され、xは11となる。 3System.out.println(x);//11と表示される。 4System.ouot.println(++x);//xは12となり、12と表示される。

例えば上のようになります。

投稿2020/08/07 11:22

HogeAnimalLover

総合スコア4830

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

0

”単独で記述した場合は”とあるので、aの値の変化だけを説明しているのだと思います。

投稿2020/08/07 11:10

momon-ga

総合スコア4820

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

momon-ga

2020/08/07 11:12

ご認識の通り b = a++; と、した場合のbは、加算される前のaが代入されます。
guest

0

x=a++;ならxは10ですが、この実行後ではaは更新されているので11です。

x=a:なら、実行後xaも10です。

投稿2020/08/07 11:11

otn

総合スコア84557

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問