- 「Javaのi++と++iの違いって何?」
- 「参考書によってi++と++iがあるけどどっちを信じればいいの?」
今日は、このような疑問を解決すべくインクリメント("++")について解説したいと思います!
i++も++iも「数値を1増やす」という意味は変わりませんが、内部の処理はかなり違います。
この違いを知らないと危険で、意図せぬバグを生みこんでしまう可能性もあるので、しっかり覚えていきましょう!
Javaのi++と++iの違い
一言で言うと、「いつ1を足すのかが違います」
i++ // 後で1を足す
++i // 先に1を足す
i++は最後に+1し、++iは最初+1します。
文章では伝わりづらいのでコードを見ていきたいと思います。
int i = 100;
int x = i++; //xにiが代入された後にiが+1される
System.out.println(i); 101
System.out.println(x); 100
int i = 100;
int x = ++i; //iが+1された後にxにiが代入される
System.out.println(i); 101
System.out.println(x); 101
このように、i++と++iでは「+1」されるタイミングに差があるのです。
i++の場合は最後に「+1」が行われる。
難しいサンプル問題を説いて理解しよう
以下の問題が解けた方は、もうJavaの"++"マスターです。ぜひ挑戦してみてください。
int i = 2;
int a = i++;
int b = ++i;
int c = i++;
int x = a + b + c
System.out.println(x); // 10
System.out.println(i); // 5
いかがだったでしょうか!
まとめ
Javaのi++と++iの違いをご紹介しました。
- i++: 最後に1を足す
- ++i: 最初に1を足す
この違いを間違えると、思わぬタイミングで+1されてバグが起こったりするので、気をつけてくださいね。
Javaの力をつけるには?
もしJavaの文法の力をつけたい場合は、OracleのJavaBronzeの資格を勉強するのがおすすめです。
Javaの文法を学びながら、合格するとJavaの基礎的な力がついたことを証明できます。
詳しい内容は以下の記事で紹介しているので、ぜひ覗いてみてくださいね!
最後までお読みいただきありがとうございました!