首页 > 代码库 > 关于死循环while(true){}或for(;;){}的总结

关于死循环while(true){}或for(;;){}的总结

关于死循环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(;;){}的总结