AAndApp.java package algorithms;public class AAndApp { //小trip,idea抽取方法的快捷键是ctrl+alt+m public static void main(String[] args) { self(); self1(); } //方法1由于a只申明了一次,所以每次a变化后由于赋值操
package algorithms;
public class AAndApp {
//小trip,idea抽取方法的快捷键是ctrl+alt+m
public static void main(String[] args) {
self();
self1();
}
//方法1由于a只申明了一次,所以每次a变化后由于赋值操作,a的值始终等于a++,由于内存是同一块,故
//只能记录最新的值,即a++最后给的(可以看出a++操作时,a的值先增加,a++的值始终滞后于a),故
//无论循环几次,a的值始终不变。
private static void self() {
int a = 0;
for (int i = 0; i < 10; i++){
a = a++;
}
System.out.println("a等于"+a);
}
//方法2:由于声明了a和a1两块内存,用a1去接收a++的值,故a自身变化的值没有擦除,所以最后a1
//得到的值是a++最后一次的值,即9,而a由于比a++超前,故a等于10
private static void self1() {
int a = 0;
int a1 = 0;
for (int i = 0; i < 10; i++){
a1 = a++;
}
System.out.println("a1等于"+a1);
System.out.println("a等于"+a);
}
}
