(一)前言
在计算机编程过程中,当我们需要在特定的时间或位置结束某段语句时,我们就不得不借助控制语句来帮助我们完成这一功能。因此,了解三者之间的异同是我们理应储备的知识。
(二)break、continue与return
(1) break
break作用于循环语句和switch语句段中,用于跳出本循环。但在循环语句段中,若break外还嵌套有多层循环,则break只能跳出包裹break的一层循环而无法跳出所有循环。例如:
for(int i = 1; i < 10 ;i++) //第一层循环
{
for(int j = 1; j < 10 ; j++) //第二层循环
{
if(j >= 2) //注释①
break;
System.out.println(j);
}
}
此段代码的输出结果为:1 1 1 1 1 1 1 1 1;可知共输出了9次1;break使得当 j >= 2时就跳出了第二层循环,因此只输出1;而并没有跳出第一层循环,因此一共要输出9次。
【 注释①】:在if条件语句内,break后面不能接任何语句,因为程序只执行到break就结束了,因此后续语句均是无效语句。
(2) continue
continue只能作用于循环语句段内,用于结束本次循环。与break不同的是,continue结束本次循环之后会立马执行下一次循环,而非结束整个循环语句。例如:
for(int i = 1; i < 10 ;i++)
{
if(i % 2 ==0) //注释②
continue;
System.out.println(i);
}
结果输出:1 3 5 7 9;可知当i被2整除时,continue语句被执行,此次循环被结束,因此在此时的循环中,System.out.println(i)语句被跳过而直接进入下一次循环。最终输出:1 3 5 7 9。
【 注释2】:同样的,当continue被执行时,其后的代码均无法执行,因此都是无效语句。故continue之后无法接其它语句。
(1) break
renturn作用于函数内的任意位置,当程序执行到renturn时,整个函数就会停止进行,当此函数为程序主函数(main)时,整个程序也会结束运行,简而言之,return时结束包含该语句的整个函数。例如:
public void output()
{
for(int i = 1; i < 10 ;i++)
{
if(i % 2 ==0)
retuen 0;
System.out.println(i);
}
System.out.println("程序继续运行了!!");
}
output打印的结果为:1;可知System.out.println(“程序继续运行了!!”)并未被执行,整个函数直接终止。
(三)总结
控制语句 |
|
---|---|
break |
|
continue |
|
return |
|