欧美一级特黄大片做受成人-亚洲成人一区二区电影-激情熟女一区二区三区-日韩专区欧美专区国产专区

Java中for循環(huán)簡(jiǎn)化版介紹

我們知道,在Java語(yǔ)言中有三種循環(huán),分別是while循環(huán),do…while循環(huán)和for循環(huán)。其實(shí),從JDK1.5開(kāi)始,又引入了一種增強(qiáng)型for循環(huán),這種新型的for循環(huán)主要是用來(lái)遍歷數(shù)組或集合的,它的格式非常簡(jiǎn)單,下圖展示了增強(qiáng)型for循環(huán)的基本結(jié)構(gòu):

成都網(wǎng)站設(shè)計(jì)、網(wǎng)站制作,成都做網(wǎng)站公司-創(chuàng)新互聯(lián)已向上1000家企業(yè)提供了,網(wǎng)站設(shè)計(jì),網(wǎng)站制作,網(wǎng)絡(luò)營(yíng)銷(xiāo)等服務(wù)!設(shè)計(jì)與技術(shù)結(jié)合,多年網(wǎng)站推廣經(jīng)驗(yàn),合理的價(jià)格為您打造企業(yè)品質(zhì)網(wǎng)站。

Java中for循環(huán)簡(jiǎn)化版介紹
增強(qiáng)型for循環(huán)被設(shè)計(jì)出來(lái)就是為了遍歷數(shù)組或者是集合的,所以在循環(huán)中都會(huì)指定一個(gè)數(shù)組或者是集合。為了方便程序員編碼,增強(qiáng)型for循環(huán)不再通過(guò)”下標(biāo)”的形式訪問(wèn)數(shù)組或集合中的元素,而是把依次從數(shù)組或集合取出元素,并命名為i,這樣,程序員就可以直接操作元素i,從而大大簡(jiǎn)化了代碼。為了方便表述,我們把元素i稱之為“當(dāng)前元素”。下面來(lái)看一個(gè)簡(jiǎn)單例子:
Java中for循環(huán)簡(jiǎn)化版介紹
在這個(gè)增強(qiáng)型for循環(huán)中,指定的數(shù)組叫做array。每次循環(huán),都從array數(shù)組中取出一個(gè)元素并命名為i,之后打印元素i的值。這里特意提醒各位小伙伴一下:循環(huán)中出現(xiàn)的”i”并非數(shù)組的下標(biāo),而是一個(gè)數(shù)組元素,也就是我們前面所說(shuō)的”當(dāng)前元素“。這段程序運(yùn)行結(jié)果是”1 2 3 “。如果使用傳統(tǒng)的for循環(huán)也能達(dá)到同樣的效果,代碼如下:
Java中for循環(huán)簡(jiǎn)化版介紹
僅從以上兩段代碼的運(yùn)行結(jié)果來(lái)看,似乎增強(qiáng)型for循環(huán)和傳統(tǒng)for循環(huán)沒(méi)有什么區(qū)別。但是,如果把以上兩段代碼稍作修改,運(yùn)行結(jié)果就會(huì)迥然不同。我們把第一段代碼改為如下形式:
Java中for循環(huán)簡(jiǎn)化版介紹
為了表述方便,我們把第一段修改后的代碼稱之為”代碼①”。之后,把原來(lái)的第二段代碼修改為以下形式:
Java中for循環(huán)簡(jiǎn)化版介紹
同理,我們把修改后的第二段代碼稱為”代碼②”?!贝a①”和”代碼②”都是在它們?cè)瓉?lái)的版本基礎(chǔ)之上添加了一段循環(huán)修改數(shù)組元素值的操作。
但是,再次運(yùn)行程序就會(huì)發(fā)現(xiàn),”代碼①”的運(yùn)行結(jié)果仍然是”1 2 3 ”,而”代碼②”的運(yùn)行結(jié)果是”3 4 5 ”,也就是說(shuō)”代碼①”中修改數(shù)組元素值的操作并沒(méi)有起作用。這是為什么呢?就是因?yàn)椋骸贝a①”中所謂的”當(dāng)前元素”i其實(shí)是一個(gè)作用域僅限于循環(huán)自身的局部變量,每次循環(huán)開(kāi)始的時(shí)候都要重新定義這個(gè)變量,并且重新用數(shù)組元素對(duì)變量i進(jìn)行賦值。i的值來(lái)源于數(shù)組元素,但i本質(zhì)上并不是數(shù)組元素本身,它只是數(shù)組元素的副本,因此修改i并不能改變數(shù)組元素的值。在”代碼①”的第一個(gè)循環(huán)中,修改的就是局部變量i的值,而并非數(shù)組元素本身的值。因此,在”代碼①”的第二個(gè)循環(huán)中打印”當(dāng)前元素”,實(shí)際上是再次把數(shù)組元素的值賦值給局部變量i并且打印,既然數(shù)組元素的值并未改變,打印出的結(jié)果當(dāng)然是原數(shù)組中的”1 2 3”。
再來(lái)看”代碼②”,”代碼②”中的第一個(gè)循環(huán)是通過(guò)下標(biāo)的直接找到了真實(shí)的數(shù)組元素并且做了修改,每次操作都修改的是實(shí)實(shí)在在的數(shù)組元素,而不是數(shù)組元素的副本!所以程序運(yùn)行到第二個(gè)循環(huán)中,打印的是修改后的數(shù)組元素。
以上講解,就是為了讓小伙伴們明白:增強(qiáng)型for循環(huán)中的那個(gè)”當(dāng)前元素i”,其實(shí)是一個(gè)臨時(shí)的局部變量,它只是數(shù)組元素的副本,而非數(shù)組元素本身。但是,我們所舉的例子中,數(shù)組的類(lèi)型屬于基礎(chǔ)數(shù)據(jù)類(lèi)型。那么,如果數(shù)組并非基礎(chǔ)類(lèi)型,而是引用類(lèi)型,使用增強(qiáng)型for循環(huán)能否修改數(shù)組元素呢?請(qǐng)看以下代碼:
Java中for循環(huán)簡(jiǎn)化版介紹
在這段代碼中,首先定義了一個(gè)Num類(lèi),在Num類(lèi)中有一個(gè)int型的屬性x,我們通過(guò)構(gòu)造方法初始化x的值。代碼的Test類(lèi)中,在主方法里定義了一個(gè)Num類(lèi)型的數(shù)組array,這個(gè)數(shù)組顯然是一個(gè)引用類(lèi)型數(shù)據(jù)的數(shù)組。數(shù)組中的引用分別指向了3個(gè)Num類(lèi)型的對(duì)象,這三個(gè)對(duì)象的x屬性值分別是1,2,3。第一個(gè)for循環(huán)修改了數(shù)組中每個(gè)Num對(duì)象的x屬性值,第二個(gè)循環(huán)依次打印出每個(gè)Num對(duì)象的x屬性值,程序運(yùn)行結(jié)果是在控制臺(tái)上輸出了”3 4 5”。這說(shuō)明增強(qiáng)型for循環(huán)在遍歷引用類(lèi)型的數(shù)組時(shí),通過(guò)”當(dāng)前元素”可以修改數(shù)組中元素的狀態(tài),這又是為什么呢?原因其實(shí)也很簡(jiǎn)單,雖然”當(dāng)前元素”n本質(zhì)上也只是一個(gè)作用域僅限于循環(huán)內(nèi)部的局部引用,但是,每次循環(huán)過(guò)程中,它都實(shí)實(shí)在在的指向了一個(gè)真實(shí)的數(shù)組元素,所以這個(gè)局部引用作用域雖小,但通過(guò)它卻能夠完成修改數(shù)組元素對(duì)象屬性值的操作。

