我是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
时,我得到了所需的结果。
为什么会这样?
答案 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。