ssss: for(?;,?;,?) { break ssss;
// continue; }
三个表达式中:
第一个?是初始化语句:一般是给一个变量赋初始值,只所有循环之前运行一次,以后不运行。第二个?是布尔表达:判断运行的条件,条件为真就循环,为假就结束。
第三个?是普通语句:一般是递增或递减的语句,例如i++等,在当次循环后执行。
public class Test {
public static boolean foo(char c) {
System.out.print(c);
return true;
}
/**
* @MethodName: main
* @Description:
* @param args
* @throws
*/
public static void main(String[] args) {
int i = 0;
for (foo('A'); foo('B') & (i < 2); foo('C')) {
i++;
foo('D');
}
}
}
这三个语句随便哪一个都可以不写!
但是:
不写第一个,就一定要在循环之前做变量的初始化工作;
不写第二个,就要在循环体里写上判断并跳出的语句,不然就是死循环;
不写第三个,一般也要在循环体里写上相应的语句,不然变量没有变化,最终要如何跳出循环呢?
continue用于结束本次循环,开始下一次循环。
break结束整个循环,执行循环体后面的语句。
如果写成 for(;;)