【问题标题】:What's the difference between num=+10 and num+=10? [duplicate]num=+10 和 num+=10 有什么区别? [复制]
【发布时间】:2014-01-02 06:41:34
【问题描述】:

我是 java 新手,所以在进行实验时(如您所知,这是最好的学习方式),我尝试了以下代码:

public class wHilE{
   public static void main(String[] args){
      int num = 10;
      while(num<=100){
        System.out.println("while countdown = "+ num);
        num=+10;
      }
   }
}

结果是无限循环打印while countdown = 10,但是当我将num=+10 更改为num+=10 时,我得到了想要的结果。

为什么会这样?

【问题讨论】:

  • num =+ 10 &lt;=&gt; num = +10 &lt;=&gt; num = 10num += 10 &lt;=&gt; num = num + 10.

标签: java assignment-operator


【解决方案1】:

num=+10 等价于num=10。这就是循环永远不会结束的原因。

num+=10 等同于num=num+10,它会为您提供所需的行为。

【讨论】:

    【解决方案2】:

    += 是一个复合赋值; =+ 是一个普通的赋值,后跟一个加号,对于正数是可选的:

     x += 10;
     ^ ^^ ^^
     |  |  |
    var |  val
    compound assignment
    

    对比

     x = +10;
     ^ ^ ^^^
     | |  |
    var| val
    assignment
    

    第一个操作给x加十;第二个操作将 10 分配给 x,无论其先前的值如何。

    【讨论】:

      【解决方案3】:

      num += 10 表示num = num + 10 它将为 num 分配 num + 10 值。

      num=+10 表示num = +10 这意味着+10 值将存储在num 中。 这里的 +10 表示正 10。

      【讨论】:

      • 感谢回复
      猜你喜欢
      • 1970-01-01
      • 2012-06-05
      • 2013-10-29
      • 2023-03-04
      • 2021-08-02
      • 2016-05-29
      • 2020-07-29
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多