java中的幾種for循環形式,java for循環的特點

本文目錄一覽:

java的for循環一共有幾種寫法

for(初始化;條件;條件成立後執行){}

下面兩個是語法糖

for(一個完成iterable介面的實例:取出的元素名){}

for(一個數組類:取出的元素名){}

或者,對於」for(初始化;條件;條件成立後執行){}「你可以把三個都寫出去

如int a=0; for(;true;){ a=a+1;if(a10){break;}}

三種for循環:就這三種

注1:在少量數據情況下,這三種性能區別不大

注2:需要循環數組結構的數據時,建議使用普通for循環,因為for循環採用下標訪問,對於數組結構的數據來說,採用下標訪問比較好。 需要循環鏈表結構的數據時,一定不要使用普通for循環,這種做法很糟糕,數據量大的時候有可能會導致系統崩潰

詳解:

注3: 測試性能的文章:

一.普通for循環

二.增強for循環:return/break/continue 都有效的

註:數組也可以用

增強for循環原理: ;seid=1245652931602669854spm_id_from=333.337.0.0

3.遍歷List、Set、Map

示例:

三. lambda foreach循環:List、Set、Map都有,stream也可以使用

註:數組沒有這個方法

1.使用return/break/continue 都無效

return起的作用和continue 一樣

;utm_medium=distribute.pc_relevant.none-task-blog-2%7Edefault%7ECTRLIST%7Edefault-5.no_search_linkdepth_1-utm_source=distribute.pc_relevant.none-task-blog-2%7Edefault%7ECTRLIST%7Edefault-5.no_search_link

;utm_medium=distribute.pc_relevant.none-task-blog-2%7Edefault%7ECTRLIST%7Edefault-5.no_search_linkdepth_1-utm_source=distribute.pc_relevant.none-task-blog-2%7Edefault%7ECTRLIST%7Edefault-5.no_search_link

評論區有說

java中有什麼循環嗎?

JAVA語言編程中常用的三種循環流程圖

1. for循環

for循環形式: for(表達式1;表達式2;表達式3)

流程圖:

圖1 for循環流程圖

2. while循環

while循環形式:

while(判斷條件)

{

執行語句;

}

流程圖:

圖2 while循環流程圖

3. do-while循環

do-while循環形式:

do

{

執行語句;

}while(條件判斷)

do-while循環流程圖:

圖3 do-while循環流程圖

Java for循環幾種寫法整理

1:遍曆數組的傳統方式

/* 建立一個數組 */

int[] integers = {1, 2, 3, 4};

/* 開始遍歷 */

for (int j = 0; jintegers.length; j++){

int i = integers[j];

System.out.println(i);

}

2:遍歷Collection對象的傳統方式

/* 建立一個Collection */

String[] strings = {“A”, “B”, “C”, “D”};

Collection stringList = java.util.Arrays.asList(strings);

/* 開始遍歷 */

for (Iterator itr = stringList.iterator(); itr.hasNext();) {

Object str = itr.next();

System.out.println(str);

}

3:遍曆數組的簡單方式

/* 建立一個數組 */

int[] integers = {1, 2, 3, 4};

/* 開始遍歷 */

for (int i : integers) {

System.out.println(i);/* 依次輸出「1」、「2」、「3」、「4」 */

}

4:遍曆數組的簡單方式的等價代碼

/* 建立一個數組 */

int[] integers = {1, 2, 3, 4};

/* 開始遍歷 */

for (int 變數名甲 = 0; 變數名甲integers.length; 變數名甲++) {

System.out.println(integers[變數名甲]);/* 依次輸出「1」、「2」、「3」、「4」 */

}

5:遍歷Collection的簡單方式

/* 建立一個Collection */

String[] strings = {“A”, “B”, “C”, “D”};

Collection list = java.util.Arrays.asList(strings);

/* 開始遍歷 */

for (Object str : list) {

System.out.println(str);/* 依次輸出「A」、「B」、「C」、「D」 */

}

