赋值运算为何是这样的

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

人心易冷

2017-01-21 13:50

 three=one+two;
          System.out.println(three);
          three+=one;
          System.out.println(three);
          three-=one;
          System.out.println(three);
          three*=one;
          System.out.println(three);
          three/=one;
          System.out.println(three);
          three%=one;
          System.out.println(three);

   谁能解释下为何代码是这样的,这个代码看不懂为何three=one+two;却输出System.out.println(three);的结果是30而不是0

写回答 关注

4回答

  • 软件工程在线学生
    2017-01-22 21:07:40

    这题首先是已经将局部变量three初始化为0,它是一个局部变量,然后局部变量变成了one+two,此时three的值已经为30,然后输出它的值为30,后面做的three+=one;这时three的值已经为30,然后加上one,变为40,总而言之,three 局部变量的值会随之改变。

  • qq_飞鸟_3
    2017-01-22 12:14:38

    代码不完整,one,two,three.是如何定义的呢?


  • 帝有
    2017-01-21 14:37:57

    three是左值,“=”是赋值符号:将右边运算的值赋值给左边的值(左值)。左值必须是变量,不能是常量,比如3=1+2是不合法的,计算机认为是错误的,编译不能通过。

  • 不一样唉
    2017-01-21 14:33:17

    three=20+10=30;   three是one与two的和。

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

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

1165172 学习 · 17581 问题

查看课程

相似问题