Java中啥时候使用空循环体?
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Java中啥时候使用空循环体?相关的知识,希望对你有一定的参考价值。
空循环体也要使用完整的块
for (initialization; condition; update)
;
Java中,什么时候会使用空循环体?
空循环可以用于延时,但是效果很差,一般单层的空循环延时效果非常差,无实际意义。
另外无条件for循环如for(;;)其实相当于while(true),后者显然更好一些,我是指代码风格。
而你说的是空循环体!这里就重要啦,给你看一个算法,虽然是c++写的,java也是同理。就是空循环体,for循环的写法很神奇,有时候迭代算法的for循环写法都可以空循环体。如图,最大公约数和字符串就地逆置算法中的for都是空循环体:
记住,空循环体和空循环不同,循环体虽然是空的,但是不表示循环没有作用,(initialization; condition; update)这三项足以执行一些复杂的任务了
java中最大公约这样写:
for(int tmp;a%b!=0;tmp=a,a=b,b=tmp%a);
是一样的,因为java中int型的0、1不对应boolean类型,而C++可以
参考技术A 可以用的,用的时候让它根据一定的条件退出来就行了。例如String bs="";
for(;;)
bs+="0";
System.out.println(bs);
if(bs.length()==10)
break;
// System.exit(0);
把这段代码粘贴到main方法里运行一下就可以看到效果了。 参考技术B 空循环可以延迟时间,但是时间长度很难把握,而且是在浪费性能。如果是为了延迟时间可以用线程的方式。
空循环体基本上没用。我没有用过。不过遇到特殊问题的时候空循环体可能能派上用场,只是经历太少,没有遇到过! 参考技术C 空循环无非就是用来起延时作用的。不过基本没有人会用空循环。
一般都用线程Thread类的sleep方法来延时。
以上是关于Java中啥时候使用空循环体?的主要内容,如果未能解决你的问题,请参考以下文章
java中啥时候该用static修饰方法?有啥好处或者坏处?