JAVA中的for循環(huán)幾種使用方法講解
一般寫法
1.遍歷數(shù)組的傳統(tǒng)方式
/* 建立一個(gè)數(shù)組 */
int [] integers={1,2,3,4};
/* 開始遍歷 */
for (int j=0;j<integers.length;j++){
int i = integers[j];
System.out.println(i);
}
2.遍歷Collection對(duì)象的傳統(tǒng)方式
/* 建立一個(gè)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);
}
第二種寫法
for (循環(huán)變量類型 循環(huán)變量名稱 : 要被遍歷的對(duì)象) 循環(huán)體
3.遍歷數(shù)組的簡(jiǎn)單方式
/* 建立一個(gè)數(shù)組 */
int[] integers = {1, 2, 3, 4};
/* 開始遍歷 */
for (int i : integers) {
System.out.println(i); /* 依次輸出“1”、“2”、“3”、“4” */
}
遍歷數(shù)組的簡(jiǎn)單方式的等價(jià)代碼
/* 建立一個(gè)數(shù)組 */
int[] integers = {1, 2, 3, 4};
/* 開始遍歷 */
for (int 變量名甲 = 0; 變量名甲 < integers.length; 變量名甲++) {
System.out.println(integers[變量名甲]); /* 依次輸出“1”、“2”、“3”、“4” */
}
4.遍歷Collection的簡(jiǎn)單方式
/* 建立一個(gè)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” */
}
遍歷數(shù)組的簡(jiǎn)單方式的等價(jià)代碼
/* 建立一個(gè)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” */
}
防止在循環(huán)體里修改循環(huán)變量
5.禁止重新賦值
int[] integers = {1, 2, 3, 4};
for (final int i : integers) {
i = i / 2; /* 編譯時(shí)出錯(cuò) */
}
這只是禁止了對(duì)循環(huán)變量進(jìn)行重新賦值。給循環(huán)變量的屬性賦值,或者調(diào)用能讓循環(huán)變量的內(nèi)容變化的方法,是不被禁止的。

6.允許修改狀態(tài)
Random[] randoms = new Random[]{new Random(1),new Random(2), new Random(3)};
for (final Random r : randoms) {
r.setSeed(4); /* 將所有Random對(duì)象設(shè)成使用相同的種子 */
System.out.println(r.nextLong()); /* 種子相同,第一個(gè)結(jié)果也相同 */
}
類型相容問題
7.使用和要被遍歷的數(shù)組中的元素相同類型的循環(huán)變量
int[] integers = {1, 2, 3, 4};
for (int i : integers) {
System.out.println(i); /* 依次輸出“1”、“2”、“3”、“4” */
}
8.使用和要被遍歷的Collection中的元素相同類型的循環(huán)變量
Collection< String> strings = new ArrayList< String>();
strings.add("A");
strings.add("B");
strings.add("C");
strings.add("D");
for (String str : strings) {
System.out.println(str); /* 依次輸出“A”、“B”、“C”、“D” */
}
循環(huán)變量的類型可以是要被遍歷的對(duì)象中的元素的上級(jí)類型。 例如,用int型的循環(huán)變量來遍歷一個(gè)byte[]型的數(shù)組,用Object型的循環(huán)變量來遍歷一個(gè)Collection< String>(全部元素都是String的Collection)等。
9.使用要被遍歷的對(duì)象中的元素的上級(jí)類型的循環(huán)變量
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” */
}
10.使用能和要被遍歷的對(duì)象中的元素的類型自動(dòng)轉(zhuǎn)換的類型的循環(huán)變量
int[] integers = {1, 2, 3, 4};
for (Integer i : integers) {
System.out.println(i); /* 依次輸出“1”、“2”、“3”、“4” */
}
注意,這里說的“元素的類型”,是由要被遍歷的對(duì)象的決定的――如果它是一個(gè)Object[]型的數(shù)組,那么元素的類型就是Object,即使里面裝的都是String對(duì)象也是如此。
以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
相關(guān)文章
mybatis group by substr函數(shù)傳參報(bào)錯(cuò)的解決
這篇文章主要介紹了mybatis group by substr函數(shù)傳參報(bào)錯(cuò)的解決方案,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2022-01-01
JavaEE Spring MyBatis如何一步一步實(shí)現(xiàn)數(shù)據(jù)庫(kù)查詢功能
這篇文章主要介紹了JavaEE Spring MyBatis如何一步一步實(shí)現(xiàn)數(shù)據(jù)庫(kù)查詢功能,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2020-08-08
java驗(yàn)證用戶是否已經(jīng)登錄 java實(shí)現(xiàn)自動(dòng)登錄
這篇文章主要介紹了java驗(yàn)證用戶是否已經(jīng)登錄,java實(shí)現(xiàn)自動(dòng)登錄,感興趣的小伙伴們可以參考一下2016-04-04
Java中SimpleDateFormat方法超詳細(xì)分析
這篇文章主要給大家介紹了關(guān)于Java中SimpleDateFormat方法超詳細(xì)分析的相關(guān)資料,SimpleDateFormat 是一個(gè)以國(guó)別敏感的方式格式化和分析數(shù)據(jù)的具體類,文中通過代碼介紹的非常詳細(xì),需要的朋友可以參考下2023-08-08
Java 實(shí)戰(zhàn)項(xiàng)目錘煉之仿天貓網(wǎng)上商城的實(shí)現(xiàn)流程
讀萬(wàn)卷書不如行萬(wàn)里路,只學(xué)書上的理論是遠(yuǎn)遠(yuǎn)不夠的,只有在實(shí)戰(zhàn)中才能獲得能力的提升,本篇文章手把手帶你用java+jsp+servlet+mysql+ajax實(shí)現(xiàn)一個(gè)仿天貓網(wǎng)上商城項(xiàng)目,大家可以在過程中查缺補(bǔ)漏,提升水平2021-11-11
Java Process與Runtime()的使用及調(diào)用cmd命令阻塞的解決方案
這篇文章主要介紹了Java Process與Runtime()的使用及調(diào)用cmd命令阻塞的解決方案,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2021-06-06
java實(shí)現(xiàn)學(xué)生教師管理系統(tǒng)
這篇文章主要為大家詳細(xì)介紹了java實(shí)現(xiàn)學(xué)生教師管理系統(tǒng),文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2020-10-10

