【发布时间】:2014-11-04 05:18:48
【问题描述】:
public class Sample
{
public static void main(String[] args) throws Exception
{
//part 1
int i=1;
i=i++;
i=++i;
i=i++;
System.out.println(i);
//part 2
i=1;
int a=i++;
a=++i;
a=i++;
System.out.println(a+"\n"+i);
}
}
输出
2
3
4
昨天我的朋友问了这个问题。我对此有点困惑。 第 1 部分 将 i 值打印为 2。后增量在这里不起作用。但在第 2 部分中,它起作用了。我可以理解第 2 部分,但我对 第 1 部分感到困惑。它实际上是如何工作的?谁能让我明白?
【问题讨论】:
-
您问的是 Java、C 还是 C++?
-
@ValekHalfHeart 我不完全确定这很重要。
-
问题在
JAVA。是吗? -
@Kumar 很可能是因为您的问题涉及 post 和 pre 递增/递减,这是一个被广泛讨论的话题(尽管我投了反对票)。
-
@Kumar 好吧,我很惊讶这没有被标记为重复。通常,如果有人这么认为,他们会提出一个基本上代表相同问题的问题。但是在回答您的问题时,是的,您应该尽量避免提出可以通过相对简单的搜索来回答的问题。您不太可能找到与您的问题完全匹配的内容,但这并不意味着您无法从之前的问题/答案中找出答案。