num=+10 和 num+=10 有啥区别? [复制]
Posted
技术标签:
【中文标题】num=+10 和 num+=10 有啥区别? [复制]【英文标题】: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 <=> num = +10 <=> num = 10
。 num += 10 <=> num = num + 10
.
【参考方案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。
【讨论】:
感谢回复以上是关于num=+10 和 num+=10 有啥区别? [复制]的主要内容,如果未能解决你的问题,请参考以下文章
matlab中的num2str函数和char函数在用法上有啥本质区别呀?