for(::)与while(true)

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

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

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

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

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

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

因为这个的命令比较少。

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

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

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

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

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值