它们的主要区别在于语法结构和可读性。 for(; true;)是一个典型的for循环,其中第一个表达式为空,第二个表达式为true,表示循环条件始终为真,第三个表达式也为空,表示循环体内没有任何操作。这种写法在某些情况下可能会使代码更难以阅读和理解。 while(true)则是一个典型的while循环,其中循环条件为true,表示循环将...
从应用场景角度考虑: 如果一个需求明确循环的次数,那么使用for循环(开发中使用for循环的几率大于while循环)。 如果一个需求,不知道循环了多少次,使用while循环。 在看JDK源码的时候发现,“死循环”有两种写法:for(;;)和while(true),我就疑问,两者有啥区别,有啥源码中多数是for(;;)这种形式的。 //编译前 //...
总之,从性能角度来看,while(true)和for(;;)之间没有显著区别。在选择时,应主要考虑代码的可读性和维护性。
技术标签:for(;;)和while(true)的区别 (一)Java中 for(;;)和while(true)都是死循环。 1.0 代码: for @Test public void test(){ for(;;){ ... 查看原文 Now you can provide attr "wx:key" for a "wx:for" to improve performance.
while(true)和for(;;)哪个性能好 while(true)和for(;;)都是做无限循环的代码,他俩有啥区别呢? 我承认这个问题有点无聊,并且工作中也不会有人刻意的去考虑他们之间的性能差异,也不太会有人在做这个选择之间纠结。 但是,最近竟然有很多面试官开始问这个问题,所以,那就索性理性分析一波。
对比了一下两者区别: while 编译前: while(true); 1 编译后: mov eax,1 test eax,eax je wmain+29h jmp wmain+1Eh 1 2 3 4 编译前: for(;;); 1 编译后: jmp wmain+29h 1 由上面的结果可以看出 for编译器会优化成一条汇编指令,而while编译器会有很多条汇编指令 ...
for(;;)和while(true)区别 从寓意上来看,两种写法都是无限循环 从效率上看,while(true)每次循环要判断循环条件,for(;;)循环没有判断,理论上节省机器指令。 下面我们就通过查看编译后的代码,来证明以下for(;;)和while(true)的区别 首先整理一个带编译的测试代码,如下 ...
Java中for和while循环语句的区别 从内存使用角度 for循环结束,循环中变量及时从内存中释放掉,在for循环...