写这篇博客的目的在于希望有人要是知道的话下面评论分享一下哦
while 和for的区别:
记得一个老师说:Linux源代码都是用的while,他将while换成for不能执行。
原因好像是:用while的时候里面的数据编译之后其实是一个int8 类型,当执行到多少的时候就会返回来重新加(256),而for中,是int型的,每次加1,所以会一直加,要是将其换成for就会死循环来着,一个参考,我也还么有找到答案啦。
简单介绍一下int8数据类型:度娘这样说的:
int2 -4到3
int4 -16到15
int8 -256到255
但是我在Java书中看到,说其实没有 区别,只是推荐用for,因为在for中定义一个变量,是局部的变量所以等循环结束就会变量就会被回收了,而while在外部定义累加变量,会增加其生命周期,所以不安全。
通过组成原理的学习,我才发现原来用while是为了优化。for循环条件比较多,需要加法器和判断 而while只需要一个条件 。就是因为while需要调用的器件比for循环少,所以同样条件下,whlie的执行速度会更快一些,特别是数据比较大的时候 。
大家有见解的欢迎分享