自己増減演算子i++と++iの浅い分析
4146 ワード
Java演算子を学ぶとき、自増自減に触れましたが、簡単そうに見えるものが理解できないことがよくあります.特にi=i++の問題は、今日分析して理解し、苦境を脱します.
一.自増自減演算子
分析する前に簡単に認識してください.
アイコン
意味
i++
後置自増(後置++)
++i
プリアンブル自己増加(プリアンブル++)
i- -
後置自減(後置-)
- -i
前自己減算(前–)
二.分析と実例
1).i++および++i
上のコードの++iとi++は、前置自増でも後置自増でも、実際に実行されるi+1の操作であり、実際の印刷結果i=2であり、問題は大きくない.
2).i=i++とi=++i
以下のコードiの印刷結果は自己増加していない.公式解釈:javaの実行中、i++と++iはiに対してi=i+1の操作を直接行ったが、i++が得たのはiが加算操作を行わなかった前の値のコピーであり、++iは計算後の値を直接得た.
理解できなくても大丈夫です.コードで直感的に理解して、i++の値を受信するために中継局を構築してみてください.
通俗的に言えば、i++は先に値をつけて、それから自増します;++iは、まず自己増加し、その後付与する.
一.自増自減演算子
分析する前に簡単に認識してください.
アイコン
意味
i++
後置自増(後置++)
++i
プリアンブル自己増加(プリアンブル++)
i- -
後置自減(後置-)
- -i
前自己減算(前–)
二.分析と実例
1).i++および++i
int i=1;
++i;
System.out.println("i="+i);// i=2
int i=1;
i++;
System.out.println("i="+i);// i=2
上のコードの++iとi++は、前置自増でも後置自増でも、実際に実行されるi+1の操作であり、実際の印刷結果i=2であり、問題は大きくない.
2).i=i++とi=++i
int i=1;
i=++i;
System.out.println("i="+i);// i=2
int i=1;
i=i++;
System.out.println("i="+i);// i=1
以下のコードiの印刷結果は自己増加していない.公式解釈:javaの実行中、i++と++iはiに対してi=i+1の操作を直接行ったが、i++が得たのはiが加算操作を行わなかった前の値のコピーであり、++iは計算後の値を直接得た.
理解できなくても大丈夫です.コードで直感的に理解して、i++の値を受信するために中継局を構築してみてください.
int i=1;
i=i++;
int temp=i++;// i++
System.out.println("temp="+temp);//temp=1
i=temp; // i
System.out.println("i="+i);// i=1
通俗的に言えば、i++は先に値をつけて、それから自増します;++iは、まず自己増加し、その後付与する.