如果我做这样的事情
boolean ret;
for(int i = 2;i<30;i++) {
if ( 30%i == 0){
ret = true;
} else {
ret = false;
}
}
ret在2,但也在5,10 15时变为真,无论如何,只要ret变为真,就会突破for语句吗?
答案 0 :(得分:3)
您是否考虑过break
命令
boolean ret = false;
for(int i = 2; i < 30; i++){
if(30%i == 0){
ret = true;
break;
}
}
答案 1 :(得分:3)
不使用结构破坏指令,您只需执行检查for条件。
boolean ret = false;
for(int i = 2;i<30 && !ret;i++) {
if ( 30%i == 0){
ret = true;
} else {
ret = false;
}
}
答案 2 :(得分:2)
你不能突破if
。当它决定条件走向何方时,它已经结束了,没有什么可以跳过的了。你只能摆脱循环,比如for
。
但是,提前退出的无比更好的方法是将示例代码放入方法并使用return
。更具可读性,并且使用良好的方法名称,整个代码(以及return
)的目的立即明确。