for 關(guān)鍵字后面括號(hào)中的三個(gè)表達(dá)式必須用 “;” 隔開,三個(gè)表達(dá)式都可以省略,但 “;” 不能省略。
?* a. 省略“循環(huán)變量初始化”,可以在 for 語句之前由賦值語句進(jìn)行變量初始化操作
?* b. 省略“循環(huán)條件”,可能會(huì)造成循環(huán)將一直執(zhí)行下去,也就是我們常說的“死循環(huán)”現(xiàn)象(在編程過程中要避免“死循環(huán)”的出現(xiàn),因此,對(duì)于上面的代碼可以在循環(huán)體中使用 break 強(qiáng)制跳出循環(huán))
?* c. 省略“循環(huán)變量變化”,可以在循環(huán)體中進(jìn)行循環(huán)變量的變化
2018-08-12
for循環(huán)語法中i=1只執(zhí)行一次,設(shè)置循環(huán)初始值,之后i=2后就不會(huì)再執(zhí)行for中的第一個(gè),而是第二三個(gè)
2018-07-20
int i=1;
1<100? true.
i++; i+1=2;
2<100?true .接著循環(huán)到false 退出循環(huán)?
你所說的i=1會(huì)不會(huì)和 i=2有沒沖突是不存在的
2018-07-20
賦值語句只能在開始的時(shí)候執(zhí)行一次,,第二次循環(huán)不會(huì)執(zhí)行int?i=1,所以不會(huì)沖突
2018-07-18
不沖突,循環(huán)在早期C語言里是在循環(huán)結(jié)構(gòu)外定義i,再在循環(huán)體里使用。而Java里將定義與初始化合并。在for(int i=0;i<100;i++)里,只有i++是反復(fù)執(zhí)行的,i=0是初始條件,i<100是結(jié)束條件
2018-07-18
不會(huì)沖突,放心for循環(huán)程序執(zhí)行的流程是當(dāng)for(循環(huán)變量的初始化;循環(huán)條件;循環(huán)變量的變化){循環(huán)體/循環(huán)操作}和if語句類似,當(dāng)遇到這個(gè)循環(huán)條件成立的時(shí)候執(zhí)行循環(huán)操作,循環(huán)操作執(zhí)行完成一次后程序再指向循環(huán)變量的變化如題,for(int i=1; i<=100;i++)當(dāng)i<=100成立時(shí)直接往下執(zhí)行循環(huán)操作,再執(zhí)行i++,再判斷循環(huán)條件是否仍然成立,成立->繼續(xù)循環(huán);簡(jiǎn)單可以理解為,將for(int i=1; i<=100;i++)里面的i++放入循環(huán)體也是一樣的效果。同理循環(huán)變量的初始化也可以在for循環(huán)外面(for循環(huán)語句之前)初始化是一樣的效果。
for 關(guān)鍵字后面括號(hào)中的三個(gè)表達(dá)式必須用 “;” 隔開,三個(gè)表達(dá)式都可以省略,但 “;” 不能省略。
?* a. 省略“循環(huán)變量初始化”,可以在 for 語句之前由賦值語句進(jìn)行變量初始化操作
?* b. 省略“循環(huán)條件”,可能會(huì)造成循環(huán)將一直執(zhí)行下去,也就是我們常說的“死循環(huán)”現(xiàn)象(在編程過程中要避免“死循環(huán)”的出現(xiàn),因此,對(duì)于上面的代碼可以在循環(huán)體中使用 break 強(qiáng)制跳出循環(huán))
?* c. 省略“循環(huán)變量變化”,可以在循環(huán)體中進(jìn)行循環(huán)變量的變化
其中第三點(diǎn)說得很明白了
代碼如下:
int s1=0;
for(i=1;i<=100;i++) {
s1+=i;
}
System.out.println("1到10求和的值s1="+s1);
?
int s2=0;
for(i=1;i<=100;) {
s2+=i;
i++;
}
System.out.println("1到10求和的值s2="+s2);
以上代碼可以直接復(fù)制測(cè)試下哈
2018-07-18
不沖突,int i=1,是定義了一個(gè)int型的i并給它初始化,初始化之后就正常使用了,每一次循環(huán)就i++,而且根據(jù)循環(huán)流程圖也知道它的循環(huán)過程不會(huì)循環(huán)到第一步(也就是 i = 1)