JAVA【i++和++i】


總結:

i++或++就是一個先加和后加的問題,當i++或++i是獨立執行的時候沒有區別,

當i++或++i不是是獨立執行的時候:i++ 先執行當前語句再加1,++i先加1再執行當前語句。

 

示例1:獨立執行沒區別

 1 public static void main(String[] var0) {
 2         int i = 0;
 3         for (; i < 5; i++) {
 4             System.out.println(i);//打印0-4
 5         }
 6 
 7         int j = 0;
 8         for (; j < 5; ++j) {
 9             System.out.println(j);//打印0-4
10  } 11 }

 

示例2:i++ 先執行當前語句再加1,++i先加1再執行當前語句

 1     public static void main(String[] var0) {
 2         int i = 0;
 3         for (; i < 5;) {
 4             System.out.println(i++);//輸出0-4
 5         }
 6 
 7         int j = 0;
 8         for (; j < 5; ) {
 9             System.out.println(++j);//輸出1-5
10         }
11     }

 

示例3:

 1     private static Test test = new Test();//打印1,0
 2     static int i;
 3     static int j=0; 4 // private static Test test = new Test();//打印1,1 5 public Test() { 6 i++; 7 j++; 8  } 9 10 public static Test getInstance() { 11 return test; 12  } 13 14 public static void main(String[] args) { 15  Test.getInstance(); 16 System.out.println("i=" + Test.i + ",j=" + Test.j); 17 }

 

示例4:

1  int a = 0;
2         for (int i = 0; i < 99; i++) { 3 a = a ++; 4  } 5 System.out.println(a);//0,循環中a的值沒有改變過

 

 

 

示例5:

1 int b = 0;
2         for (int i = 0; i < 99; i++) { 3 b = ++ b; 4  } 5 System.out.println(b);//99,循環中值一直變化,i=4,b=5;

 

 

 

示例6:

1 Integer a = 0;
2         int b = 0; 3 for (int i = 0; i < 99; i++) { 4 a = a ++;//a沒有變化 5 b = a ++;//a+1,b+1; 6  } 7 System.out.println(a);//i=0,a=1,b=0;i=1,a=2,b=1; 8 System.out.println(b);//打印99,98


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM