首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

不使用while(true)循环

不使用while(true)循环是为了避免出现死循环的情况。死循环是指在程序中使用无限循环条件,导致程序无法正常结束或退出。

在编程中,使用while循环可以重复执行一段代码,直到指定的条件不再满足。而使用while(true)循环则是一种常见的无限循环方式,因为条件始终为真,所以循环会一直执行下去,除非程序被强制终止或者遇到特定的终止条件。

然而,使用while(true)循环存在一些问题和风险。首先,如果没有设置合适的终止条件,程序将无法正常结束,可能导致系统资源的浪费。其次,如果循环体内部没有适当的控制语句,可能会导致程序陷入死循环,无法继续执行后续的代码。

为了避免这些问题,可以采用其他循环方式或者结合条件语句来替代while(true)循环。例如,可以使用for循环、do-while循环或者使用标志变量来控制循环的执行。同时,合理设置循环条件和终止条件,确保程序能够正常结束。

总结起来,不使用while(true)循环是为了避免死循环和资源浪费的问题,可以通过其他循环方式或者条件语句来替代。在编写代码时,应该注意设置合适的循环条件和终止条件,以确保程序的正常执行和结束。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

python while true用法

python while循环语句的一般形式是while后面跟一个条件表达式,当该表达式的返回值为True,或经过布尔转换会返回True,比如1转换为bool布尔类型会为True,那么就执行一次while...while True,即直接把表达式设置为True,那么无论如何,代码都将进行一次while循环,直到遇到退出的条件,而且如果没有退出循环的条件,那么将无限循环下去。...使用while True,一般会在循环的代码块(下方的code_block)中设置一个触发退出循环的条件,避免无限无限循环下去。...python while循环语句的一般形式:while condition: code_blockwhile true用法实例代码如下代码,该实例中的while循环的退出机制是num == 0,而在...while循环开始之前已经将num赋值为零,但while循环还是进行了一次循环,并执行了print(num),直到触发退出的机制,第二个while循环之中,使用了表达式,while并没有执行while循环中的代码块

18920

for (;;) 与 while (true),哪个更快?

