多个条件 'for' 循环下
multiple conditions Under the 'for' loop
为什么下面标准 for 循环中的条件 Boolean
没有按预期运行?
我试图在下面的数组中获取 3 和 4,索引 2 和 3 以打印出来。如果我尝试
要在 for 循环的条件中指定范围,它不会 运行 循环。
在 if 条件下测试条件(参见第二个列表)
为什么它不能只在 for 循环中工作?
int[]weather = {1,2,3,4,5,6,7};
for(int i=0;i>1&&i<4; i++ ) {
//if(i>1&&i<4) {
System.out.println("Weather is ===> "+weather[i]);
//}
}
nothing printed...
int[]weather = {1,2,3,4,5,6,7};
for(int i=0;i<10; i++ ) {
if(i>1&&i<4) {
System.out.println("Weather is ===> "+weather[i]);
}
}
Weather is ===> 3
Weather is ===> 4
for(int i=0;i>1&&i<4; i++ ) {
^------^ expression
for循环执行直到表达式为假,然后停止执行。这个表达式立即为假(因为 0>1
为假),所以它立即停止执行。如果表达式再次变为真,它不会“等着看”。
如果你只想循环执行 i>1&&i<4
:
for(int i = 2; i<4; i++ ) {
很简单,你初始化后没有通过条件。一开始 i 设置为 0。循环一直持续到 i 在 1 和 4 之间(均已排除),因此您永远不会开始循环。
for (int i = 0; i > 1 && i < 4; i++) {
// You never goes here because i is 0 so not > than 1
...
}
相反,如果您将条件放在循环中,您将绕过执行所有迭代,并且对于其中一些迭代,您将进入 if 条件。
for(int i=0;i>1&&i<4; i++ )
不起作用,因为 i=0 并且它不满足循环中的条件,因此程序永远不会进入循环。
这通常用于在不需要时跳过循环。
为什么下面标准 for 循环中的条件 Boolean
没有按预期运行?
我试图在下面的数组中获取 3 和 4,索引 2 和 3 以打印出来。如果我尝试
要在 for 循环的条件中指定范围,它不会 运行 循环。
在 if 条件下测试条件(参见第二个列表)
为什么它不能只在 for 循环中工作?
int[]weather = {1,2,3,4,5,6,7};
for(int i=0;i>1&&i<4; i++ ) {
//if(i>1&&i<4) {
System.out.println("Weather is ===> "+weather[i]);
//}
}
nothing printed...
int[]weather = {1,2,3,4,5,6,7};
for(int i=0;i<10; i++ ) {
if(i>1&&i<4) {
System.out.println("Weather is ===> "+weather[i]);
}
}
Weather is ===> 3
Weather is ===> 4
for(int i=0;i>1&&i<4; i++ ) { ^------^ expression
for循环执行直到表达式为假,然后停止执行。这个表达式立即为假(因为 0>1
为假),所以它立即停止执行。如果表达式再次变为真,它不会“等着看”。
如果你只想循环执行 i>1&&i<4
:
for(int i = 2; i<4; i++ ) {
很简单,你初始化后没有通过条件。一开始 i 设置为 0。循环一直持续到 i 在 1 和 4 之间(均已排除),因此您永远不会开始循环。
for (int i = 0; i > 1 && i < 4; i++) {
// You never goes here because i is 0 so not > than 1
...
}
相反,如果您将条件放在循环中,您将绕过执行所有迭代,并且对于其中一些迭代,您将进入 if 条件。
for(int i=0;i>1&&i<4; i++ )
不起作用,因为 i=0 并且它不满足循环中的条件,因此程序永远不会进入循环。
这通常用于在不需要时跳过循环。