ホームページ >Java >&#&チュートリアル >Java の自己インクリメントおよび自己デクリメント操作プロセスの詳細な紹介
この記事では主に Java の自己インクリメントと自己デクリメントの操作プロセスを紹介します。これは非常に優れており、必要な方は参考にしてください。
これ以上のナンセンスはありません。コードを直接投稿します。具体的なコードは以下の通りです:
public class Add { public static void main(String[] args) { int i = 0; i=i++ + ++i; int j = 0; j= ++j + j++ + j++ + j++; int k = 0; k=k++ + k++ + k++ + ++k; int h = 0; h=++h + ++h; int p1=0,p2=0; int q1=0,q2=0; q1=+p1; q2=p2++; System.out.println("i "+i); System.out.println("j "+j); System.out.println("k "+k); System.out.println("h "+h); System.out.println("p1 "+p1); System.out.println("p2 "+p2); System.out.println("q1 "+q1); System.out.println("q2 "+q2); } }
出力
i 2 j 7 k 7 h 3 p1 0 p2 1 q1 1 q2 0
分析: i++ と ++i の違いは、1 つはプログラム完了後の自己インクリメントであり、もう 1 つはプログラム開始前の自己インクリメントであることです。 。
「i=i++ + ++i」の実行処理は、最初にi++を実行しますが、iを1増やす操作が後から実行されるため、この時点ではiはまだ0のままで、その後++i、+を実行します。 +i の次に i 値は 1 です。++i を実行した後、i++ を加算する必要があるため、このときの i の値は実際には 2 (0+2=2) となり、最終的な i の値が代入されます。 i は 2.
「j= + +j + j++ + j++ + j++」、実行プロセスは最初に ++j なので、j の値は 1 で、次に j++ を実行します。その後も j の値は 1 のままです。 j++ を実行してから j++ を実行すると、実行後の結果は 1 のままですが、先ほどの j++ を補足する必要があるため、この時点での実際の j の値は 2 になります。その後、最後の j++ を実行すると、実行後の結果はまだのままです2ですが、先ほどのj++を補足する必要があるので、このときのjの値は実際には3なので、1+1+2+3=7となり、それをjに代入すると、最終的なjの値は7になります。 .
"k=k++ + k++ + k++ + ++k" 実行処理は最初に k++ なので k の値は 0 になり、その後 k++ が実行されます。k++ の後に k の値は 0 のままですが、前の k++ を補足する必要があるため、この時点では k の値は実際には 1 です。その後、最後の k++ が実行され、実行後の結果は 1 のままですが、先ほどの k++ を補足する必要があるため、K の値は 1 になります。このとき実際には2です。最後に++kを実行します。実行結果は3です。そして、先ほどのk++を補足します。kの実際の結果は4なので、0+1 +2+4=7として、これを代入します。 k であり、k の最終値は 7 です。
「h=++h + ++h」は、最初に h をインクリメントし、h の値は 1 で、その後それを単独でインクリメントします。h の値は 2 なので、1+2=3 として代入します。 hに、最後にhの値は3になります。
「q1=++p1」は、最初にp1をインクリメントし、p1の値が1で、それからq1に代入するので、q1の値は1になります。
「q2=p2++」は、まず p2 を q2 に代入し、q2 の値は 0 になります。次に、p2 をインクリメントするので、p2 の値は 1 になります。
以上がJava の自己インクリメントおよび自己デクリメント操作プロセスの詳細な紹介の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。