i++和++i 和i+1的區別
阿新 • • 發佈:2019-01-26
大家對i++和++i和i+1肯定很熟悉,但是不細細理解其中原因,就很難理解為什麼(i+1)和(i++)有時會差這麼多,尤其在遞迴中應用時。
相信大家對i++和++i的區別肯定很瞭解,前者是先加後傳遞結果,而後者剛好相反,是先傳遞結果後加。但是,i+1則沒有傳遞這個過程!加過去就結束了,後面i原來是多少還是多少!這點在遞迴中的時候尤其要注意!!!
測試程式碼:
第一種:i+1 結論: 1 2 3 4 5
第二種: i++ 結論:0 2 4public class test { public static void main(String[] args) { for(int i=0; i<5; i++){ aa(i+1); // 注意這行的改變! } } public static void aa(int i){ System.out.print(i + " "); } }
public class test {
public static void main(String[] args) {
for(int i=0; i<5; i++){
aa(i++); //注意這行的改變
}
}
public static void aa(int i){
System.out.print(i + " ");
}
}
第三種: ++i 結論: 1 3 5
public class test { public static void main(String[] args) { for(int i=0; i<5; i++){ aa(++i); //注意這行的改變 } } public static void aa(int i){ System.out.print(i + " "); } }