第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問(wèn)題,去搜搜看,總會(huì)有你想問(wèn)的

for 循環(huán)如何遍歷數(shù)組?

for 循環(huán)如何遍歷數(shù)組?

紅顏莎娜 2021-09-29 17:22:36
我試圖理解 for 循環(huán)如何實(shí)際遍歷數(shù)組背后的邏輯。以這個(gè)例子為例,我將在其中使用 Java:int[] numbers = {5, 6, 7};for(int i = 0; i < number.length; i++) {    System.out.println(numbers[i]);}我不明白打印如何numbers[i]在數(shù)組中循環(huán)。更具體地說(shuō),我不明白如何i表示數(shù)組的內(nèi)容。
查看完整描述

3 回答

?
長(zhǎng)風(fēng)秋雁

TA貢獻(xiàn)1757條經(jīng)驗(yàn) 獲得超7個(gè)贊

我將使用稍微不同的類(lèi)比,因?yàn)楹芏啻鸢付紴槟峁┝苏_的信息。

數(shù)組只是一個(gè)包含值的連續(xù)框列表。想象一下這是一個(gè)房屋列表,每個(gè)房屋編號(hào)從 0(Java 中的數(shù)組像許多其他編程語(yǔ)言一樣從 0 開(kāi)始,而不是 1)到n(在您的情況下是 2)。

因此,如果您是從每所房子收集捐款的人,您將從第一所房子 0 開(kāi)始,然后進(jìn)行到下一個(gè)房子 1,然后到下一個(gè)房子 2。您將跟蹤您現(xiàn)在正在訪(fǎng)問(wèn)的房子,以便您還知道下一個(gè)是哪個(gè),這就是整數(shù)變量i正在做的事情。

打印numbers[i]不會(huì)形成循環(huán),就像敲第一間房子并不意味著你要敲第二間房子一樣。

for循環(huán)會(huì)跟蹤您接下來(lái)需要訪(fǎng)問(wèn)的門(mén)牌號(hào)。它通過(guò)它在同一行中的 3 個(gè)語(yǔ)句來(lái)完成:

for(int i = 0; i < number.length; i++)

第一個(gè)語(yǔ)句是說(shuō)從第一個(gè)房子 ( int i = 0) 開(kāi)始。你可以從你喜歡的任何地方開(kāi)始。

第二個(gè)語(yǔ)句是說(shuō),無(wú)論有多少房子,你都想上到最后一個(gè)房子。( i < number.length). 這字面意思是只要i小于數(shù)組的大小保持循環(huán)。您可能會(huì)問(wèn)為什么不是 condition <=。這是因?yàn)槲覀儚?開(kāi)始,所以長(zhǎng)度(數(shù)組的大小)將是最后一個(gè)房子的數(shù)字+1。在你的情況下,length = 2 + 1.

第三個(gè)陳述,是什么讓你搬到下一個(gè)房子。i++是說(shuō)的簡(jiǎn)寫(xiě)i = i + 1。該語(yǔ)句在循環(huán)的每次迭代之后發(fā)生。

所以基本上你的 for 循環(huán)首先將 i 初始化為 0,檢查條件(第二個(gè)語(yǔ)句),如果條件滿(mǎn)足,則進(jìn)行第一次迭代,然后它最終遞增i,如果仍然滿(mǎn)足第二個(gè)條件,則開(kāi)始另一次迭代。重復(fù)此循環(huán),直到for表達(dá)式的第二個(gè)語(yǔ)句不再為真。

最后所有的numbers[i]方法是,由于numbers是一個(gè)數(shù)組,[ ]操作符訪(fǎng)問(wèn)指定索引處的值。所以這就像用數(shù)字敲敲房子,i看看誰(shuí)住在那里。輸入值以System.out.println()在屏幕上打印該值。


查看完整回答
反對(duì) 回復(fù) 2021-09-29
?
FFIVE

TA貢獻(xiàn)1797條經(jīng)驗(yàn) 獲得超6個(gè)贊

以下是 for 循環(huán)執(zhí)行方式的細(xì)分(源自此認(rèn)證學(xué)習(xí)指南)


名稱(chēng)如下:


for(initialization code; 

    boolean expression; 

    update statements){

  body

}. 

for 循環(huán)的部分按以下順序執(zhí)行:

  1. 初始化代碼

  2. 如果布爾表達(dá)式為真,則執(zhí)行主體,否則退出循環(huán)

  3. 身體執(zhí)行

  4. 執(zhí)行更新語(yǔ)句

  5. 返回第 2 步

因此,當(dāng)應(yīng)用于您的示例時(shí),我們可以說(shuō):

運(yùn)行初始化:

int i = 0

迭代 1:

if(i < number.length) // -> if(0 < 3)

//run body

i++ //i becomes 1

//return to step 2 (new iteration)

迭代 2:


if(i < number.length) // -> if(1 < 3) //i was incremented to 1

//run body

i++ //i becomes 2

//return to step 2 (new iteration)

迭代 3:


if(i < number.length) // -> if(2 < 3) //i was incremented to 2

//run body

i++ //i becomes 3

迭代 4(未運(yùn)行):


//return to step 2 (new iteration)

if(i < number.length) // -> if(3 < 3)  -> condition not met

//condition not met, stop the loop

更具體地說(shuō),我不明白我是如何表示數(shù)組的內(nèi)容的


正如您在上面看到的,每次循環(huán)體執(zhí)行完畢時(shí),都會(huì)執(zhí)行更新語(yǔ)句,這會(huì)使i變量遞增,從而允許訪(fǎng)問(wèn)數(shù)組的不同索引。


這樣做是明智的,如果您將更新語(yǔ)句更改為i += 2,則將跳過(guò)數(shù)組的某些索引。


查看完整回答
反對(duì) 回復(fù) 2021-09-29
?
慕森卡

TA貢獻(xiàn)1806條經(jīng)驗(yàn) 獲得超8個(gè)贊

數(shù)組的值由語(yǔ)法取出


numbers[index];

數(shù)組索引從 0 開(kāi)始,然后是 1 下一個(gè) 2 .... 所以為了檢索你需要的第一個(gè)元素


numbers[0];

同時(shí)在 for 循環(huán)中,您創(chuàng)建了一個(gè)名為i. 請(qǐng)注意,在迭代時(shí),由于 , 的值i增加了 1 i++。


所以在你的 for 循環(huán)中會(huì)發(fā)生這種情況。


numbers [0];

numbers[1];

numbers[2];

我想你不明白的是for循環(huán)是如何工作的。請(qǐng)閱讀,


Java 中的 For 循環(huán)示例

根據(jù)那篇文章,


for(initialization; condition ; increment/decrement){

   statement(s);

}

http://img1.sycdn.imooc.com//6154309f00017ffa03990397.jpg

示例(這不是 Java,它是 JavaScript,但 for 循環(huán)的工作方式相同;javascript 不是 爪哇不要誤會(huì)。我只想向您展示一個(gè)關(guān)于i價(jià)值如何增加的工作示例。):


var i;

for (i = 0; i < 10; i++) {

  console.log("i = " + i);

}


查看完整回答
反對(duì) 回復(fù) 2021-09-29
  • 3 回答
  • 0 關(guān)注
  • 273 瀏覽
慕課專(zhuān)欄
更多

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購(gòu)課補(bǔ)貼
聯(lián)系客服咨詢(xún)優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)