一个For语句导致死循环的例子
2014-02-26 10:47
288 查看
在Java开发中常用到For循环,它对简化业务处理,提高效率,非常有帮助。但要防止程序算法中可能导致死循环的情况,而且有的死循环还不好察觉。比如下面这个例子,算法极容易认为是50,实际上是无穷大的一个死循环。
可能有人认为输出结果会是50次,实际上这是个死循环。end是无限大的数,i<=end也就是无限大的数。所以说是无极限的。for(int i=start,i<end;i++),结果就是50了。i<end,表示边界值不能是一个无穷大致, 而从start到end也就变成了一段区间了,区间就是50。所以开发中考虑到各种数据类型的取值范围,特别是条件判断及边界取值时。
public class CycTest { /** * @param args the command line arguments */ public static void main(String[] args) { int end = Integer.MAX_VALUE; //定义个循环终止数,可以无限大,区别于int型。 int start = end-50; //定义起始值 int count = 0; //初始值 for(int i=start;i<=end;i++){ //循环体 count++; //循环计数 System.out.println("本次循环次数为:"+count); //输出 } } }输出结果:
run: 本次循环次数为:1 本次循环次数为:2 本次循环次数为:3 ...... 本次循环次数为:49 本次循环次数为:50 本次循环次数为:51 ......总结:
可能有人认为输出结果会是50次,实际上这是个死循环。end是无限大的数,i<=end也就是无限大的数。所以说是无极限的。for(int i=start,i<end;i++),结果就是50了。i<end,表示边界值不能是一个无穷大致, 而从start到end也就变成了一段区间了,区间就是50。所以开发中考虑到各种数据类型的取值范围,特别是条件判断及边界取值时。
相关文章推荐
- Java中一个for语句导致无穷大死循环的例子
- 一个学习for 循环语句不错的例子
- 代码日记(2018年2月26日)——一个for循环的例子
- 练习 2-2 在不使用运算符&&或||的条件下编写一个与上面的for 循环语句等价的循环语句。
- 局部QEventLoop帮助QWidget不消失(也就是有一个局部事件循环始终在运行,导致程序被卡住那里,但仍可以接受事件。说白了就是有一个while语句死活不肯退出,直到收到退出信号)
- 练习2-8:创建一个vector,并用一个for循环语句向它输入25个浮点数,显示vector的结果。
- 黑马程序员——各种for循环语句的一个总结
- 第一章 一个入门实例 1.3 for循环语句
- 2.2 在不使用运算符&&或|| 的条件下编写一个与上面的for循环语句等价的循环语句。
- GO语言基础-for语句特性,字符串循环的一个小问题
- for循环的一个例子
- 练习 2-2 在不使用运算符&&或||的条件下编写一个与上面的for 循环语句等价的循环语句。
- C#--第2周实验--任务四--编写一个控制台应用--分别使用for,while,do-while循环语句计算 n!
- SharePoint 自定义的列表页面中添加javascript的一个 For循环语句后,该页面就打不开了。
- 练习2-2 在不使用运算符&&或|| 的条件下编写一个与上面的for循环语句等价的循环语句
- 非常简单的一个for-each循环例子
- 使用FOR循环语句在屏幕上输出一个由星号组成的直角三角形
- java 循环结构(二)关于for语句的运用,以下例子让你充分理解for循环
- For语句去循环,Objective C 提供一个Block的遍历方法
- for语句引起一个死循环而引发的思考!!!