2014-01-22 105 views
-5

当我执行此代码:差异之间++变量,变量++

public static void main(String[] args){ 
int h=0; 
int g=0; 
for(int j=0;j<10;j++){ 
    System.out.println(++g+" "+ h++); 
} 

控制台打印:

1 0 

2 1 

3 2 

4 3 

5 4 

6 5 

7 6 

8 7 

9 8 

10 9 

有人可以解释我为什么比h++

+0

在后期或前期增量中,SO中有**许多** QA。 –

+0

两者都是预先增加的,并且每行都打印相同的值。 – rgettman

+2

该代码甚至不符合... –

回答

1

查看其他答案,了解每个++所做的工作(发布或预增量)。因此++是“更快”的,因为它在执行语句之前递增,这意味着它将从更高的数字开始。

0
更快 ++g“增加?

我假设你在打印行语句中有错字,所以我会在++ g和h ++上回答你的问题。

++ g是一个预增量。 h ++是后增量。

在使用它之前,预增量会将g的值加1。使用后,后增量会将h加1。

0

后递增(变量++):首先执行语句,然后将值增加1。
预增量(++变量):首先将值增加1,然后执行语句。

对于System.out.println(++g+" "+ ++h);这个输出是的

1 1 
2 2 
    . 
    . 
    . 

这种格式。

相关问题