• ベストアンサー

Javaの質問です

Javaの質問です。 この問題で繰り返し処理を3回やるときに 、 カウンタ変数が0、1、3とあがっていきますが3がどうやったらでてくるのかわかりません。

質問者が選んだベストアンサー

  • ベストアンサー
  • _kappe_
  • ベストアンサー率68% (1581/2304)
回答No.2

for (num=0; num < 3; ++num) { … } のループの ・1周目(numの値は0で初期化) num *= 2;を実行するとnumの値は0 ++numを実行するとnumの値は1 num < 3の条件を満たしているのでループの実行を続行 ・2周目 num *= 2;を実行するとnumの値は2 ++numを実行するとnumの値は3 num < 3の条件を満たさなくなったのでループから抜ける その後println()に渡す(num++)の部分で、numの値は4に変わりますが、(num++)という式の値は変更前のnumの値、つまり3になります。 ++演算子を変数の後ろに置いた場合の動作を勉強してください。 連日質問を投稿しているようですけれど、解決したものは回答受付を適宜終了してください。回答をもらっても分からない部分があれば補足に書いてください。

minutes01
質問者

お礼

ありがとうございます!

その他の回答 (1)

  • watanabe04
  • ベストアンサー率18% (295/1598)
回答No.1

カウンター変数は0,1,2の3回です。 ただし、ループの中でカウンター変数をいじっているために 変な動きになります。 これは設問なのでしょうけど、 カウンター変数はいじるものではありません。

関連するQ&A