如何在计算中使用增量?

时间:2015-05-09 02:44:48

标签: java post-increment pre-increment

{int num1 = 5;
 int num2 = 6;
 int num3;
 num3 = ++num2 * num1 / num2 + num2;
 System.out.println(num3);} //12 

编译器给出num3 = 12,但是如何获得该值?当我尝试获得num3值时,我得到6(不使用编译器)。 num2 ++和++ num2的值都相同,但是当我使用下面的代码时,它给出了不同的值。为什么我有不同的价值观获取这些num3值的步骤是什么(不使用编译器?)

num3 = num2++ * num1 / num2 + num2; //11

2 个答案:

答案 0 :(得分:1)

增量操作num++++num都会产生num=num+1assignmentincrement操作的顺序只有差异。

num++(post-increment) -> first num is used and then incremented ++num(pre-increment) -> first num is incremented and then used

我测试时代码打印12

public static void main(String[] args) {
        int num1 = 5;
        int num2 = 6;
        int num3;
        num3 = ++num2 * num1 / num2 + num2;
        System.out.println(num3);
    }

我建议您使用括号,因为它也会提高可读性。

答案 1 :(得分:0)

如果你这样做:

int num2 = 6;
System.out.println(num2++);

它将打印6,然后将num2更改为7.但是如果你这样做:

int num2 = 6;
System.out.println(++num2);

它会将num2更改为7,然后打印7.所以:

num3 = ++num2 * num1 / num2 + num2;
num3 = 7 * 5/ 7 + 7
num3 = 35/7 + 7
num3 = 12