Java 向For语句添加多个术语

Java 向For语句添加多个术语,java,Java,我的问题是为什么输出是0-4?但不是0-9 int x = 0; for (long y = 0, z = 4; x < 5 && y < 10; x++, y++) { System.out.print(y + " "); } intx=0; 对于(长y=0,z=4;x

我的问题是为什么输出是0-4?但不是0-9

int x = 0;
for (long y = 0, z = 4; x < 5 && y < 10; x++, y++) {
   System.out.print(y + " ");
}
intx=0;
对于(长y=0,z=4;x<5&&y<10;x++,y++){
系统输出打印(y+“”);
}
下一个代码也不编译吗

int x = 0;
for (long y = 0, x = 4; x < 5 && y < 10; x++, y++) {
   System.out.print(x + " ");
}
intx=0;
对于(长y=0,x=4;x<5&&y<10;x++,y++){
系统输出打印(x+“”);
}
你能解释一下原因吗

int x = 0;
for (long y = 0, z = 4; x < 5 && y < 10; x++, y++) {
    System.out.print(y + " ");
}
由于已将
x
定义为
int
,因此无法编译上述内容。循环的第一部分尝试将其重新定义为
long

intx=0;
int x = 0;
for (long y = 0, z = 4; x < 5 && y < 10; x++, y++) {
   System.out.print(y + " ");
}
对于(长y=0,z=4;x<5&&y<10;x++,y++){ 系统输出打印(y+“”); }

当x==5,x时,该条件不成立,因为
x
不能超过
4
;i、 e.
x<5
x但我打印的是y,而不是x检查条件周围的括号。顺便说一句,你可以在for语句中定义多个变量,这并不意味着你应该这样做。尽量使您的代码易于人们理解。
int x = 0;
for (long y = 0, z = 4; x < 5 && y < 10; x++, y++) {
   System.out.print(y + " ");
}
int x = 0;
for (long y = 0, x = 4; x < 5 && y < 10; x++, y++) {
   System.out.print(x + " ");
}