时间:2021-05-20
在Java开发中常用到For循环,它对简化业务处理,提高效率,非常有帮助。但要防止程序算法中可能导致死循环的情况,而且有的死循环还不好察觉。比如下面这个例子,算法极容易认为是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。所以开发中考虑到各种数据类型的取值范围,特别是条件判断及边界取值时。
声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。
在python中,循环有一个语句:for语句。简单的for循环例子>>>hello="world">>>foriinhello:...printi...worl
C#中double和float类型有两个特殊值:Infinity(无穷大):5.0/0.0=InfinityNaN(notanumber):0.0/0.0=Na
第一题,由于for的循环判断的条件是i=3,是一个赋值语句。赋值语句运行后的返回值,就是赋的值,所以i=3运行后值是3,为true,所以是死循环。答案选D第二题
javaif语句Java控制语句分为三大类:①顺序结构;②选择结构;③循环结构。----------------------------------------
为了保证的可读性,本文采用意译而非直译。Infinity(无穷大)在JS中是一个特殊的数字,它的特性是:它比任何有限的数字都大,如果不知道Infinity,我们