課程
/后端開發(fā)
/Java
/文件傳輸基礎——Java IO流
為何每執(zhí)行一次循環(huán)i的值便會+1
if(i++ % 10 == 0)這個語句中不應該只是作為判斷用的嗎,比如第一次i=1,第二次再循環(huán)時i不是又變回1了嗎
2017-02-26
源自:文件傳輸基礎——Java IO流 4-1
正在回答
前面不是設定了一個條件嗎?每輸出10個byte就換行,這個if語句就是用來換行的
while((b=in.read())!=-1){?? ??? ??? ?if(b<=0xf)//如果輸出的整形b字節(jié)小于等于4位,就讓它補0,就是讓它剛好占一個字節(jié),便于觀察?? ??? ??? ??? ?System.out.print("0");?? ??? ??? ?System.out.print(Integer.toHexString(b)+" ");//將整形b轉換為十六進制表示的字符串?? ??? ??? ?if(i++%10==0){?? ??? ??? ??? ?System.out.println();?? ??? ??? ?}
在while循環(huán)中,按順序來。一開始i=1;開始循環(huán),輸出一個b并且不換行,然后if語句判斷i,i自增1,這時候i=2了,和10的余數(shù)不為0,所以不用換行,第一次循環(huán)結束。
開始第二次循環(huán),輸出第二個b 并且不換行,在用if語句來判斷i ,這個時候的i已經(jīng)是2了,在上一次的循環(huán)已經(jīng)自增了1,i再次自增1,這個時候i=3了,繼續(xù)和10求余,余不為0,不換行。
當i=10的時候,if語句成立,也就是i和10的余為0了,該換行了。
下一步就是i=11,和10余不為0,不換行。
到i=20的時候,和10的余又0,換行。
你說的i=1;是他在while循環(huán)語句外面賦的初始化值,i是變量。在while循環(huán)中一直在變的
我說的小學生都看的懂了
暮女神 提問者
歷飛雨 回復 暮女神 提問者
慕粉1052051344
這個問題選擇不回答,一直在繞圈
i++的意思是下一次調用到i的時候,i+1。第一次循環(huán)是1,到第二次循環(huán)就變成2,依次+1。
所以每次循環(huán)它的值都改變了。
舉報
為您介紹IO流的使用,以及對象的序列化和反序列化的內容
1 回答關于i的問題
1 回答在讀取16進制數(shù) 0x7fffffff時,buf[i]的值為-1,為什么
5 回答read返回值問題
3 回答為什么這段代碼里面會產(chǎn)生循環(huán)?為什么 b和i的值會變化?
4 回答i = 0xfffffff
Copyright ? 2025 imooc.com All Rights Reserved | 京ICP備12003892號-11 京公網(wǎng)安備11010802030151號
購課補貼聯(lián)系客服咨詢優(yōu)惠詳情
慕課網(wǎng)APP您的移動學習伙伴
掃描二維碼關注慕課網(wǎng)微信公眾號
2017-03-02
前面不是設定了一個條件嗎?每輸出10個byte就換行,這個if語句就是用來換行的
while((b=in.read())!=-1){
?? ??? ??? ?if(b<=0xf)//如果輸出的整形b字節(jié)小于等于4位,就讓它補0,就是讓它剛好占一個字節(jié),便于觀察
?? ??? ??? ??? ?System.out.print("0");
?? ??? ??? ?System.out.print(Integer.toHexString(b)+" ");//將整形b轉換為十六進制表示的字符串
?? ??? ??? ?if(i++%10==0){
?? ??? ??? ??? ?System.out.println();
?? ??? ??? ?}
在while循環(huán)中,按順序來。一開始i=1;開始循環(huán),輸出一個b并且不換行,然后if語句判斷i,i自增1,這時候i=2了,和10的余數(shù)不為0,所以不用換行,第一次循環(huán)結束。
開始第二次循環(huán),輸出第二個b 并且不換行,在用if語句來判斷i ,這個時候的i已經(jīng)是2了,在上一次的循環(huán)已經(jīng)自增了1,i再次自增1,這個時候i=3了,繼續(xù)和10求余,余不為0,不換行。
當i=10的時候,if語句成立,也就是i和10的余為0了,該換行了。
下一步就是i=11,和10余不為0,不換行。
到i=20的時候,和10的余又0,換行。
你說的i=1;是他在while循環(huán)語句外面賦的初始化值,i是變量。在while循環(huán)中一直在變的
我說的小學生都看的懂了
2017-07-29
這個問題選擇不回答,一直在繞圈
2017-02-27
i++的意思是下一次調用到i的時候,i+1。第一次循環(huán)是1,到第二次循環(huán)就變成2,依次+1。
所以每次循環(huán)它的值都改變了。