文章目录
- 一、什么是死循环
- 二、以fo循环示例
- 三、如何避免死循环
一、什么是死循环
死循环就是循环语句的 循环布尔表达式 一直为true,没有终止循环的条件或者终止循环的条件根本不可能达成
二、以fo循环示例
/** 终止循环的条件根本不可能达成* 循环布尔表达式:i < 3 是没问题的,但是循环条件是 i--* i的初始值是1,每次循环之后进行 i-- 操作* 第一次循环之后进行 i-- 然后i的值变为-1* 第二次循环之后进行 i-- 然后i的值变为-2...以此类推i的值只会越变越小* 循环布尔表达式:i < 3 这个条件只会一直为true,所以循环不可能停止,造成死循环*/for (int i = 0; i < 3; i--) {System.out.println("i = " + i);}
/** 没有终止循环的条件* 循环布尔表达式:直接就为true,不管循环条件i++ 再怎么变都与 循环布尔表达式 无关了,直接就是死循环*/for (int i = 0; true; i++) {System.out.println("i = " + i);}
三、如何避免死循环
避免死循环的方法只有一个:给循环语句加上终止循环的条件
/** 给没有终止循环条件的for加上终止条件* 比如:在执行到第10次时就停止循环*/for (int i = 0; true; i++) {System.out.println("i = " + i);if (i >= 10){break;}}