6:遍歷Collection的簡單方式的等價代碼

/* 建立一個Collection */

String[] strings = {“A”, “B”, “C”, “D”};

Collection stringList = java.util.Arrays.asList(strings);

/* 開始遍歷 */

for (Iterator 變數名乙 = list.iterator(); 變數名乙.hasNext();) {

Object str = 變數名乙.next();

System.out.println(str);/* 依次輸出「A」、「B」、「C」、「D」 */

}

7:禁止重新賦值

int[] integers = {1, 2, 3, 4};

for (final int i : integers) {

i = i / 2; /* 編譯時出錯 */

}

8:允許修改狀態

Random[] randoms = new Random[]{new Random(1), new Random(2), new Random(3)};

for (final Random r : randoms) {

r.setSeed(4);/* 將所有Random對象設成使用相同的種子 */

System.out.println(r.nextLong());/* 種子相同,第一個結果也相同 */

}

9:使用和要被遍歷的數組中的元素相同類型的循環變數

int[] integers = {1, 2, 3, 4};

for (int i : integers) {

System.out.println(i);/* 依次輸出「1」、「2」、「3」、「4」 */

}

10:使用和要被遍歷的Collection中的元素相同類型的循環變數

Collection String strings = new ArrayList String();

strings.add(“A”);

strings.add(“B”);

strings.add(“C”);

strings.add(“D”);

for (String str : integers) {

System.out.println(str);/* 依次輸出「A」、「B」、「C」、「D」 */

}

11:使用要被遍歷的對象中的元素的上級類型的循環變數

String[] strings = {“A”, “B”, “C”, “D”};

Collection String list = java.util.Arrays.asList(strings);

for (Object str : list) {

System.out.println(str);/* 依次輸出「A」、「B」、「C」、「D」 */

}

12:使用能和要被遍歷的對象中的元素的類型自動轉換的類型的循環變數

int[] integers = {1, 2, 3, 4};

for (Integer i : integers) {

System.out.println(i);/* 依次輸出「1」、「2」、「3」、「4」 */

}

java中for循環的幾種寫法

以下為for循環的幾種寫法:

/***

方法一:最普通的不加思考的寫法

* p*優點:較常見,易於理解

* p* 缺點:每次都要計算list.size()*/

for (int i = 0; i list.size(); i++) {

System.out.println(list.get(i));

}

/***

方法二:數組長度提取出來

* p* 優點:不必每次都計算

* p* 缺點:

1、m的作用域不夠小,違反了最小作用域原則

2、不能在for循環中操作list的大小,比如除去或新加一個元素*/

int m = list.size();

for (int i = 0; i m; i++) {

System.out.println(list.get(i));

}

/***

方法三:數組長度提取出來

* p* 優點:

1、不必每次都計算

2、所有變數的作用域都遵循了最小範圍原則

* p* 缺點:

1、m的作用域不夠小,違反了最小作用域原則

2、不能在for循環中操作list的大小,比如除去或新加一個元素*/

for (int i = 0, n = list.size(); i n; i++) {

System.out.println(list.get(i));

}

/***

方法四:採用倒序的寫法

* p* 優點:

1、不必每次都計算

2、所有變數的作用域都遵循了最小範圍原則

* p* 缺點:

1、結果的順序會反

2、看起來不習慣,不易讀懂

* p* 適用場合:與顯示結果順序無關的地方:比如保存之前數據的校驗*/

for (int i = list.size() – 1; i = 0; i–) {

System.out.println(list.get(i));

}

/***

方法五:Iterator遍歷

* p* 優點:簡潔

* p* 缺點:*/

for (IteratorString it = list.iterator(); it.hasNext();) {

System.out.println(it.next());

}

/*** 方法六:

jdk1.5新寫法

* p* 優點:簡潔結合泛型使用更簡潔*

p* 缺點:jdk1.4向下不兼容*/

for (Object o : list) {

System.out.println(o);

}

什麼是循環?Java中有哪些循環?

循環就是反覆的執行同一件事情;

