Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/390.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 操作数上的后增量运算符_Java_C# - Fatal编程技术网

Java 操作数上的后增量运算符

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 当考虑计

在上面的示例程序中,我期望输出为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++:从内存加载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#
}