成人在线亚洲_国产日韩视频一区二区三区_久久久国产精品_99国内精品久久久久久久

您的位置:首頁技術文章
文章詳情頁

詳細總結Java for循環的那些坑

瀏覽:16日期:2022-08-12 10:25:53
目錄一、循環語句的幾種語法二、循環中需要注意的點三、循環中的坑四、總結一、循環語句的幾種語法

語法:

for循環格式:for(初始化語句;條件判斷;遞進語句){循環體;} while循環格式:初始化語句;while(條件判斷){循環體;遞進語句;} do-while循環格式:初始化語句;do{循環體;遞進語句;}while(條件判斷);

實例:

package org.pdool.wrongfor; import java.util.ArrayList;import java.util.List; /*** 循環的格式* @author 香菜*/public class Format { public static void main(String[] args) { List<Integer> numList = new ArrayList<>(); numList.add(1); numList.add(2); // for 格式 System.out.println('=======for 格式===='); int size = numList.size(); for (int i = 0; i < size; i++) { int num = numList.get(i); System.out.print(num); } System.out.println(); // 增強for System.out.println('=======增強for 格式===='); for (Integer num : numList) { System.out.print(num); } System.out.println(); // while System.out.println('=======while 格式===='); int i = 0; while (i < size){ int num = numList.get(i); System.out.print(num); i++; } // do while System.out.println(); System.out.println('=======do while 格式===='); int j = 0; do{ int num = numList.get(j); System.out.print(num); j++; }while (j < size); }}二、循環中需要注意的點

作為服務器開發,在開發中需要注意服務器的性能,畢竟客戶端千千萬,服務器只有一臺,壓榨服務器的性能是必須的,作為服務端的開發同學也要能省一點省一點,總結下循環的注意點。

1.循環如果滿足了查找的需求 break 直接跳出,不要浪費性能

public static void main(String[] args) { int size = 1000; for (int i = 1;i<size;i++){ if ( i == 10){ doSomeThing(); // 此處應該直接break,盡快結束循環 } } }

2.循環集合的時候能用for each 的盡量用for each

for (Integer num : numList) { System.out.print(num); }

原因:不必要的操作索引,避免出錯,代碼清晰。

3.不要寫空的死循環

public static void main(String[] args) { while (true){ // doNothing() } }

原因:垃圾代碼及早刪除,存在安全隱患。

4.不要在循環中new對象

public static void main(String[] args) { int size = 1000; for (int i = 1;i<size;i++){ Date date = new Date(); } }

原因:在循環內頻繁的創建對象,大量對象內存的創建和回收都會增加系統負擔。

5.可以在循環外做的,不要放到循環內

public static void main(String[] args) { int size = 1000; for (int i = 1;i<size;i++){ int nowSec = getNowSec(); }}

原因:nowSec 明顯可以在循環外計算并保存,放到循環內運算,浪費性能,也不好理解代碼。在代碼review的過程中經常看到類似的代碼,這是在開發中不細心,或者copy過來的代碼,無腦的放在循環中。

6.循環的建議

while 循環做好上限限制,做一個大的閾值計數,如果超過了直接報警 凡是次數確定的場景多用for循環;否則多用while循環。三、循環中的坑

1.byte導致死循環

public static void main(String[] args) { int size = 1000; for (byte i = 1;i<size;i++){ System.out.println(i); } }

原因分析:byte 在執行的過程中會越界回到負數,所以造成死循環。一些新手在開發中,不注意,導致在之前的游戲有遇到這種情況,一定要注意!!

2.在循環中反向操作索引導致死循環

public static void main(String[] args) { int size = 1000; for (int i = 1;i<size;i++){ if ( 某種條件){ i--; } } }

原因分析:反向操作索引導致回退,在開發中一定警覺這種情況,最好代碼中不要出現這種操作。慎重

3.在操作集合的時候不要在循環里進行元素的 remove/add 操作

public static void main(String[] args) { List<Integer> list = new ArrayList(); list.add(1); list.add(2); list.add(3); list.add(4); list.add(5); list.add(6); for (int i : list) { if(i == 4)list.add(99); System.out.println(i); } }

原因分析:對于集合的遍歷,增強for循環其實內部是通過迭代器實現的,迭代的時候不允許修改,不然會拋出ConcurrentModificationException異常,

如果需要在集合中做刪除,可以使用迭代器。

Iterator it=list.iterator();while(it.hasNext()){ Object e=it.next(); if('b'.equals(e)){ it.remove(); } }

4.不要再循環內多次訪問數據庫,redis

public static void main(String[] args) { int size = 1000; for (int i = 1;i<size;i++){ // 查詢數據庫 // 查詢redis } }

原因分析:多次查詢數據庫,會造成數據庫壓力過大,也會造成程序阻塞,可以使用批量查詢。

四、總結

循環不難,難的是寫對,寫好,希望上面的歸納可以有所警覺,在開發中不犯類似的錯誤。加油。

到此這篇關于詳細總結Java for循環的那些坑的文章就介紹到這了,更多相關Java for循環內容請搜索好吧啦網以前的文章或繼續瀏覽下面的相關文章希望大家以后多多支持好吧啦網!

標簽: Java
相關文章:
成人在线亚洲_国产日韩视频一区二区三区_久久久国产精品_99国内精品久久久久久久
欧美日韩一区二区三区免费| 石原莉奈在线亚洲三区| 爽好久久久欧美精品| 在线天堂一区av电影| 国产精品国产成人国产三级| 91亚洲精品一区二区乱码| 精品国产制服丝袜高跟| 成人免费视频一区| 精品乱人伦小说| 成a人片亚洲日本久久| 精品久久久久久综合日本欧美| 国产不卡视频在线观看| 欧美电影免费观看高清完整版在线| 国产91精品露脸国语对白| 欧美福利电影网| 国产精品一品二品| 日韩视频一区在线观看| 成人午夜在线免费| www精品美女久久久tv| 91色.com| 国产精品久久久久精k8| 极品日韩av| 一区二区在线观看视频在线观看| 一区二区不卡在线视频 午夜欧美不卡'| 亚洲欧美日韩精品久久久久| 国产欧美二区| 五月综合激情日本mⅴ| 色综合激情五月| 极品美女销魂一区二区三区| 欧美日产在线观看| 成人免费va视频| 国产欧美va欧美不卡在线| 中文字幕av一区二区三区| 国内不卡一区二区三区| 亚洲免费在线视频一区 二区| 午夜久久久久久电影| 91麻豆精品国产| 老司机精品视频网站| 视频一区欧美精品| 欧美在线观看你懂的| 国产精品18久久久久久vr| 欧美精品一区二区三区久久久| 欧美激情日韩| 一区二区三区不卡在线观看 | 国产一区二区不卡在线| 欧美成人午夜电影| 韩日成人av| 五月天久久比比资源色| 91精品国产综合久久香蕉的特点| 波多野结衣在线一区| 国产精品国产三级国产a| 亚洲日本一区二区| 色八戒一区二区三区| 成人午夜av影视| 欧美韩国日本一区| 噜噜噜久久亚洲精品国产品小说| 国产精品中文字幕日韩精品| 国产欧美日韩在线视频| 噜噜噜噜噜久久久久久91| 国产福利视频一区二区三区| 国产精品免费aⅴ片在线观看| 亚洲女性喷水在线观看一区| 欧美性生活一区| 91在线视频官网| 五月综合激情婷婷六月色窝| 欧美成人免费网站| 一区二区三区导航| 国产大陆精品国产| 亚洲人成小说网站色在线| 在线观看日韩av先锋影音电影院| av成人动漫在线观看| av在线播放不卡| 亚洲va中文字幕| 久久婷婷成人综合色| 免费永久网站黄欧美| aaa亚洲精品| 丝袜国产日韩另类美女| 久久综合久久鬼色中文字| 亚洲一区三区视频在线观看| 国产黄人亚洲片| 亚洲男女一区二区三区| 欧美一区二区私人影院日本| 亚洲黄页一区| 国产成人在线色| 亚洲精品成人悠悠色影视| 91精品国产综合久久国产大片| 亚洲另类自拍| 国产成人日日夜夜| 亚洲小少妇裸体bbw| 日韩免费电影网站| 久久精品中文字幕一区二区三区| 91丨porny丨最新| 理论片日本一区| 亚洲人成网站在线| 精品国产乱码久久久久久图片 | 精品国产三级电影在线观看| 国产一区二区精品| 99久久精品国产毛片| 美日韩黄色大片| 国产精品午夜春色av| 在线电影国产精品| 国产亚洲福利| 91免费版在线| 激情五月婷婷综合| 亚洲欧美日韩国产另类专区| 日韩精品一区二| 色爱区综合激月婷婷| 亚洲婷婷在线| 国产福利精品导航| 亚洲一级片在线观看| 精品国产91洋老外米糕| 久久久久成人精品免费播放动漫| 欧美一区激情| 国产精品1024| 三级不卡在线观看| |精品福利一区二区三区| 日韩欧美国产一区在线观看| 日本韩国欧美国产| 一本久道综合久久精品| jvid福利写真一区二区三区| 日韩avvvv在线播放| 亚洲精品一二三四区| 国产亚洲视频系列| 91精品国产色综合久久| 色狠狠一区二区三区香蕉| 国产精品国码视频| 99久久婷婷国产综合精品| 狠狠色丁香久久婷婷综| 亚洲va欧美va人人爽| 中文字幕一区二区三区乱码在线| 亚洲精品一区二区三区香蕉| 欧美日韩成人一区| 久久中文在线| 香蕉av777xxx色综合一区| 亚洲精品欧洲精品| 国产综合欧美| 97国产一区二区| 国产成人啪午夜精品网站男同| 麻豆成人免费电影| 视频精品一区二区| 一区二区三区资源| 国产精品狼人久久影院观看方式| 337p日本欧洲亚洲大胆精品| 91麻豆精品国产91久久久资源速度 | 亚洲福利免费| 欧美日韩国产在线一区| av电影天堂一区二区在线观看| 国产综合色在线| 日本怡春院一区二区| 亚洲高清免费一级二级三级| 国产精品精品国产色婷婷| 国产片一区二区三区| 久久久蜜桃精品| 久久综合狠狠综合久久综合88 | 日韩精彩视频在线观看| 亚洲午夜精品在线| 亚洲另类在线制服丝袜| 中文字幕中文字幕在线一区 | 99riav久久精品riav| 成人精品国产福利| 国产精品1区二区.| 国产一区二区在线看| 韩国精品一区二区| 国产一区视频导航| 国产毛片精品一区| 国产一区二区按摩在线观看| 国精产品一区一区三区mba桃花 | 麻豆国产欧美一区二区三区| 日韩av一区二| 日韩精品久久久久久| 日本成人在线看| 日韩高清一级片| 美女视频黄 久久| 精品影视av免费| 一区二区三区欧美日| 亚洲成人1区2区| 日日摸夜夜添夜夜添精品视频| 视频一区中文字幕国产| 日韩激情av在线| 美女一区二区三区| 狠狠色伊人亚洲综合成人| 国产黑丝在线一区二区三区| fc2成人免费人成在线观看播放| 99久久亚洲一区二区三区青草| www.日本不卡| 欧美 亚欧 日韩视频在线| 欧美日韩国产亚洲一区| 一区一区视频| 亚洲欧美日本日韩| 在线观看欧美精品| 欧美一级日韩免费不卡| 日韩免费电影一区| 欧美国产日产图区| 一二三区精品视频| 青青草成人在线观看| 国产真实乱子伦精品视频| 成人成人成人在线视频| 午夜精品国产| 午夜亚洲影视| 欧美在线观看视频一区二区三区|