個人事業主の方必見!確定申告のお悩み解決

i = 1の場合
i++は変数iの値を返してから、1加算する
++iは変数iに1を加算し、その値を返す

この「返す」とはどういう意味ですか?

A 回答 (3件)

i = 1


a = i++; // aにiの値を代入、その後iの値を増分する。

a = i;
i = i + 1;

a = ++i; // iの値を増分、その後aにiの値を代入する。

i = i + 1;
a = i;

これで理解できますか?
    • good
    • 0
この回答へのお礼

教科書にもない増分という言葉がでてきました。
まだまだ私にはJavaは理解し難いものですが、
何とか一回目の月間テストは提出できました。
理解できるように頑張ります。

お礼日時:2008/09/05 14:47

Javaでは、式は値を持つ、という考え方があるので、


(voidメソッドを呼んだときの戻り値など、"値がない"のも値の一種だとして)
その式の値を受け取ったとき(No.2の方の例でいう変数a)、
受け取った側から見て、右辺の式が「値を返した」ということだと思います。

i++も、++iも、iに1を加算するという処理をする点では同じだけど、
その式の値は、一方は加算前の値、他方は加算後の値、という違いがあるわけですね。
    • good
    • 0
この回答へのお礼

難しいですが理解できるように頑張ります。

お礼日時:2008/09/05 14:48

i = 1


a = i++
a = ++i

aが1になるか2になるかということです

この回答への補足

a=i++は返してから1加算すると1になり、
a=++iは加算してから返すと2になる。
何故そうなるのか返すの意味が解りません。

補足日時:2008/09/02 15:10
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!


人気Q&Aランキング