【Java】インクリメント・デクリメント
整数を扱うデータ型の変数値を、プラス1するインクリメント、マイナス1するデクリメントについて説明します。
1.インクリメントとは?
インクリメントとは、変数の値(主にint型の変数の値)をプラス1する演算子です。
for構文やwhile構文のループ処理で使われることが多いです。
インクリメントには「i++」と「++i」の2つがあり、どちらも「i = i + 1」という意味です。
i++; と ++i;
↓
i = i + 1; と同じ意味
以下のプログラムを実行した場合、「4」と出力されます。
int i=3;
i++;
System.out.println(i);
2.デクリメントとは?
デクリメントとは、インクリメントと同様に変数の値をマイナス1する演算子です。
こちらもfor構文やwhile構文でよく使われます。
デクリメントには「i- -」と「- -i」の2つがあり、どちらも「i = i - 1」という意味です。
i- -; と - -i;
↓
i = i - 1;と同じ意味
以下のプログラムを実行した場合、「2」と出力されます。
int i=3;
i- -;
System.out.println(i);
3.「i++」と「++i」の違いは?「i- -」と「- -i」の違いは?
インクリメントには「i++」と「++i」、デクリメントには「i- -」と「- -i」があり、それらは同じ意味なのですが、別の変数に代入したり出力するときには注意が必要です。
1.別の変数に代入
以下のコードは、まず変数「j」に変数「i」の値が代入され、その後変数「i」がプラス1されます。
j = i++;
つまり上のコードは下のコードと同じ意味になります。
j = i;
i = i +1;
一方、以下のコードではまず変数「i」がプラス1されて、その後変数「j」に変数「i」の値が代入されます。
j = ++i;
つまり、上のコードは下のコードと同じ意味になります。
i = i +1;
j = i;
2.出力の場合
以下のコードでは、まず変数「i」の値が出力され、その後変数「i」がプラス1されます。
System.out.println(i++);
つまり上のコードは下のコードと同じ意味になります。
System.out.println(i);
i = i +1;
一方、以下のコードではまず変数「i」がプラス1されて、その後変数「i」の値が出力されます。
System.out.println(++i);
つまり上のコードは下のコードと同じ意味になります。
i = i +1;
System.out.println(i);
このように、演算子を先に書くかあとに書くかで変数「j」の結果が異なります。これはデクリメントの場合も同様です。
コメント
まだコメントはありません。