課程
/后端開發(fā)
/Java
/Java入門第一季(IDEA工具)升級版
為什么是i<hobbys.length而不是i<=
2018-10-31
源自:Java入門第一季(IDEA工具)升級版 6-5
正在回答
因為數(shù)組的下標是從零開始的,i代表的是下標則應為數(shù)組的個數(shù)減一如:int[]={1,2,3,4,5} 數(shù)組有五個數(shù)則其下標與其相對應為int[0], int[1], int[2], int[3], int[4] ,若你i等于數(shù)組個數(shù)則及其下標到int[5] 而實際上是數(shù)組小標int[5]沒有對應的數(shù)組值則就會報錯數(shù)組越界異常
ArrayIndexOutOfBoundsException:
hobbys.length表示數(shù)組的長度,這個題的數(shù)組有3個,所以hobbys.length的值是3,若i<=3,那么循環(huán)判定成立后執(zhí)行完時i的值為4,此時要輸出hobbys[4],就超出了數(shù)組的范圍,會報錯
Exception?in?thread?"main"?java.lang.ArrayIndexOutOfBoundsException:?3 at?HelloWorld.main(HelloWorld.java:10) 改為i<hobbys.length?或者i<=hobbys.length-1即可
所以如果要寫等號的話,要這樣寫:i<=hobbys.length-1
因為i是從0開始的,如果等于.length,就多了一個值了,越界了
簡單講就比如說有5個箱子,如果i等于<=5,當i=4時,剛好是指針指到第5個箱子,如果i=5,那就是第6個箱子了(因為i是從0開始計算的),但是不存在第6個箱子,就會出錯了。
舉報
0基礎(chǔ)萌新入門第一課,從Java環(huán)境搭建、工具使用、基礎(chǔ)語法開始
5 回答為什么只有這樣才可以的? for(int i=0 i<hobbys.length;i++){ for(String i=0 i<hobbys.length;i++){才可以的???
1 回答for(int i==0; i<hobbys.length; i++){ 這句代碼有什么問題
5 回答為什么i<=hobbys.length時會出現(xiàn)如下結(jié)果
5 回答為什么是i%2 == 1。而不是1%2 != 0
3 回答我想問一下for(i=0;i<hobbys.length;i++)能改成for(i=0;i<3;i++)嗎?
Copyright ? 2025 imooc.com All Rights Reserved | 京ICP備12003892號-11 京公網(wǎng)安備11010802030151號
購課補貼聯(lián)系客服咨詢優(yōu)惠詳情
慕課網(wǎng)APP您的移動學習伙伴
掃描二維碼關(guān)注慕課網(wǎng)微信公眾號
2019-04-17
因為數(shù)組的下標是從零開始的,i代表的是下標則應為數(shù)組的個數(shù)減一如:int[]={1,2,3,4,5} 數(shù)組有五個數(shù)則其下標與其相對應為int[0], int[1], int[2], int[3], int[4] ,若你i等于數(shù)組個數(shù)則及其下標到int[5] 而實際上是數(shù)組小標int[5]沒有對應的數(shù)組值則就會報錯數(shù)組越界異常
2018-11-01
hobbys.length表示數(shù)組的長度,這個題的數(shù)組有3個,所以hobbys.length的值是3,若i<=3,那么循環(huán)判定成立后執(zhí)行完時i的值為4,此時要輸出hobbys[4],就超出了數(shù)組的范圍,會報錯
2018-11-01
所以如果要寫等號的話,要這樣寫:i<=hobbys.length-1
2018-11-01
因為i是從0開始的,如果等于.length,就多了一個值了,越界了
簡單講就比如說有5個箱子,如果i等于<=5,當i=4時,剛好是指針指到第5個箱子,如果i=5,那就是第6個箱子了(因為i是從0開始計算的),但是不存在第6個箱子,就會出錯了。