假设我有以下代码:
int x = 5;
System.out.println(x++); // Will print 5
System.out.println("Random code"); // Will write "Random code"
System.out.print(x): // Will write 6我的问题是:在哪一行上x实际上是递增的?就在后缀之后?还是就在变量按顺序调用之前?
我听说过序列点与后缀和前缀运算符有关。这就是我问的主要原因。
发布于 2015-10-16 18:30:32
x的值将在打印后立即递增(在本例中)。所发生的情况是对变量执行比较/打印/某些其他操作,然后在这种操作之后直接递增。如果您有类似于int z = 0; if (1 > z++) { system.out.println (z) }的东西,也会发生同样的事情,它会打印1。
编辑: java中没有序列点。有关更多信息,请阅读以下内容:sequence point concept in java
https://stackoverflow.com/questions/33177196
复制相似问题