添加链接
link之家
链接快照平台
  • 输入网页链接,自动生成快照
  • 标签化管理网页链接

分析:在 while循环中,循环递增变量 i 是定义在循环之外在 main 方法内的,它的作用域在整个 main 方法中。所以当 while 循环结束后, 变量 i 依然存在,占用的内存没有被释放。

而在 for 循环中, 递增变量 i 是定义在 for 循环之内的,该变量的作用域在 for 循环中,一旦 for 循环结束后,变量 i 所占用的栈内存就会随着for方法结束而销毁( 被垃圾回收器回收 )。

建议:1、在能用 for 循环时就不要用 while 循环;
2、循环体内尽量不要定义变量,因为这样会加大内存的开销。

for循环执行效率要比while循环高。Demo: 1. for循环 public static main(String[] args) { //计算1-10的值 int sum = 0; for(int i=0; i<=10; i++) { sum += ... 有人说 while循环 效率 ,有人说for 循环 效率 ,今天我们就用事实分析一下哪个 效率高 ? 实践如下,我们来写一个1亿的次的 循环 ,在 执行 for和 while循环 之前打印一下时间,然后相减来得出结论。 public static void main(String[] args) { // 获取当前的毫秒值 long millis = System.currentTimeMillis(); System.out.println(millis
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 ]
Code: stack=5, locals=4, args_size=1 0: invokestatic #2 // Method java/lang/System.currentTimeMillis:()J 3: lstore_1 4: iconst_0 5: istore_3 6: iload_3 7: ldc #3 // int 100000000 9: if_icmpge 18 12: iinc 3, 1 15: goto 6 18: getstatic #4 // Field java/lang/System.out:Ljava/io/PrintStream; 21: invokestatic #2 // Method java/lang/System.currentTimeMillis:()J 24: lload_1 25: lsub 26: invokevirtual #5 // Method java/io/PrintStream.println:(J)V 29: return [/code]