本文目錄一覽:
- 1、在java中,新循環,也就是增強for循環怎麼用?是什麼格式?
- 2、增強for循環和普通for循環區別
- 3、java中什麼是加強版的for循環?
- 4、Java的for循環、增強for循環、lambda表達式中的forEach 三種方式優缺點比較?
- 5、java 增強for循環為什麼輸出的是一串地址值?
- 6、java中的增強for循環,是什麼?語法結構和使用得條件?詳細解答就加高分。
在java中,新循環,也就是增強for循環怎麼用?是什麼格式?
for (String str : set) { System.out.println(str); } for裡面對一個參數是要遍歷集合中元素的類型,第二個表示集合中的元素,第三個是集合。增強for循環的方法:
1、創建一個整型數組,我們就是要遍歷它。
2、然後創建一個for循環,但是循環條件和普通for循環條件不同。for(int num : a)
3、然後使用System.out.print(num+” “);不換行輸出num的值。
4、運行查看結果。可以看到條件中的變量num就是數組中的值,它底層會幫我們賦值。
5、這就完成了遍曆數組的操作。
增強for循環和普通for循環區別
記錄、成為更好的自己
增強for循環與普通for循環的區別
1,增強for循環與普通for循環的區別:
增強for循環必須有被遍歷的目標(如集合或數組)。
普通for循環遍曆數組的時候需要索引。
增強for循環不能獲取下標,所以遍曆數組時最好使用普通for循環。
2,特點:
書寫簡潔。
對集合進行遍歷,只能獲取集合元素,不能對集合進行操作,類似迭代器的簡寫形式,但是迭代器可以對元素進行remove操作(ListIterator可以進行增刪改查的操作)。
3,書寫格式:
for(數據類型變量名 : 被遍歷的集合(collection)或者數組) {
執行語句
}
4,增強for循環使用示例:
import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;
public class ForTest {
public static void main(String[] args) {
// TODO Auto-generated method stub
/* 1.普通數組中的使用 */
int array[] = { 1,2,3,4,5,6,7,8,9};
// 增強的for循環
for (int item : array) {
System.out.println(item);
}
// 普通for循環
for (int i = 0; i array.length; i++)
System.out.println(array[i]);
/* 2.二維數組中的使用 */
int array2[][] = {{1,2,3}, {4,5,6}, {7,8,9} };
// 增強的for循環
for (int arr[] : array2) {
for (int item : arr) {
System.out.println(item);
}
}
// 普通for循環
for (int i = 0; i array2.length; i++) {
for (int j = 0; j array2[i].length; j++) {
System.out.println(array2[i][j]);
}
}
/* 3.List中的使用 */
ListString list = new ArrayListString();
list.add(“我”);
list.add(“要”);
list.add(“成”);
list.add(“大”);
list.add(“牛”);
// 增強的for循環
for (String item : list){
System.out.println(item);
}
//普通for循環
for (int i = 0; i list.size(); i++) {
System.out.println(list.get(i));
}
//迭代器遍歷
IteratorString it = list.iterator();
while (it.hasNext()) {
System.out.println(it.next());
}
}
}
java中什麼是加強版的for循環?
從java 5.0開始,Java語言就有加強版的for循環
for(String name:nameArray){
…………………..
}
編譯器會認為:
1.創建名稱為name的String變量。
2.將nameArray的第一個元素賦給name。
3.執行重複的內容。
4.賦值給下一個元素name。
5.重複執行至所有的元素都被運行為止
裡面的數據類型是任意的,只要前面的數據類型和後面要遍歷的集合中的元素的類型一致即可。例如:ArrayList list=new ArrayList();list.add(1);list.add(“test”);list.add(new Date()); for(Object obj : list){ System.out.println(obj);}
Java的for循環、增強for循環、lambda表達式中的forEach 三種方式優缺點比較?
個人理解不喜勿噴。
簡單的來說其實三種並沒有什麼太大的區別,一般情況下的性能也差不多。
for循環:
優點:可以直接獲取下標,能更精確的定位。下標變量屬於循環內變量,循環結束會自動回收。下標變量的步長可以自定,比較靈活。
缺點:需要根據下標才會獲取循環內容。只能循環有序集合和數組,如Set和Map就無法遍歷。
增強for:
優點:循環直接進行賦值,直接得到循環對象,不需要通過下標獲取。可以遍歷所有集合類型和數組。
缺點:循環有序集合時無法定位下標,需要在循環外層定義下標。無法遍歷Map類型。
lambda:
優點:可以對所有集合類型和Map進行循環,特別是支持對Map進行循環,循環也是直接進行賦值,直接得到循環對象。
缺點:循環有序集合時無法定位下標,無法遍曆數組,因為理論上來說他是屬於迭代器的一種。同時因為循環體屬於一個封閉範圍的線程,在循環體內使用部分循環體外的變量需要加final關鍵字,很不方便。
另外說到了迭代器,可以參考lambda,不過寫法就沒lmbda那麼方便了,不過迭代器有很多功能是循環比不上的,可以去看看。
java 增強for循環為什麼輸出的是一串地址值?
為什麼java增強for循環輸出一串地址值?
因為for(String str: array)java的增強for循環左邊有一個參數類型,右邊有一個循環數組,嚴格來說兩個數組之間沒有聯繫,除非一個數組的值與另一個數組的下標有關。前端增強型for循環可以同時輸出兩個數組。for(var index in array)因為前端增強for的左邊是數組的下標,右邊是循環數組,只要加上循環長度大的數組和一些判斷,就可以同時輸出兩個數組。以上是我個人的看法,希望對你有幫助。
java中的增強for循環,是什麼?語法結構和使用得條件?詳細解答就加高分。
for(Object o:list){ }
首先object是類型 o是聲明的一個object的參數 list是從list列表中找出object對象放到o中
是因為有種傳值叫做引用傳值,當list的內容複雜的時候換成引用傳值會提高編程效率和代碼質量!
增強for循環有兩個好處:
1.寫起來簡單
2.遍歷集合、容器簡單(都是相對原來for(;;)的這種寫法而言)
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-hant/n/309013.html