Javaの自増と自減オペレータ——+/--のあれらの事

4271 ワード

1.概要
    オートインクリメントオペレータ(++)とオートインクリメントオペレータ(−)は、変数に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節の内容から抜粋し、本人が実例を結合し、いくつかの実例コードを補充し拡張し、本文は本人の学習と経験の総括に用いる.転載(非商業用途)が必要な場合は、原作者(梁勇)と本文の説明に関連する事項を明記してください.