1. 只是从应用层面来讨论,i++或者++i都是指 i = i+1。
public class MyClass {
public static void main(String args[]) {
int i=0,j=0;
i++;
++j;
System.out.println("i="+ i +" "+ "j=" + j);
}
}
从上面代码可以看到无论是i++还是++j,最后打印结果 i=1 j=1。
2. 但是二者又是有区别的,当作为变量参与到代码运算中,i++是先赋值再加1,++i是先加1再赋值。
public class MyClass {
public static void main(String args[]) {
int i = 0;
int j = i++;
int k = ++i;
System.out.println("j=" + j + " " + "k=" + k);
}
}
上面代码运行结果 j=0 k=2,因为i初始化为0,赋值给j后再加的1,所以打印j为0,当执行到 k = ++i时,i是先加1得到2,再赋值给k的,所以k=2
3. 在for循环和while循环里面是用i++还是++i呢?
循环里 i++和++i都是可以的,不影响结果。但是注意如下代码细节:
(1)打印结果为0 ~4
public class MyClass {
public static void main(String args[]) {
int i = 0;
while( i<5){
System.out.println(i++);
}
}
}
(2)打印结果为1~5
public class MyClass {
public static void main(String args[]) {
int i = 0;
while( i<5){
System.out.println(++i);
}
}
}