Java 操作数上的后增量运算符
在上面的示例程序中,我期望输出为133。 由于post和pre增量都优先于“+”,因此将首先对其求值 步骤1:System.out.println(66+67) 步骤2:System.out.println(133)Java 操作数上的后增量运算符,java,c#,Java,C#,在上面的示例程序中,我期望输出为133。 由于post和pre增量都优先于“+”,因此将首先对其求值 步骤1:System.out.println(66+67) 步骤2:System.out.println(133) 在增量后操作中,x何时变为66。是否在下一行中,值变为66,我在这方面有点困惑。65+67,因为x++将在该行完成执行后执行,++x将在执行期间执行。在+运算符之后,x很快变为66。在该运算符之后,x再次递增,使其变为66+1。因此,它看起来是这样的:65+67,即132 当考虑计
在增量后操作中,x何时变为66。是否在下一行中,值变为66,我在这方面有点困惑。65+67,因为x++将在该行完成执行后执行,++x将在执行期间执行。在+运算符之后,
x
很快变为66
。在该运算符之后,x
再次递增,使其变为66+1
。因此,它看起来是这样的:65+67
,即132
当考虑计算机的实际功能时…x++:从内存加载x,使用,递增,存储回内存。
++x:从内存加载x,递增,使用,存储回内存。而C#链接是……?答案是65+67=132
x++
将值递增1,不是“在行之后”,而是在表达式x++
返回值之后。表达式++x
在返回值之前将值递增1。@JaroslawPawlak非常迂腐,后缀运算符将临时保存x
的内容,然后递增变量x
,然后返回保存的内容。运算符与函数非常相似,函数返回后无法执行某些操作。
public static void main(String []args)
{
char x = 'A';
System.out.println(x++ + ++x); //In Java
Console.WriteLine(x++ + ++x); // In C#
}