java中a++与++a区别

java中a++与++a区别

a++与++a的区别,如果单独使用没有任何区别,如果在运算中就有区别了,a++是先运算在赋值,而++a是先赋值在运算!!

先看a++的代码哦

class demo1 
{
    public static void main(String[] args) 
    {
               int a=20;
        int b=19;
        /*
        先运算在赋值;
        1. b先和a作比较,b比a小为假,所以a还是20;
        2. b在自增加1,所以b为20;
        3. 因为三元判断为假,所以c等于自增后的b加a为40;

        */
        int c= b++>=a ? a++:a+b;
        System.out.println(a);//结果是:20
        System.out.println(b);//结果是:20
        System.out.println(c);//结果是:40
    }
}

上面的代码中的b就是指a++中的a哦

b++先运算在赋值;
1. b先和a作比较,b比a小为假,所以a还是20;
2. b在自增加1,所以b为20;
3. 因为三元判断为假,所以c等于自增后的b加a为40;

下面是++a的代码

class demo1 
{
    public static void main(String[] args) 
    {     
                int A=20;
        int B=19;
        /*
        先赋值在运算;
        1.B先自增为20;
        2.三元运算自增后的B等于A,所以c等于20;
        3.因为三元运算为真,所以A自增1为21;
        */
        int C= ++B>=A ? A++:A+B;
        System.out.println(A);//结果是:21
        System.out.println(B);//结果是:20
        System.out.println(C);//结果是:20

    }
}

同样的,上面的代码中的B就是指++a中的a哦

++B先赋值在运算;
1.B先自增为20;
2.三元运算自增后的B等于A,所以c等于20;
3.因为三元运算为真,所以A自增1为21;

不喜勿喷,毕竟是初学者哦

posted @ 2016-11-15 13:06  黎明前D黑暗  阅读(25529)  评论(4编辑  收藏  举报