是否有可能在Java中声明几个'for'循环终止?

时间:2013-08-22 17:44:18

标签: java for-loop

我知道Java中for循环中的sintax。通常看起来像

for(initialization; termination; increment){
    ...
}
//Example
for(int i=0; i<100; i++){
    ...
}

而且我也已经知道我们可以声明几个初始化和增量,例如

//Example
int i,j;
//  ini1,  ini2 ;  term ;  inc1,  inc2
for(i=0,   j=100;  i<100;  i++,   j--){
    ...
}

我非常清楚的问题是:是否可以有多个终止?可能有点像

//Example
int i,j;
//  ini1,   ini2 ;   term1,   term2;   inc1,  inc2
for(i=0,    j=100;   i<100,   j>34;    i++,   j--){
    ...
}

因为我正在尝试它并且它给了我一个错误,我宁愿不在循环中使用太多if个句子来确定是继续还是休息。

是sintax,还是不合适? 提前谢谢。

6 个答案:

答案 0 :(得分:2)

您可以提供任何boolean条件,其中可能包含逻辑布尔运算符,例如!&&和/或||

for(i=0,    j=100;  i<100 && j>34;    i++,   j--){

只要评估为boolean,它们就可以像您想的那样简单或复杂。

答案 1 :(得分:1)

//Example
int i,j;
//  ini1,   ini2 ;   term1,   term2;   inc1,  inc2
for(i=0,    j=100;   i<100 &&  j>34;    i++,   j--){
    ...
}

答案 2 :(得分:1)

只需使用逻辑运算符||&&来表示您的停止条件:

for(i=0, j=100; i < 100 || j > 34; i++, j--)

答案 3 :(得分:1)

您正试图在i<100 AND j>34时停止。在java中,AND用&amp;&amp;编写。所以,你的循环可以是:

int i,j;
for(i=0,    j=100;   i<100 &&   j>34;    i++,   j--){
    ...
}

至少阅读this以获取更多信息。

答案 4 :(得分:1)

for循环中只能有一个......条件,但是这个条件可以使用&&之类的逻辑运算符来构建其他几个条件,这意味着“AND”,||这意味着“或”?

如果要在所有条件i<100j>34满足后结束循环,则应使用逻辑AND运算符i<100 && j>34
如果您希望在至少一个条件i<100j>34完成后结束循环,那么您应该使用逻辑OR运算符i<100 || j>34

答案 5 :(得分:1)

你可以根据你的意愿给出尽可能多的条件,结合逻辑AND / OR,假设你的表达式求值为布尔值true / false值。

根据Java语言规范,Java SE 7 Edition:

“语句的基本执行一些初始化代码,然后执行 表达式,声明和一些更新代码重复,直到值 表达是错误的。

BasicForStatement: for(ForInitopt; Expressionopt; ForUpdateopt)Statement“

... Expression必须具有boolean或Boolean类型,