比如:求1到100的累加和就是反覆執行 sum =sum +i ; i =i +1;

java循環有三種:

1、do while 循環 2、while 循環 3、for 循環

1、do while 循環 至少執行一次

語法格式:

do {

至少執行一次循環體

sum =sum +i ;//累加自然整數i到sum

i =i +1;//自然整數加一到下一個整數

}while(i=100);

2、while 循環

語法格式:

while(i=100);{

//可能一次都不執行

sum =sum +i ;//累加自然整數i到sum

i =i +1;//自然整數加一到下一個整數

}

3、for 循環

語法格式:

for(int i=1;i=100 ;i++){

//可能一次都不執行

sum =sum +i ;//累加自然整數i到sum

i =i +1;//自然整數加一到下一個整數

}

你明白了嗎?

原創文章,作者:ZSTS,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/140393.html

(0)
打賞 微信掃一掃 微信掃一掃 支付寶掃一掃 支付寶掃一掃
ZSTS的頭像ZSTS
上一篇 2024-10-04 00:23
下一篇 2024-10-04 00:23

相關推薦

  • Java JsonPath 效率優化指南

    本篇文章將深入探討Java JsonPath的效率問題,並提供一些優化方案。 一、JsonPath 簡介 JsonPath是一個可用於從JSON數據中獲取信息的庫。它提供了一種DS…

    編程 2025-04-29
  • java client.getacsresponse 編譯報錯解決方法

    java client.getacsresponse 編譯報錯是Java編程過程中常見的錯誤,常見的原因是代碼的語法錯誤、類庫依賴問題和編譯環境的配置問題。下面將從多個方面進行分析…

    編程 2025-04-29
  • Java Bean載入過程

    Java Bean載入過程涉及到類載入器、反射機制和Java虛擬機的執行過程。在本文中,將從這三個方面詳細闡述Java Bean載入的過程。 一、類載入器 類載入器是Java虛擬機…

    編程 2025-04-29
  • Java騰訊雲音視頻對接

    本文旨在從多個方面詳細闡述Java騰訊雲音視頻對接,提供完整的代碼示例。 一、騰訊雲音視頻介紹 騰訊雲音視頻服務(Cloud Tencent Real-Time Communica…

    編程 2025-04-29
  • Java Milvus SearchParam withoutFields用法介紹

    本文將詳細介紹Java Milvus SearchParam withoutFields的相關知識和用法。 一、什麼是Java Milvus SearchParam without…

    編程 2025-04-29
  • Java 8中某一周的周一

    Java 8是Java語言中的一個版本,於2014年3月18日發布。本文將從多個方面對Java 8中某一周的周一進行詳細的闡述。 一、數組處理 Java 8新特性之一是Stream…

    編程 2025-04-29
  • Java判斷字元串是否存在多個

    本文將從以下幾個方面詳細闡述如何使用Java判斷一個字元串中是否存在多個指定字元: 一、字元串遍歷 字元串是Java編程中非常重要的一種數據類型。要判斷字元串中是否存在多個指定字元…

    編程 2025-04-29
  • VSCode為什麼無法運行Java

    解答:VSCode無法運行Java是因為默認情況下,VSCode並沒有集成Java運行環境,需要手動添加Java運行環境或安裝相關插件才能實現Java代碼的編寫、調試和運行。 一、…

    編程 2025-04-29
  • Java任務下發回滾系統的設計與實現

    本文將介紹一個Java任務下發回滾系統的設計與實現。該系統可以用於執行複雜的任務,包括可回滾的任務,及時恢復任務失敗前的狀態。系統使用Java語言進行開發,可以支持多種類型的任務。…

    編程 2025-04-29
  • Java 8 Group By 會影響排序嗎?

    是的,Java 8中的Group By會對排序產生影響。本文將從多個方面探討Group By對排序的影響。 一、Group By的概述 Group By是SQL中的一種常見操作,它…

    編程 2025-04-29

發表回復

登錄後才能評論