这是后增量上的两个java程序和在for循环上使用的preincrement运算符.both产生相同的输出。然后在for循环上使用preincrement和postincrement运算符之间的区别是什么。
public class Printi{
public static void main(String args[])
{
int i=0;
for(i=0;i<5;++i){
System.out.println(i);
}
}
}
产生输出
C:\fx>java Printi
0
1
2
3
4
这个for循环中的postincrement运算符也产生相同的输出
public class Printj{
public static void main(String args[])
{
int j=0;
for(j=0;j<5;j++){
System.out.println(j);
}
}
}
C:\fx>java Printj
0
1
2
3
4
答案 0 :(得分:0)
是(因为您不显示增量表达式返回的值)。要查看差异,请比较
for(int j=0;j<5;){
System.out.println(j++);
}
和
for(int j=0;j<5;){
System.out.println(++j);
}
for
循环语法的所有三个部分都是可选的。
答案 1 :(得分:0)
在for循环中,您构建它的方式没有区别。当&#34; j&#34;在循环内部打印出来,它已经过预先评估或后评估。
关于评估前或评估的唯一有趣的时间是正确的,当你实际将该评估应用于变量时,这就是@Elliot Frish在他的答案中所显示的。
评估结束后,代码肯定不会发现差异。
当你在while循环中构造它时,这样的东西可能会产生更大的不同。
答案 2 :(得分:0)
x++
和++x
之间的唯一区别只能在包含许多运算符和操作数的语句中显示。
考虑一下:
int x = 10;
int y = ++x;
x
首先以前缀++
递增。然后将递增的x
分配给y
。所以在这段代码之后,x = 11,y = 11。
如果我将其更改为:
int x = 10;
int y = x++;
x
首先被分配y
,因为后缀++
已执行 last 。将x赋给y后,x增加。所以在这段代码之后,x = 11,y = 10。
这就是区别。在您的示例中,您只有一个操作:++x
。因为只有一个,所以无法显示操作的顺序!