num = + 10和num + = 10之间有什么区别?

时间:2013-12-14 14:21:27

标签: java assignment-operator

我是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时,我得到了所需的结果。

为什么会这样?

3 个答案:

答案 0 :(得分:9)

num=+10相当于num=10。这就是循环永不结束的原因。

num+=10相当于num=num+10,它可以为您提供所需的行为。

答案 1 :(得分:7)

+=是复合作业; =+是正常分配,后跟加号,对于正数是可选的:

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

VS

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

第一个操作将10加到x;无论其先前值如何,第二个操作都会将10分配给x

答案 2 :(得分:3)

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

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