成人在线亚洲_国产日韩视频一区二区三区_久久久国产精品_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国内精品久久久久久久
成人黄色a**站在线观看| 美日韩精品免费| 高清在线观看日韩| 国模少妇一区二区三区| 欧美a级理论片| 久久国产生活片100| 激情欧美一区二区| 国产在线精品一区二区三区不卡 | 久久免费午夜影院| 精品噜噜噜噜久久久久久久久试看| 欧美一二三区在线观看| 欧美一区二区三区婷婷月色| 5月丁香婷婷综合| 日韩精品一区二区三区蜜臀 | 中文字幕五月欧美| 亚洲少妇30p| 亚洲大片一区二区三区| 亚洲国产成人精品视频| 丝瓜av网站精品一区二区| 天天做天天摸天天爽国产一区| 日本在线不卡视频一二三区| 久久精品99国产精品| 福利电影一区二区| 99国产精品国产精品久久| 红桃视频国产一区| 国产精品一区视频| 欧美私人免费视频| 日韩欧美亚洲另类制服综合在线| 2021久久国产精品不只是精品| 中文字幕精品综合| 亚洲午夜在线电影| 国产精品综合av一区二区国产馆| 大胆亚洲人体视频| 亚洲动漫精品| 欧美午夜一区二区| 欧美精品一区二区久久婷婷| 亚洲天堂久久久久久久| 美女网站色91| thepron国产精品| 国产日韩欧美精品| 91福利国产精品| 久久久综合网站| 香蕉成人伊视频在线观看| 国产精品一区免费视频| 欧美午夜不卡| 精品视频色一区| 中文字幕精品在线不卡| 另类小说综合欧美亚洲| 欧美一区二区三区四区夜夜大片| 美女久久网站| 久久综合狠狠综合久久综合88 | 91丨porny丨中文| 国产精品久久国产愉拍| 91精品福利在线一区二区三区 | 日韩影院免费视频| 91在线视频播放地址| 欧美亚洲三区| 日本一区二区电影| 激情欧美日韩一区二区| 日韩视频一区二区三区在线播放免费观看| 欧美日韩在线免费视频| 亚洲欧洲av在线| 国产成人一区在线| 亚洲一区久久| 中文字幕在线观看一区二区| 国内精品视频666| 国产视频欧美| 日本一区二区免费在线观看视频| 麻豆成人91精品二区三区| 亚洲国产影院| 久久欧美一区二区| 国产在线播精品第三| 国产精品欧美久久| 国产精品视频第一区| 国产精品一区二区在线看| 久久精品系列| 亚洲色图欧美在线| 色综合天天性综合| 日韩一区二区三区电影在线观看| 日韩av一二三| 在线视频免费在线观看一区二区| 国产三级欧美三级日产三级99 | 99久久夜色精品国产网站| 欧美伊人精品成人久久综合97| 成人免费小视频| 欧美fxxxxxx另类| 欧美大片在线观看| 国产乱码精品一区二区三区av| 91福利国产精品| 日韩中文字幕不卡| 久久综合九色综合网站| 亚洲在线一区二区三区| 亚洲黄色影院| 亚洲欧美日韩国产综合| 亚洲无线一线二线三线区别av| 精品国产91久久久久久久妲己| 盗摄精品av一区二区三区| 日韩一区二区在线看片| 国产精品夜夜嗨| 日韩免费在线观看| 国产不卡视频一区二区三区| 欧美精品777| 从欧美一区二区三区| 精品国产麻豆免费人成网站| 99久久国产免费看| 久久久一区二区| 国产综合欧美| 亚洲天堂成人网| 亚洲欧美成人| 日韩精品一二三四| 欧美午夜影院一区| 国产精品一二三四区| 精品久久久久久久久久久久久久久| 国产成人99久久亚洲综合精品| 26uuu色噜噜精品一区二区| av在线不卡免费看| 国产精品国产三级国产普通话蜜臀| 亚洲午夜一区| 亚洲国产精品自拍| 欧美午夜片在线观看| 国产福利不卡视频| 久久精品欧美一区二区三区麻豆| 午夜日韩激情| 亚洲综合免费观看高清完整版在线| 国产亚洲一区在线| 久久精品国产免费| 精品久久久久久久久久久久包黑料| 99在线视频精品| 亚洲欧美日韩电影| 久久久亚洲一区| 国产精品夜夜嗨| 日本一区二区三区在线观看| 国产精品日韩欧美一区二区| 青青草成人在线观看| 日韩欧美国产午夜精品| 欧美区亚洲区| 亚洲午夜在线电影| 日韩午夜av一区| 亚洲精品在线二区| 久久精品国产99| 国产区在线观看成人精品| 国产亚洲欧美一区二区三区| 国产精品综合一区二区| 国产精品天美传媒沈樵| 一本色道a无线码一区v| 99精品欧美一区二区三区小说| 亚洲人被黑人高潮完整版| 欧美久久久久久久久| 欧美日韩国产综合在线| 视频一区二区三区中文字幕| 日韩视频永久免费| 日韩视频在线观看国产| 国模大尺度一区二区三区| 亚洲素人一区二区| 欧美精品免费视频| 亚洲美女少妇无套啪啪呻吟| 国产一区欧美一区| 亚洲天堂网中文字| 日韩限制级电影在线观看| 亚洲欧洲精品一区二区三区波多野1战4| 美腿丝袜亚洲综合| 国产精品污污网站在线观看| 欧美性淫爽ww久久久久无| 黄色免费成人| 国产福利一区二区三区| 亚洲v日本v欧美v久久精品| 久久免费看少妇高潮| 在线免费观看日本一区| 中文字幕免费一区| 欧美一区二区三区四区在线观看| 在线亚洲一区| 91视频.com| 国产精品一级在线| 奇米色一区二区三区四区| 亚洲欧美福利一区二区| 精品日韩99亚洲| 欧美日韩国产精品自在自线| 国产日韩欧美| 欧美日韩亚洲一区三区| 国产v日产∨综合v精品视频| 丝袜美腿亚洲一区二区图片| 中文在线免费一区三区高中清不卡| 欧美丰满嫩嫩电影| 色悠悠久久综合| 欧美电影精品一区二区| 色婷婷av一区| 国产亚洲精品久久久久婷婷瑜伽| 欧美日韩高清免费| 成人av网在线| 国产精品996| 国内成+人亚洲+欧美+综合在线| 视频一区二区中文字幕| 性欧美大战久久久久久久久| 亚洲欧美一区二区三区国产精品| 久久久av毛片精品| 日韩欧美一二区| 3atv一区二区三区| 8x8x8国产精品| 欧美色网一区二区| 在线观看欧美精品|