为什么我的输出值不一样

来源:3-3 Java中的赋值运算符

java萌新

2017-05-11 10:47

我的输出最后会变成 第一个为40 第二个为30然后300.。。。。




写回答 关注

2回答

  • qq_喷泉_0
    2017-05-11 12:20:58
    已采纳

    {
       public static void main (String[]arge){
        int o = 10 ;
        int p = 20 ;
        int a = (o+p);                       //a=30
        int b = (a+=o);                    //a=40 b=40,此时a的值已改变
        int c = (b-=o);                     //b=30 c=30,此时b值已改变
        long d = (c*=o);                 //c=300 d=300,此时c值已改变

        long e = (d/=o);                 //d=30 e=30,此时d值已改变

        long f = (e%=o);//e=0 f=0
        System.out.println("three = one + two ==>"+a);          //输出值为改变后的值40
        System.out.println("three += one ==>"+b);
        System.out.println("three -= one ==>"+c);
        System.out.println("three *= one ==>"+d);
        System.out.println("three /= one ==>"+e);
        System.out.println("three %= one ==>"+f);
          

    }
    }

    慕侠1827... 回复java萌新

    int b = (a+=o); 在你这行的代码中,你的a已经等于a+0了,也就是说你的a经过运算已经等于40了。java是逐行运算下来的,你的显示代码是放在最后所以显示的是最后赋值的结果也就是40而不是第一次运算的30.

    2017-06-07 23:44:40

    共 11 条回复 >

  • java萌新
    2017-05-11 10:49:07

    最后两个}}请无视,大家试试这段代码输出有什么问题

Java入门第一季(IDEA工具)升级版

0基础萌新入门第一课,从Java环境搭建、工具使用、基础语法开始

1165550 学习 · 17586 问题

查看课程

相似问题