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); } }