for回圈和foreach回圈的區別
- 首先在這里宣告一點,C#和Java這兩種語言很相似,尤其是初學的資料型別那一部分,所以這里寫的for和foreach的區別在C#和Java中都適用,
- 我會在下面分別列出兩種語言的for和foreach分別回圈列印一個陣列,大家可以看看區別
話不多說,直接上代碼:
//c#
//先創建一個陣列
int[] arr = new int[3] {99, 11, 22};
//利用for回圈列印(可以創建一個變數 i;判斷這個i是否小于陣列的長度;每次回圈i自增1)
// (并且中間這個值是一個布林值)
for(int i = 0; i < arr.Length; i++)
{
//這里是回圈體,我們讓每次回圈都輸出陣列的第i個數,
Console.WriteLine(arr[i]);
}
//foreach的括號里有四個變數(資料型別 變數名 in 陣列名)
foreach(int name in arr)
{
Console.Write(name + ",");
}
//Write輸出完成后不會換行,writeLine則會換行,
//加這個逗號是為了輸出時把兩個數字區分開
//可以在最后加一行等待讀取,讓控制臺不要直接關閉,
Console.ReadKey();
————————以上是C#的回圈輸出遍歷陣列,下面是Java的 ————————
//Java
int[] arr = new int[3] {88, 66, 55};
for(int i = 0; i < arr.Length; i++)
{
System.out.println(arr[i]);
}
foreach(int name in arr)
{
System.out.print(name + ",");
}
//print輸出完成后不會換行,println則會換行
//java比C#的這點就很方便,不用再最后一行加個等待輸入來看最后結果,
//不過在vs2019中好像已經更新了,不會自動關閉,小伙伴們可以自己試試,
Java語言中和C#所需要注意的重點是一樣的,就在下面,只不過輸出有所區別,
看到這里很多新手可能都會覺得for回圈簡單一些,其實并非這樣,之所以會有人這么認為是因為初學者已經習慣了一種回圈,突然轉變一種不太習慣,并且不能理解括號中四個值的含義,所以寧可用for
針對這一問題可以這么理解
- for和foreach都是回圈,新手可以認為for包含foreach,因為foreach只適用于回圈陣列,
- foreach并不是比較難,而是為了在遍歷陣列時更加的簡單,就單純的看遍歷陣列確實foreach更加簡單一點,
- for回圈確實是功能多一些,在很多地方都可以用得到,這一點foreach是做不到的,所以由此可見,foreach只適合遍歷陣列,
這里有表格可以幫助理解:
for foreach 適用范圍 任何可以回圈的地方 僅在遍歷陣列時 難 度 ??? ? 變數個數 3個 無 要寫的值 (創建變數;判斷是否繼續回圈;自增) (資料型別 變數名 in 陣列名) 值的變化 三個變數都需要根據不同的情況做出不同的調整 只有資料型別需要注意,一般為int(double)或者var 其中foreach中的4個值很簡單,希望對大家有所幫助
for回圈的三個變數都是須要根據不同情況而有所改變的,foreach中的值雖說有4個,但那不是變數,基本都是固定的,只需要填寫對應的資料型別,請外起一個名字,in是固定不變的,最后是要輸出的陣列名,另外起的名字是什么就在回圈體中輸出這個名字,千萬不要直接輸出陣列名!
感謝大家的學習觀看,請多多指教哦~~~
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/127447.html
標籤:其他
