i的值的問(wèn)題
為何每執(zhí)行一次循環(huán)i的值便會(huì)+1
if(i++ % 10 == 0)這個(gè)語(yǔ)句中不應(yīng)該只是作為判斷用的嗎,比如第一次i=1,第二次再循環(huán)時(shí)i不是又變回1了嗎
為何每執(zhí)行一次循環(huán)i的值便會(huì)+1
if(i++ % 10 == 0)這個(gè)語(yǔ)句中不應(yīng)該只是作為判斷用的嗎,比如第一次i=1,第二次再循環(huán)時(shí)i不是又變回1了嗎
2017-02-26
舉報(bào)
2017-03-02
前面不是設(shè)定了一個(gè)條件嗎?每輸出10個(gè)byte就換行,這個(gè)if語(yǔ)句就是用來(lái)?yè)Q行的
while((b=in.read())!=-1){
?? ??? ??? ?if(b<=0xf)//如果輸出的整形b字節(jié)小于等于4位,就讓它補(bǔ)0,就是讓它剛好占一個(gè)字節(jié),便于觀察
?? ??? ??? ??? ?System.out.print("0");
?? ??? ??? ?System.out.print(Integer.toHexString(b)+" ");//將整形b轉(zhuǎn)換為十六進(jìn)制表示的字符串
?? ??? ??? ?if(i++%10==0){
?? ??? ??? ??? ?System.out.println();
?? ??? ??? ?}
在while循環(huán)中,按順序來(lái)。一開(kāi)始i=1;開(kāi)始循環(huán),輸出一個(gè)b并且不換行,然后if語(yǔ)句判斷i,i自增1,這時(shí)候i=2了,和10的余數(shù)不為0,所以不用換行,第一次循環(huán)結(jié)束。
開(kāi)始第二次循環(huán),輸出第二個(gè)b 并且不換行,在用if語(yǔ)句來(lái)判斷i ,這個(gè)時(shí)候的i已經(jīng)是2了,在上一次的循環(huán)已經(jīng)自增了1,i再次自增1,這個(gè)時(shí)候i=3了,繼續(xù)和10求余,余不為0,不換行。
當(dāng)i=10的時(shí)候,if語(yǔ)句成立,也就是i和10的余為0了,該換行了。
下一步就是i=11,和10余不為0,不換行。
到i=20的時(shí)候,和10的余又0,換行。
你說(shuō)的i=1;是他在while循環(huán)語(yǔ)句外面賦的初始化值,i是變量。在while循環(huán)中一直在變的
我說(shuō)的小學(xué)生都看的懂了
2017-07-29
這個(gè)問(wèn)題選擇不回答,一直在繞圈
2017-02-27
i++的意思是下一次調(diào)用到i的時(shí)候,i+1。第一次循環(huán)是1,到第二次循環(huán)就變成2,依次+1。
所以每次循環(huán)它的值都改變了。