. | wc -l 369 mymbp:/Users/me/workspace/jdk8u/jdk/src $ egrep -nr "while \\(true" . | wc -l...在C语言里,如果include某些头文件或者自己声明的话,是没有内建的Bool / bool类型,也没有TRUE / FALSE / true / false这些Bool / bool类型值的字面量的...所以,假定没有include那些头文件或者自己define出上述字面量,一个不把循环条件写在while (…)括号里的while语句,最常见的是这样: while (1) { /* ... */...而用for (;;)来表达循环条件(也就是循环体内不用break或goto就会是无限循环)则非常直观,这就是for语句本身的功能,而且不需要写任何魔数。 所以,这个写法就流传下来了。...顺带一提,在Java里我是倾向于写while (true)的,不过我也不介意别人在他们自己的项目里写for (;;)。 至于Java里的for (;;)与while (true),哪个更快?

48410

switch 语句,while 循环,for 循环和do while循环

while 循环 while 语句的语法结构和 if 语句⾮常相似。...while后边的条件满⾜,死循环的打印hehe return 0; } while循环⾸先上来就是执⾏判断表达式,表达式的值为0,循环直接结束;表达式的值不为0,则执⾏循环语句,语句执⾏完后再继续判断...(n) { printf("%d ", n%10);//此处输出的n%10就是n的个位数 n=n/10;//去掉个位数的n再次返回执行 } return 0; } for 循环 for 循环使用频率是最高的...循环 while 和 for 这两种循环都是先判断,条件如果满⾜就进⼊循环,执⾏循环语句,如果不满⾜就跳出循环;⽽ do while 循环则是先直接进⼊循环体,执⾏循环语句,然后再执⾏ while 后的判断表达式...所以在 do while 语句中循环体是⾄少执⾏⼀次的,这是 do while 循环⽐较特殊的地⽅。 练习: 输⼊⼀个正整数,计算这个整数是⼏位数?

11510

【Python】列表 List ⑦ ( 列表遍历 | 使用 while 循环遍历列表 | 使用 for 循环遍历列表 | while 循环 与 for 循环对比 )

一、使用 while 循环遍历列表 1、while 循环遍历列表 将 列表 容器 中的数据元素 , 依次逐个取出进行处理的操作 , 称为 列表的遍历 ; 使用 while 循环 遍历 列表容器 : 元素访问方式...语法如下 : # 循环控制变量定义 对应下标索引 index = 0 while index < len(列表变量): # 使用 下标索引 取出列表元素, 使用变量接收列表元素 变量 = 列表变量...循环 只能从 容器中取出数据 ; 无限循环 : while 循环 只要 循环条件 为 true 就 可以 进行 无限循环 ; for 循环 不能进行无限循环 , 其循环次数受 容器 数据个数限制..., 容器中有多少个元素 , 就能循环几次 ; 使用场景 : while 循环可应用于任意场景 ; for 循环 只 适用于 遍历数据容器 , 或者 固定循环次数 的循环 ; for 循环使用受限..., 但是使用频率远高于 while 循环 ; 四、完整代码示例 代码示例 : """ while / for 循环遍历 List 列表 代码示例 """ def list_while(): """

51820

for (;;) 与 while (true),哪个更快?

. | wc -l 369 mymbp:/Users/me/workspace/jdk8u/jdk/src $ egrep -nr "while \\(true" . | wc -l...在C语言里,如果include某些头文件或者自己声明的话,是没有内建的Bool / bool类型,也没有TRUE / FALSE / true / false这些Bool / bool类型值的字面量的...所以,假定没有include那些头文件或者自己define出上述字面量,一个不把循环条件写在while (…)括号里的while语句,最常见的是这样: while (1) { /* ... */...而用for (;;)来表达循环条件(也就是循环体内不用break或goto就会是无限循环)则非常直观,这就是for语句本身的功能,而且不需要写任何魔数。 所以,这个写法就流传下来了。...顺带一提,在Java里我是倾向于写while (true)的,不过我也不介意别人在他们自己的项目里写for (;;)。 至于Java里的for (;;)与while (true),哪个更快?

27110

while()循环

回顾一下java基础的while(true)循环,有时候实际项目中也会看到在用。...本小节来梳理一下 理解 只要while括号汇总返回的true那么大括号中的内容点就会一直执行下去,因此while(true)表示无限循环 使用场景 一、比如需要对上传的图片做一定的处理,图片不知道什么时候上传...,由于节点下面可能会有n多个子节点,此时就需要通过while(true)去无限循环判断,当查到某个子节点的值为空时表示到了最后一级节点此时就可以跳出循环whiletrue){}为无限循环 说明:一般情况下...,在无限循环内部要有程序终止的语句,使用break实现。...若没有,那就是死循环 while (true){ Set child=getAllSon(currentSet); if(child.size

1.4K10

while (true) 和 for (;;) 到底哪个更快?

. | wc -l 369 mymbp:/Users/me/workspace/jdk8u/jdk/src $ egrep -nr "while \\(true" . | wc -l...在C语言里,如果include某些头文件或者自己声明的话,是没有内建的Bool / bool类型,也没有TRUE / FALSE / true / false这些Bool / bool类型值的字面量的...所以,假定没有include那些头文件或者自己define出上述字面量,一个不把循环条件写在while (...)括号里的while语句,最常见的是这样: while (1) { /* ......而用for (;;)来表达循环条件(也就是循环体内不用break或goto就会是无限循环)则非常直观,这就是for语句本身的功能,而且不需要写任何魔数。 所以,这个写法就流传下来了。...顺带一提,在Java里我是倾向于写while (true)的,不过我也不介意别人在他们自己的项目里写for (;;)。 至于Java里的for (;;)与while (true),哪个更快?

27110

for (;;) 和 while (true) ? 到底哪个更快?

注 意 文末有:7701页互联网大厂面试题 在C语言里,如果include某些头文件或者自己声明的话,是没有内建的_Bool / bool类型,也没有TRUE / FALSE / true /...所以,假定没有include那些头文件或者自己define出上述字面量,一个不把循环条件写在while (...)括号里的while语句,最常见的是这样: while (1) { /* .....而用for (;;)来表达循环条件(也就是循环体内不用break或goto就会是无限循环)则非常直观——这就是for语句本身的功能,而且不需要写任何魔数。所以这个写法就流传下来了。...顺带一提,在Java里我是倾向于写while (true)的,不过我也不介意别人在他们自己的项目里写for (;;)。...===================================== 至于Java里while (true)与for (;;)哪个“效率更高”。

19210

Python 为什么设计 do-while 循环结构?

在回答这个问题之前,让我们再仔细思考一下 do-while 语法可以解决什么问题,看看使用这种结构能带来什么好处? 最显而易见的好处是:do-while 语法保证了会先执行一遍循环体代码。...它的使用场景也许不多,但是,跟普通的 while 循环或者 for 循环语法的“条件前置”思想不同,它体现的是一种“条件后置”的编程逻辑,也是一种控制循环的常见方式。...首先,Python 离底层应用编程太远了,就不用考虑汇编指令的优化了,同时,它也涉及宏的使用。...也就是说,在保持原 while 循环语法不变的情况下,PEP-315 提议支持在 while 前面使用一个可选的 do 子句。...反对的理由是,不需要引入新的关键字和语法,仅使用现有语法就能很好地实现同样的功能: while True: if not :

1.2K10

while (true) 和 for (;;) 到底哪个更快?

. | wc -l 369 mymbp:/Users/me/workspace/jdk8u/jdk/src $ egrep -nr "while \\(true" . | wc -l...在C语言里,如果include某些头文件或者自己声明的话,是没有内建的Bool / bool类型,也没有TRUE / FALSE / true / false这些Bool / bool类型值的字面量的...所以,假定没有include那些头文件或者自己define出上述字面量,一个不把循环条件写在while (...)括号里的while语句,最常见的是这样: while (1) { /* .....而用for (;;)来表达循环条件(也就是循环体内不用break或goto就会是无限循环)则非常直观,这就是for语句本身的功能,而且不需要写任何魔数。 所以,这个写法就流传下来了。...顺带一提,在Java里我是倾向于写while (true)的,不过我也不介意别人在他们自己的项目里写for (;;)。 至于Java里的for (;;)与while (true),哪个更快?

58630

【Python】循环语句 ② ( while 嵌套循环 | 代码示例 - while 嵌套循环 )

一、while 嵌套循环 1、while 嵌套循环语法 while 嵌套循环 就是 在 外层循环 中 , 嵌套 内层循环 ; while 嵌套循环 语法格式 : while 外层循环条件: 外层循环操作...1 外层循环操作2 while 内存循环条件: 内层循环操作1 内层循环操作2 while 嵌套循环 也是基于 空格缩进 , Python 中基于 空格缩进 判定代码逻辑的层次关系 ; 外层循环...的 循环操作 前面有 四个空格缩进 , 内层循环while 关键字 和 循环条件 所在的语句 前面有 四个空格缩进 , 内存循环循环操作 前面有 八个空格缩进 ; 注意 : 注意 外层循环...与 内层循环 的 控制条件 的设置 , 不要出现无限循环 ; 循环层次越多 , 涉及到的 循环控制变量 也就越多 ; 2、代码示例 - while 嵌套循环 代码示例 : """ while 嵌套循环代码示例...# 内层循环控制变量自增 j += 1 # 外层循环控制变量自增 i += 1 # 如果要统计循环次数, 使用 i - 1, # 因为最后一次运行 i 自增为 4 ,

22820
领券