Java 对于不同类型的循环如何编码

Java 对于不同类型的循环如何编码,java,for-loop,Java,For Loop,嗨,有人能告诉我这和for循环的区别吗 int y = 3; int sif [] = new int [150]; for(int a= 0;a<sif.length;a = a + y){ sif[a]=a; y++; } 还有这个: int y = 3; int sif [] = new int [150]; for(int a= 0;a<sif.length;a = a + y){ sif[a]=a; } y++; 有什么不同吗?有人能解释一下吗…最后两行应该会给你一些提

嗨,有人能告诉我这和for循环的区别吗

int y = 3;
int sif [] = new int [150];
for(int a= 0;a<sif.length;a = a + y){
sif[a]=a;
y++;
}
还有这个:

int y = 3;
int sif [] = new int [150];
for(int a= 0;a<sif.length;a = a + y){
sif[a]=a;
}
y++;

有什么不同吗?有人能解释一下吗…

最后两行应该会给你一些提示:


一个在右大括号前有y++符号,另一个在右大括号后有y++符号。在第一个循环中,在执行a=a+y之前,每次循环运行时y都会增加。在第二个循环中,y将在循环结束后递增。

第一个循环样本中的行y++将在循环块的每次迭代中递增y变量。对于第二个循环示例,y仅在处理整个For循环后增加,在本例中仅增加一次,因为y++位于For循环块之外。

。。。其中一个在循环中增加y。另一个不是。一个很好的练习是在调试器中逐步检查代码,并观察变量值的变化。如果代码缩进正确,则差异会很明显。如果同时执行并打印sif数组,这也很明显。第一个循环完成得更快OK然后将while循环添加到for循环的顶部,这样整个过程从一开始就可以循环,但是这次y的值是3,这是可能的吗???@IvanLorenzo是的,但是为什么要这么麻烦呢?把3分配给y,y=3。是的,但是你知道我在这个程序中要做的是,让它以2的速度计数,直到它达到目标,然后它以3的速度开始计数,直到达到目标。第一个是假设在下一个3 6 9中显示偶数2 4 6 8…类似这样的that@IvanLorenzo是的,在第二个循环中使用y=3。我强烈建议大家试着想象一下这个项目会做什么