まず++演算子のおさらい。 ++演算子は、変数の前につけて++aとすることも、後ろにつけてa++とすることもできる。このふたつには違いがある。 この違いは、print(++a)やprint(a++)とするとわかる。++aは式としてはaを1増やした値に、a++は式としては増やす前の値になる。 たとえば、このようなプログラムを書いてみる。 int age = 20; System.out.printf("やあ、ぼくきしだ。%d歳!", ++age); そうするとこのように表示される。 やあ、ぼくきしだ。21歳! 一方で、このように書いてみる。 int age = 20; System.out.printf("やあ、ぼくきしだ。%d歳!", age++); そうすると、今度はこのように表示される。 やあ、ぼくきしだ。20歳! けれども、この処理のあとageの値はもちろん21になっている。 つまり