6 回答

TA貢獻(xiàn)1811條經(jīng)驗(yàn) 獲得超6個(gè)贊
public static void main(String args[])
{
for(int i = 0; i < 10; i++)
{
if (i%2 == 0) {
continue;
}
System.out.println(i);
}
}
輸出是:
1
3
5
7
9

TA貢獻(xiàn)1829條經(jīng)驗(yàn) 獲得超7個(gè)贊
由于循環(huán)條件失敗,此代碼將不起作用
?for(int i =0;i<0;i++)
或者您可能忘記將條件更新為
?for(int i=0; i<10; i++)
嘗試這個(gè)
package live;
?public class ACTIVE {
? public static void main(String args[])
? {
? ? for(int i=0; i<10; i++)
? ? {
? ? ? ? if(i%2==0)
? ? ? ? ? ? continue;
? ? ? ? System.out.println(i);
? ? }
? }
}

TA貢獻(xiàn)1887條經(jīng)驗(yàn) 獲得超5個(gè)贊
它可能有助于準(zhǔn)確指定 for 循環(huán)的各個(gè)部分:
for(初始化;終止;遞增)
初始化表達(dá)式設(shè)置 for 循環(huán)的初始條件。
當(dāng)終止表達(dá)式的計(jì)算結(jié)果為時(shí),循環(huán)將停止
false
。增量表達(dá)式將在循環(huán)的每次迭代中執(zhí)行一次。
因此,考慮到這一點(diǎn),讓我們看看您的循環(huán)實(shí)際上在做什么:
for(int i = 1; i < 0; i++)
因此,您的循環(huán)通過創(chuàng)建一個(gè)名為 的變量并將其設(shè)置為 來初始化。接下來,您的循環(huán)說在is時(shí)終止。但是你只是設(shè)置為等于,不小于零!因此,在您開始遍歷 loop 之前,您的終止條件已經(jīng)為假,這意味著該循環(huán)根本不會運(yùn)行。i
1
i < 0
false
i
1
根據(jù)您的預(yù)期輸出,您打算編寫的內(nèi)容似乎是:
for(int i = 1; i < 10; i++)
i
請注意,這將在大于或等于時(shí)終止10
。
另外,出于以下幾個(gè)原因,我建議不要使用此代碼:
if(i%2==0) continue; System.out.println(i);
使用 if 語句而不使用大括號來描述要在 if 中執(zhí)行的代碼通常是不好的做法。此外,您的邏輯有點(diǎn)“顛倒”,因?yàn)槿狈Ω玫拇朕o方式。編寫(可以說)更直觀:
if(i % 2 != 0) { System.out.println(i); }
這消除了對 的需要continue
,并略微提高了可讀性。

TA貢獻(xiàn)1818條經(jīng)驗(yàn) 獲得超7個(gè)贊
讓我盡可能保持簡單,而不深入術(shù)語。讓我們舉個(gè)例子好嗎?假設(shè)我給你 10 美元,我讓你去花,但你只能花 0 美元?你能花錢嗎?答案是不對。為什么會這樣?只是因?yàn)闂l件不匹配,你將無法正確執(zhí)行任務(wù)(這里是花錢)。同樣,在你的循環(huán)中,你已經(jīng)編碼了:
for(int i=0;i<0;i++)
現(xiàn)在告訴我看看你的這部分代碼:
i=0且i<0
你看到你做錯(cuò)了什么了嗎?你已經(jīng)告訴程序好的,我將 i 的值設(shè)置為 0,你將不得不運(yùn)行循環(huán)直到 i 保持小于 0 的部分。但是 i 永遠(yuǎn)不會小于 0,因?yàn)?0 不小于 0。所以你的條件根本不滿足,根本不執(zhí)行。所以你需要做的是將條件設(shè)置為i<10并且你的循環(huán)將起作用。但是,請注意您的循環(huán)可以變得更高效。希望它有所幫助:D

TA貢獻(xiàn)1817條經(jīng)驗(yàn) 獲得超6個(gè)贊
我沒有得到我的 java 程序的輸出?
那是因?yàn)槟?for 循環(huán)無法在給定條件下運(yùn)行。
for(int i=0;i<0;i++)
//1) Initialize i as 0
//2) if i<0 is true, run statments within for-loop
在 (2) 處,條件為假,因?yàn)?0 不小于 0,因此您的循環(huán)將不會運(yùn)行。嘗試任何大于 0 的循環(huán)運(yùn)行(例如i<1)
此外,您可以通過以下方式避免繼續(xù)聲明:
for(int i=0;i<10;i++)
if(i%2 != 0)
System.out.println(i);

TA貢獻(xiàn)1966條經(jīng)驗(yàn) 獲得超4個(gè)贊
您將 i 設(shè)置為 0 并且您的 for 循環(huán)僅在 i<0 時(shí)運(yùn)行,因此將其更改為 10 并且它應(yīng)該可以工作。
public static void main(String args[])
{
for(int i=0;i<10;i++)
{
if(i%2==0)
continue;
System.out.println(i);
}
}
添加回答
舉報(bào)