for(::)与while(true)

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/baidu_18607183/article/details/81365442

有的时候,我们针对相同的功能会采用多种方式进行书写,这就好比回字的N种写法。

程序中这样的例子太多了,不胜枚举,今天遇到了一个死循环的写法,有时候一些框架中喜欢用for(;;)来替代while(true)

其实我是习惯使用后者,之前也没在意过这种写法。

自己写了一个demo,看编译后的差别,发现编译后,while(true)也变成了for(;;)

然后网上搜了下,大致情况是两种写法对Java无影响,从编译后的class文件中也可以看出来,但是

对c就不一样了,因为两种写法编译后的命令不一样。跟Java不一样,而且c里面推荐使用for(;;)

因为这个的命令比较少。

我感觉Java中写成for(;;)可能还是会好些。

1、【这个暂时没有时间测试,个人猜测】编译速度快,毕竟编译需要把while(true)转换为for(;;),如果你直接写成这样,编译器就缺少转换的这个步骤了。其实这种代码少的话,也差不了多少,但是好习惯还是要有。

2、这个就觉得有点装逼的嫌疑,如果写代码不是为了装逼,那将毫无意义,哈哈,毕竟这种写法看起来,有些人看到的第一眼,就是有点懵逼,这种写法毕竟少见,可能看不懂,有点高大上的感觉,其实我也是今天才知道。

总之后续用到死循环的就优先使用for(;;)了。

扫描二维码关注公众号,回复: 2917456 查看本文章

猜你喜欢

转载自blog.csdn.net/baidu_18607183/article/details/81365442