另外再?gòu)?qiáng)調(diào)一點(diǎn),無(wú)論增強(qiáng)型for循環(huán)所遍歷的是基礎(chǔ)數(shù)據(jù)類(lèi)型的數(shù)組,還是引用類(lèi)型的數(shù)組(或集合),都要保證”當(dāng)前元素”與數(shù)組中真實(shí)元素的“類(lèi)型兼容性”,否則程序就會(huì)報(bào)錯(cuò)。比如說(shuō),我們通過(guò)一個(gè)增強(qiáng)型for循環(huán)操作一個(gè)int型數(shù)組時(shí),可以把”當(dāng)前元素”i設(shè)定為double類(lèi)型,原因就是數(shù)組中int型的元素可以賦值給double類(lèi)型的局部變量。但反過(guò)來(lái),通過(guò)增強(qiáng)型for循環(huán)操作一個(gè)double型數(shù)組時(shí),不能把”當(dāng)前元素”i的類(lèi)型設(shè)定為int類(lèi)型,就是因?yàn)榘凑認(rèn)ava語(yǔ)法,無(wú)法完成由double到int的自動(dòng)轉(zhuǎn)換。同理,操作一個(gè)String型數(shù)組時(shí),可以把”當(dāng)前元素”的類(lèi)型設(shè)定為Object,反之則無(wú)法通過(guò)編譯。

新聞標(biāo)題:Java中for循環(huán)簡(jiǎn)化版介紹
網(wǎng)站網(wǎng)址:http://aaarwkj.com/article38/gjcosp.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供響應(yīng)式網(wǎng)站建站公司、自適應(yīng)網(wǎng)站、營(yíng)銷(xiāo)型網(wǎng)站建設(shè)網(wǎng)站設(shè)計(jì)公司、服務(wù)器托管

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)

成都網(wǎng)頁(yè)設(shè)計(jì)公司
亚洲区一区二区三区精品| 国产精品播放一区二区三区| 国产欧美日韩午夜激情| 国产精品日韩一区视频| 97色伦综合在线欧美视频| 欧美国产日韩亚洲综合| 亚洲国产第一av导航| 在线观看国产精品女主播户外麻豆 | 国产精品一区二区国产激情久久| 少妇高潮视频在线观看| 97在线观看视频在线观看| 中文字幕成人免费看片| 日本一欧美一欧美一亚洲| 精品人妻系列一区二区| av天堂在线观看网站| 人妖系列中文字幕欧美系列| 国产又粗又猛又爽黄老大爷| 亚洲欧美另类重口国产| 国产成人91精品免费看片| 国产黄a三级三级三级老师绑| 亚洲av毛片免费在线| 亚洲精品熟女一区二区三区| 欧美一区二区三区顶级黄片| 在线观看免费视频成人播放| 国产福利在线观看网站| 人妻少妇亚洲精品视频| 亚洲天堂欧美日韩一区| 日本国产美女精品一区二区| 最新国产情侣夫妻激情| 久久这里精品中文字幕| 欧美在线免费一级黄片| 欧美日韩人美精品一区在线| 18禁黄网站免费视频| 亚洲少妇插进去综合网| 亚洲精品视频一区二区| 日韩精品激情视频在线| 91日本视频在线播放| 青青草原精品资源视频| 久久精品国产亚洲七七| 日本美女午夜福利视频| 国产精品一区二区欧美激情|