i++ 和++i
这个就是前加后加的问题了,看上去就那么一句话。++在前先加在运行。在后面的先运算在加!
我想问问下面这个程序:
for(int i=1;i<5;++i){
System.out.println(i);
}
for(int i=1;i<5;i++){
System.out.println(i);
}
为什么输出会是一样的。这样的话第二个循环这个i不也要先参与运行才自己加加的么?
如果按照县取值在自己加加的话 第二个循环应该输出1--5才对。
首先,i=1 条件成立,输出1,然后到i++这里,先取值,i还是1,1<5,又成立,所以输出i,但是i在取值后会++所以i是2.如此推下去会输出1--5.
求解释,不懂啊.....
到底该怎么理解呢?
你那样看是看不出来的,要像我这样看。
public class For2Test
{
public static void main(String[] args)
{
int j = 0;
for (int i = 0; i<5 ; j=i++ )
{
System.out.println(j);
}
j = 0;
for (int i = 0; i<5 ; j=++i )
{
System.out.println(j);
}
System.out.println("Hello World!");
}
}
for (int i = 1; i < 5;) {
System.out.println(++i);
}
for (int i = 1; i < 5;) {
System.out.println(i++);
}