課程
/后端開發(fā)
/Java
/Java入門第二季 升級版
為什么執(zhí)行結(jié)果顯示num1,num2,num3值為0?
2019-03-14
源自:Java入門第二季 升級版 8-10
正在回答
你不加int來賦值就是給成員變量(全局變量)賦值,在main里用到該變量時就輸出你賦的值;如果你加了int就相當于你在那個方法里又定義了一個局部變量(和全局變量同名,同類型),并且賦了值,這時局部變量有值了,但全局變量還沒賦值,還是默認為0,這時main輸出的肯定是那個沒賦值的全局變量,就輸出默認值0
int num1=91;//是包括了定義一個變量并賦值兩步
首先是成員變量,還是局部變量,不同變量作用域中,默認值和主動賦值作用域也不一樣!
因為你這樣操作只在方法內(nèi)部可以使用該變量,在最后的main方法中輸出時使用的是全局變量,即一開始你所設(shè)定的變量,系統(tǒng)自動賦初值為0,所以你輸出的都是0。
舉報
課程升級!以終為始告別枯燥,在開發(fā)和重構(gòu)中體會Java面向?qū)ο缶幊痰膴W妙
2 回答The constructor Student(int, String, int, int, int, String) is undefined
2 回答為什么有的在調(diào)用方法時不用加int?這里要加?
3 回答為什么類的加載過程會是靜態(tài)變量num3在最前面?
1 回答int newScore = mi.getScore();
2 回答public static int num=10;&static public int num=10;
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-05-07
你不加int來賦值就是給成員變量(全局變量)賦值,在main里用到該變量時就輸出你賦的值;如果你加了int就相當于你在那個方法里又定義了一個局部變量(和全局變量同名,同類型),并且賦了值,這時局部變量有值了,但全局變量還沒賦值,還是默認為0,這時main輸出的肯定是那個沒賦值的全局變量,就輸出默認值0
int num1=91;//是包括了定義一個變量并賦值兩步
2019-05-06
首先是成員變量,還是局部變量,不同變量作用域中,默認值和主動賦值作用域也不一樣!
2019-05-06
因為你這樣操作只在方法內(nèi)部可以使用該變量,在最后的main方法中輸出時使用的是全局變量,即一開始你所設(shè)定的變量,系統(tǒng)自動賦初值為0,所以你輸出的都是0。