++ Var和Var ++之间的区别[重复]
|
这个问题已经在这里有了答案:
没有找到相关结果
已邀请:
8 个回复
你换
和
都会递增它们所应用的变量,但是
返回的结果是递增之前变量的值,而
返回的结果是应用递增后变量的值。 进一步说明 当
或
形成完整的陈述时(如您的示例),两者之间没有区别。例如以下
等同于
但是,当
或
用作较大语句的一部分时,两者可能不相等。例如,以下断言通过
而这一失败
尽管
和
都会递增它们所应用的变量,但是
返回的结果是递增之前变量的值,而
返回的结果是应用递增后变量的值。 在
循环中使用时,两者之间没有区别,因为变量的增加不构成较大语句的一部分。它可能不会这样显示,因为源文件的同一行上还有其他代码。但是,如果仔细观察,您会发现在增量之前紧跟着一个
,而在其后则没有任何东西,因此增量运算符不构成较大语句的一部分。
玩翁文醚碱
是预递增运算符;在计算表达式之前,它会增加ѭ19的值。同样,
是后递增运算符;计算表达式后,它会增加ѭ19的值。 在简单循环的情况下,两者之间没有区别,因为表达式
和
都得出相同的结果。 有关更多信息,请参见例如http://www.particle.kth.se/~lindsey/JavaCourse/Book/Part1/Java/Chapter02/operators.html#IncDecOps。
草票
发布增量:
:
首先转移到
,然后
递增,所以现在
是
,
是
效果是
预递增:
:首先递增
,然后将结果传送到
,所以现在
是
,而
是
。效果是
独立的
和
以相似的方式工作。在您介绍的循环示例中,增量运算符在任何表达式中均不相关,并且是独立的。因此,在此特定实现中这两个是相同的。
鲁釜头
和:
在第一种情况下,var2的值为1,而在第二种情况下为0。
穗揣
破弯
苏髓骗撩
相当于
而后递增i ++在最后执行;
相当于
屉杆绊
和
是相同的。 这适用于您的问题,因为您只有
,
仅当您内联它们时才发生区别:
怎么记? 当您首先看到运算符时,然后递增,然后取值。 当您首先看到变量时,然后取值,然后递增。 因此,在第一个示例中,您看到相等的值是因为:
因此,在第二个示例中,您会看到差异,因为: