关于死循环while(true){}或for(;;){}的总结
1、基本用法:
while(true){
语句体;
}
for(;;){
语句体;
}
以上情况,语句体会一直执行。
2、跳出死循环
情形一:while(true){
swtich(n){
case 1:
Syso....
break;
case 2:
syso...
break;
}
break
}
由于break只跳出离自己最近的循环体,所以case语句后的break,跳出的是switch循环,swtich外的break才是跳出while(true).
如果想要在case1后跳出while(true)循环,需要在case1后的break后和while前加标识符(任意英文字符或字符串都可),如下 :
a: while(true){
swtich(n){
case 1:
Syso....
break a;
case 2:
syso...
break;
}
break
}
情形二:while(true){
if(){
syso...
}else{
syso...
break;
}
break;
}
此种情形需注意:if{}else{}为选择结构,并非循环结构。else语句体中的break对if语句不产生影响,执行到此break时,会直接跳出死循环,即两个break留一个即可;
总结:死循环中如果嵌套入另一循环或swtich选择结构,需注意是否使用标识符;死循环中如果没有嵌套循环和swtich结构,则break会直接跳出死循环。
关于死循环while(true){}或for(;;){}的总结
原文:http://www.cnblogs.com/huguangqin/p/7124000.html