++n; (前置) と n++; (後置) 文実行後のnは同じ --n; (前置) と n--; (後置) 文実行後のnは同じしかし、前置と後置には違いがあります。
x = ++n; (前置) と x = n++; (後置) xは後置より前置の結果が1大きい x = --n; (前置) と x = n--; (後置) xは後置より前置の結果が1小さい
「n を増減した値を代入する」のと、「先に x に代入してから n を増減する」のでは、処理が異なります。
この違いを理解して、++ (インクリメント演算子)、-- (デクリメント演算子)を正しく使いこなしましょう。
次のプログラムでは、3種類の処理をそれぞれ前置、後置の両方で書いています。 実行したとき、System.out.println の前置や後置に続いて表示される値が異なるのは (1)〜(3) のうち何番でしょう? 答えはひとつとは限りません。 class IncreTest { public static void main( String[] args ) { int n, x; for( n = 0; n < 5; ++n ) System.out.println( "Hello!" ); System.out.println( "(1)前置 " + n ); for( n = 0; n < 5; n++ ) System.out.println( "Hello!" ); System.out.println( "(1)後置 " + n ); n = 5; x = 60/++n; System.out.println( "(2)前置 " + x ); n = 5; x = 60/n++; System.out.println( "(2)後置 " + x ); n = 5; x = 3*(++n); System.out.println( "(3)前置 " + x ); n = 5; x = 3*(n++); System.out.println( "(3)後置 " + x ); } }(答えは、次回の Java の Tips で ・・・) |