当前位置 : 主页 > 编程语言 > java >

a/a++

来源:互联网 收集:自由互联 发布时间:2021-06-28
AAndApp.java package algorithms;public class AAndApp { //小trip,idea抽取方法的快捷键是ctrl+alt+m public static void main(String[] args) { self(); self1(); } //方法1由于a只申明了一次,所以每次a变化后由于赋值操
AAndApp.java
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);
    }
}
网友评论