++与--问题

    首先我们要明白,java中进行计算时,++在前先进行++计算,在赋值。++在后先赋值 在进行++操作

  

package com.aria.basic;

/**
 * ++ 与 -- 的测试
 * @author aria
 *
 */
public class OperatorTest {

    public static void main(String[] args) {
        int a = 10;
        int b = ++a ;
        int c =(a++)+(--b);
        int d =(--a)+(b++)-(++c);
        int e =(a++)-(++b)+(c--)-(--d);
        System.out.println(a);
        System.out.println(b);
        System.out.println(c);
        System.out.println(d);
        System.out.println(e);

    }

}

 我的计算过程:

  

/**
 * ++ 与 -- 的测试
 * @author aria
 *
 */
public class OperatorTest {

    public static void main(String[] args) {
        int a = 10; //a = 10;
        int b = ++a ; // a = 11 , b = 11
        System.out.println(a);//11
        System.out.println(b);//11
        int c =(a++) + (--b);//a=11 b=10 c = 21
        System.out.println(a);//12
        System.out.println(b);//10
        System.out.println(c);//21
        int d =(--a) + (b++) - (++c);//a=11 b=10 c=22 
        System.out.println(a);//11
        System.out.println(b);//11
        System.out.println(c);//22
        System.out.println(d);//-1
        int e =(a++)-(++b)+(c--)-(--d);//a=11 b=12 c=22 d=-2
        System.out.println(a);//12
        System.out.println(b);//12
        System.out.println(c);//21
        System.out.println(d);//-2
        System.out.println(e);//23

    }

}

  分析:

    int a = 10;此时 a = 10;

    int b = ++a;由于++再前,先执行++操作再赋值  即a = a+1 ;a  = 11,b = a ,b = 11。

    所以此处打印a,b的值都为11

    int c = (a++)+(--b); 此是++在后所以先参与加法运算再执行a的自增,--再前对于b先进行--操作所以b=10 对于c实际运算的数字为 11 + 10

所以c的值为21 ,然后a进行++操作,所以a=12

    所以此处打印的a,b,c结果分别为12,10,21

    int d = (--a)+(b++)-(++c);对于变量a--在前先执行自减操作 a = 11 对于b++在后后进行自增参与运算的为b的当前值,对于c++在前,先执行++操作所以c =22 。对于d的运算为 11+10 - 22 所以d = -1 然后b执行++操作 b的值为11

    所以此处打印abcd的值为 11,11,22,-1

    int e =(a++)-(++b)+(c--)-(--d);对于变量a参与运算的值为11 对于变量b参与运算的值为12 对于变量c参与运算的值为22 对于d参与运算的值为-2 所以e = 11-12+22-(-2) = 23

  对于a 在进行++所以a-=12 b=12 c进行--操作 c=21 d=-2

  所以最终打印结果为:

    作为新手如果遇到这种运算符特别多和复杂的可以慢慢的进行拆解,一步一步慢慢进行分析。

 

posted @ 2019-04-22 22:04  临之音  阅读(196)  评论(0编辑  收藏  举报