他们都是中断正常的控制流程,这点他们都一样。而continue语句将控制转移到最内层循环的首部。
例如:
Scanner in = new Scanner(System.in);
while( sum < goal )
{
System.out.print( " Enter a number:");
n = in.nextInt();
if( n < 0) continue;
sum += n;
}
如果n<0,则continue立刻跳到循环的首部,越过其他迭代部分。
另外continue还可以用语for循环中,就可以跳到for循环的更新部分。
例如:
for( count =1; count <= 100; count++)
{
System.out.print("Enter a number, -1 to quit:");
n = in.nextInt();
if(n<0) continue;
sum += n;
}
如果n<0,则跳到count++语句。
还有代标签的break 和 continue ...
break是立即终止循环,但只能跳出一重循环,要跳出多重循环可以用带标号的break语句
continue是跳过本次循环中尚未执行的语句,重新开始下一轮的循环
这个一般书上都有详细的介绍。。
break和continue都可用于控制循环的流程,break用于强行推出循环,不执行循环中的剩余部分,而continue则停止当前的迭代,然后推出循环起始处,开始下一次迭代。
import com.bruceeckel.simpletest.*;
public class BreakAndContinue {
static Test monitor = new Test();
public static void main(String[] args) {
for(int i = 0; i < 100; i++) {
if(i == 74) break; // Out of for loop
if(i % 9 != 0) continue; // Next iteration
System.out.println(i);
}
int i = 0;
// An "infinite loop":
while(true) {
i++;
int j = i * 27;
if(j == 1269) break; // Out of loop
if(i % 10 != 0) continue; // Top of loop
System.out.println(i);
}
monitor.expect(new String[] {
"0",
"9",
"18",
"27",
"36",
"45",
"54",
"63",
"72",
"10",
"20",
"30",
"40"
});
}
}