一、写在前面的话
“基础不牢,地动山摇。”对于一个刚入门的程序员来说,扎实的基础是今后在该行业能良好发展的有力保障。记得刚学习Java时总是被i++和++i弄蒙,我想对于很多小白一定和我有相同的感受。为了夯实自己的基础,同时也希望能帮助到别人,特写下这篇--Java面试题之自增变量(i++; ++i)。由于本人知识有限,有错或不当之处,望指出!
二、自增变量之i++
对于i++,在程序执行时会先将i赋值给变量,等语句执行完以后i的值再加1。如:
public class Aojin{
public static void main(String[] args) {
int a;
int i = 1;
//先将i的值1赋给a,所以a=1;然后i再加1,i = 2
a = i++;
System.out.println("a的值为:" + a);
System.out.println("i的值为:" + i);
}
}
运行结果:
三、自增变量之++i
对于++i,程序运行时先将i的值加1再赋值给变量,当然语句执行结束后i的值。如:
public class Aojin{
public static void main(String[] args) {
int b;
int i = 1;
//先将i的值加1然后再赋给b,所以b=2;i=2
b = ++i;
System.out.println("b的值为:" + b);
System.out.println("i的值为:" + i);
}
}
运行结果:
四、综合问题
前面说了那么多,下面给出一个例题巩固一下。
public class Aojin{
public static void main(String[] args) {
int i = 1;
i = i++; //i=1
int j = i++;//j=1,i=2
int k = i + ++i * i++;//k=2+3*3=11,i=4
System.out.println("i的值为:"+ i);
System.out.println("j的值为:"+ j);
System.out.println("k的值为:"+ k);
}
}
运行结果: