有人说while循环效率更高,有人说for循环的效率更高,今天我们就用事实分析一下哪个效率高?
实践如下,我们来写一个1亿的次的循环,在执行for和while循环之前打印一下时间,然后相减来得出结论。
public static void main(String[] args) {
long millis = System.currentTimeMillis();
System.out.println(millis);
Integer count = 0;
Student student = null;
for (int i = 0; i < 100000000; i++) {
student = new Student();
student.setCount(i++);
count++;
System.out.println(System.currentTimeMillis() - millis+"==============时间");
public static void main(String[] args) {
long millis = System.currentTimeMillis();
System.out.println(millis);
Integer count = 0;
Student student = null;
int i = 0;
while (i<100000000){
student = new Student();
student.setCount(i++);
count++;
System.out.println(System.currentTimeMillis() - millis+"==============时间");
得到for循环的运行结果:
得到while循环的运行结果:
可以看出相差还是很大的,差不多就多了一倍的时间,由此可得出结论,for循环效率更高;
###如有违规,请联系删除
for循环和while循环哪个效率更高?有人说while循环效率更高,有人说for循环的效率更高,今天我们就用事实分析一下哪个效率高?实践如下,我们来写一个1亿的次的循环,在执行for和while循环之前打印一下时间,然后相减来得出结论。public static void main(String[] args) { // 获取当前的毫秒值 long millis = System.currentTimeMillis(); System.out.println(millis
链接:https://www.zhihu.com/question/52311366/answer/130090347
来源:知乎
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。
首先是先问是不是再问为什么系列。在JDK8u的jdk项目下做个很粗略的搜索:
mymbp:/Users/me/workspace/jdk8u/jdk/
在JDK8u的jdk项目下做个很粗略的搜索:
mymbp:/Users/me/workspace/jdk8u/jdk/src
$ egrep -nr "for \\(\\s?;\\s?;" . | wc -l
mymbp:/Users/me/workspace/jdk8u/jdk/src
$ egrep -nr "while \\(true" . | wc -l
并没有差多少。
其次,for (;???? 在Java中的来源。个人看法是喜欢用这种写法的人,追根溯源是受到
for循环和while循环的效率并没有绝对的差别,它们适用于不同的场景。一般来说,for循环适用于已知循环次数的情况,而while循环适用于循环次数未知的情况。在执行效率方面,虽然有些测试结果显示while循环可能稍微快一些,但这种差异很小,可以忽略不计。因此,选择使用for循环还是while循环应该根据具体的需求而定,而不是单纯地追求效率上的差异。<span class="em">1</span><span class="em">2</span><span class="em">3</span>
#### 引用[.reference_title]
- *1* [C++中for循环与while循环的区别总结](https://download.csdn.net/download/weixin_38612095/13707202)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 33.333333333333336%"]
- *2* [for循环和while循环哪个效率更高](https://blog.csdn.net/weixin_42846892/article/details/118221066)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 33.333333333333336%"]
- *3* [while比for循环效率高是真的吗](https://blog.csdn.net/weixin_36428079/article/details/117096649)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 33.333333333333336%"]
[ .reference_list ]