Javaの自増と自減オペレータ——+/--のあれらの事
4271 ワード
1.概要
オートインクリメントオペレータ(++)とオートインクリメントオペレータ(−)は、変数に1を加算し、1を減算する操作です.
2.分類説明
++「和」は、変数を1から1へ、1から1を減算するシンタックスオペレータです.多くのプログラミングタスクでは、変数に1を加えたり減らしたりする必要があることが多いので、この2つのオペレータを使用すると便利です.例えば、次のコードはiに対して1を増加し、jに対して1を減少する.
i++はi加算、i-はi減算と読みます.これらのオペレータは、変数の後ろに+と--が置かれているため、後置自増オペレータと後置自減オペレータと呼ばれます.これらのオペレータは、次のような変数の前に配置することもできます.
--iはiを1増加させ、--jはjを1減少させる.これらのオペレータは、前置自増オペレータと前置自減オペレータと呼ばれます.
ご覧のように、前の例では、i++と++iの効果、またはi--と--iの効果は同じです.しかし、式で単純に自己増加と自己減少だけを行わないと、異なる効果が得られます.具体的には、オートインクリメントオペレータとオートインクリメントオペレータの違いを説明し、例を示します.
オペレータ
名前
説明
例(i=1と仮定)
++var
ぜんちじこぞうふく
varを1に追加し、文に新しいvar値を使用します.
Int j =++i;//j is 2, i is 2
var++
後置自増
varを1に追加しますが、文では元のvar値を使用します.
Int j = i++;//j is 1, i is 2
--var
前自己減算
varを1に減らし、文に新しいvar値を使用します.
Int j = --i;//j is 0, i is 0
var--
後置自減
varを1に減らしますが、文では元のvar値を使用します.
Int j = i--;//j is 1, i is 0
次に、前置形式の++(または--)と後置形式の++(または--)の補足例を示す.次のコードを考慮します.
出力の実行:
上記のiは1を自増し、iの元の値を返して乗算に関与する.これでnewNumの値は100になります.以下に示すようにi++を++iに置き換えると、
出力の実行:
上記のiは1を自増し、iの新しい値を返し、乗算に関与する.これによりnewNumの値は110となる.
次に別の例を示します.
この3行のプログラムの実行が完了すると、yの値は6.0で、zの値は7.0で、xの値は0.0です.
Javaでは、オペランドを左から右に評価します.右側のオペランドの任意の部分が評価される前に、2元オペレータの左側のオペランドが先に評価されます.このルールの優先度は、式の他のルールよりも高いです.次に例を示します.
3.まとめ
自増は、普段のJava筆記試験や面接では、よく考査プログラマーの基礎問題として登場しますが、紛らわしい知識点でもあります.通常のプログラミングでは、自己増加オペレータと自己減少オペレータを使用すると、式をより短くすることができますが、複雑で読みにくくなります.同じ式でこれらのオペレータを使用して複数の変数を変更したり、int k=++i+i*3などの同じ変数を複数回変更したりすることは避けてください.
4.説明
本文は《Java言語プログラム設計とデータ構造》(基礎編)第11版第2章2.14節の内容から抜粋し、本人が実例を結合し、いくつかの実例コードを補充し拡張し、本文は本人の学習と経験の総括に用いる.転載(非商業用途)が必要な場合は、原作者(梁勇)と本文の説明に関連する事項を明記してください.
オートインクリメントオペレータ(++)とオートインクリメントオペレータ(−)は、変数に1を加算し、1を減算する操作です.
2.分類説明
++「和」は、変数を1から1へ、1から1を減算するシンタックスオペレータです.多くのプログラミングタスクでは、変数に1を加えたり減らしたりする必要があることが多いので、この2つのオペレータを使用すると便利です.例えば、次のコードはiに対して1を増加し、jに対して1を減少する.
int i = 3, j = 3;
i++; // i become 4
j--; // j become 2
i++はi加算、i-はi減算と読みます.これらのオペレータは、変数の後ろに+と--が置かれているため、後置自増オペレータと後置自減オペレータと呼ばれます.これらのオペレータは、次のような変数の前に配置することもできます.
int i = 3, j = 3;
++i; // i becomes 4
--j; // j becomes 2
--iはiを1増加させ、--jはjを1減少させる.これらのオペレータは、前置自増オペレータと前置自減オペレータと呼ばれます.
ご覧のように、前の例では、i++と++iの効果、またはi--と--iの効果は同じです.しかし、式で単純に自己増加と自己減少だけを行わないと、異なる効果が得られます.具体的には、オートインクリメントオペレータとオートインクリメントオペレータの違いを説明し、例を示します.
オペレータ
名前
説明
例(i=1と仮定)
++var
ぜんちじこぞうふく
varを1に追加し、文に新しいvar値を使用します.
Int j =++i;//j is 2, i is 2
var++
後置自増
varを1に追加しますが、文では元のvar値を使用します.
Int j = i++;//j is 1, i is 2
--var
前自己減算
varを1に減らし、文に新しいvar値を使用します.
Int j = --i;//j is 0, i is 0
var--
後置自減
varを1に減らしますが、文では元のvar値を使用します.
Int j = i--;//j is 1, i is 0
次に、前置形式の++(または--)と後置形式の++(または--)の補足例を示す.次のコードを考慮します.
int i = 10;
int newNum = 10 * i++; // ---》 int newNum = 10 * i;
System.out.print("i is " + i // i = i + 1;
+ ", newNum is " + newNum);
出力の実行:
i is 11, newNum is 100
上記のiは1を自増し、iの元の値を返して乗算に関与する.これでnewNumの値は100になります.以下に示すようにi++を++iに置き換えると、
int i = 10;
int newNum = 10 * (++i); // ---》 i = i + 1;
System.out.print("i is " + i // int newNum = 10 * i;
+ ", newNum is " + newNum);
出力の実行:
i is 11, newNum is 110
上記のiは1を自増し、iの新しい値を返し、乗算に関与する.これによりnewNumの値は110となる.
次に別の例を示します.
double x = 1.0;
double y = 5.0;
double z = x-- + (++y);
この3行のプログラムの実行が完了すると、yの値は6.0で、zの値は7.0で、xの値は0.0です.
Javaでは、オペランドを左から右に評価します.右側のオペランドの任意の部分が評価される前に、2元オペレータの左側のオペランドが先に評価されます.このルールの優先度は、式の他のルールよりも高いです.次に例を示します.
int i = 1;
int k = ++i + i * 3;
// : ++i 2。 i*3 ,i 2。 k 8。
//------------ ------------------
int i = 1;
int k = i*3 + ++i ;
// : , i*3 ,i 1, ++i,++i 2。 k 5。
3.まとめ
自増は、普段のJava筆記試験や面接では、よく考査プログラマーの基礎問題として登場しますが、紛らわしい知識点でもあります.通常のプログラミングでは、自己増加オペレータと自己減少オペレータを使用すると、式をより短くすることができますが、複雑で読みにくくなります.同じ式でこれらのオペレータを使用して複数の変数を変更したり、int k=++i+i*3などの同じ変数を複数回変更したりすることは避けてください.
4.説明
本文は《Java言語プログラム設計とデータ構造》(基礎編)第11版第2章2.14節の内容から抜粋し、本人が実例を結合し、いくつかの実例コードを補充し拡張し、本文は本人の学習と経験の総括に用いる.転載(非商業用途)が必要な場合は、原作者(梁勇)と本文の説明に関連する事項を明記してください.