在C#和Java語言中for和foreach的區(qū)別詳解
for循環(huán)和foreach循環(huán)的區(qū)別
首先在這里聲明一點(diǎn),C#和Java這兩種語言很相似,尤其是初學(xué)的數(shù)據(jù)類型那一部分,所以這里寫的for和foreach的區(qū)別在C#和Java中都適用。 我會(huì)在下面分別列出兩種語言的for和foreach分別循環(huán)打印一個(gè)數(shù)組,大家可以看看區(qū)別話不多說,直接上代碼:
//c#//先創(chuàng)建一個(gè)數(shù)組int[] arr = new int[3] {99, 11, 22};//利用for循環(huán)打印(可以創(chuàng)建一個(gè)變量 i;判斷這個(gè)i是否小于數(shù)組的長度;每次循環(huán)i自增1)//(并且中間這個(gè)值是一個(gè)布爾值)for(int i = 0; i < arr.Length; i++){//這里是循環(huán)體,我們讓每次循環(huán)都輸出數(shù)組的第i個(gè)數(shù)。Console.WriteLine(arr[i]);}//foreach的括號(hào)里有四個(gè)變量(數(shù)據(jù)類型 變量名 in 數(shù)組名)foreach(int name in arr){Console.Write(name + ',');}//Write輸出完成后不會(huì)換行,writeLine則會(huì)換行。//加這個(gè)逗號(hào)是為了輸出時(shí)把兩個(gè)數(shù)字區(qū)分開//可以在最后加一行等待讀取,讓控制臺(tái)不要直接關(guān)閉。Console.ReadKey();
———————以上是C#的循環(huán)輸出遍歷數(shù)組,下面是Java的 ————————
//Javaint[] 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輸出完成后不會(huì)換行,println則會(huì)換行//java比C#的這點(diǎn)就很方便,不用再最后一行加個(gè)等待輸入來看最后結(jié)果。//不過在vs2019中好像已經(jīng)更新了,不會(huì)自動(dòng)關(guān)閉,小伙伴們可以自己試試。
Java語言中和C#所需要注意的重點(diǎn)是一樣的,就在下面,只不過輸出有所區(qū)別。
看到這里很多新手可能都會(huì)覺得for循環(huán)簡單一些,其實(shí)并非這樣,之所以會(huì)有人這么認(rèn)為是因?yàn)槌鯇W(xué)者已經(jīng)習(xí)慣了一種循環(huán),突然轉(zhuǎn)變一種不太習(xí)慣,并且不能理解括號(hào)中四個(gè)值的含義,所以寧可用for
針對這一問題可以這么理解
for和foreach都是循環(huán),新手可以認(rèn)為for包含foreach,因?yàn)閒oreach只適用于循環(huán)數(shù)組。foreach并不是比較難,而是為了在遍歷數(shù)組時(shí)更加的簡單,就單純的看遍歷數(shù)組確實(shí)foreach更加簡單一點(diǎn)。for循環(huán)確實(shí)是功能多一些,在很多地方都可以用得到,這一點(diǎn)foreach是做不到的,所以由此可見,foreach只適合遍歷數(shù)組。
這里有表格可以幫助理解:
for foreach 適用范圍 任何可以循環(huán)的地方 僅在遍歷數(shù)組時(shí) 難 度 ⭐⭐⭐ ⭐ 變量個(gè)數(shù) 3個(gè) 無 要寫的值 (創(chuàng)建變量;判斷是否繼續(xù)循環(huán);自增) (數(shù)據(jù)類型 變量名 in 數(shù)組名) 值的變化 三個(gè)變量都需要根據(jù)不同的情況做出不同的調(diào)整 只有數(shù)據(jù)類型需要注意,一般為int(double)或者var其中foreach中的4個(gè)值很簡單,希望對大家有所幫助
for循環(huán)的三個(gè)變量都是須要根據(jù)不同情況而有所改變的,foreach中的值雖說有4個(gè),但那不是變量,基本都是固定的,只需要填寫對應(yīng)的數(shù)據(jù)類型,請外起一個(gè)名字,in是固定不變的,最后是要輸出的數(shù)組名,另外起的名字是什么就在循環(huán)體中輸出這個(gè)名字。千萬不要直接輸出數(shù)組名!
到此這篇關(guān)于在C#和Java語言中for和foreach的區(qū)別詳解的文章就介紹到這了,更多相關(guān)C#和Java語言中for和foreach的區(qū)別內(nèi)容請搜索好吧啦網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持好吧啦網(wǎng)!
相關(guān)文章:
1. 爬取今日頭條Ajax請求2. laravel ajax curd 搜索登錄判斷功能的實(shí)現(xiàn)3. JavaScrip簡單數(shù)據(jù)類型隱式轉(zhuǎn)換的實(shí)現(xiàn)4. HTML DOM setInterval和clearInterval方法案例詳解5. 詳解JSP 內(nèi)置對象request常見用法6. ASP.NET Core按用戶等級授權(quán)的方法7. webpack高級配置與優(yōu)化詳解8. HTML <!DOCTYPE> 標(biāo)簽9. ASP動(dòng)態(tài)網(wǎng)頁制作技術(shù)經(jīng)驗(yàn)分享10. JS中map和parseInt的用法詳解
