在线观看不卡亚洲电影_亚洲妓女99综合网_91青青青亚洲娱乐在线观看_日韩无码高清综合久久

鍍金池/ 問答/Java/ java靜態(tài)初始化問題

java靜態(tài)初始化問題

public static void main(String[] argv) {

    int i, j=3;
    Scanner input = new Scanner(System.in);
    i = input.nextInt();
    int[] arr = new int[]{i,j};
    System.out.println(arr[0]+" "+arr[1]);

}
以上程序在編譯的時(shí)候讀到int[]{i,j}時(shí)不應(yīng)該就把a(bǔ)rr[]的值初始化好了嗎?應(yīng)該因?yàn)閕未初始化而無法通過編譯啊,為什么還能通過編譯,并輸出正確的值?難道int[] arr = new int[]{i,j};也是動(dòng)態(tài)初始化?

回答
編輯回答
吢涼

Java語言規(guī)范了解一下:

In the Java programming language, arrays are objects, are dynamically created(動(dòng)態(tài)創(chuàng)建的), and may be assigned to variables of type Object. All methods of class Object may be invoked on an array.
2018年1月23日 14:33
編輯回答
維他命

i = input.nextInt();
這一句不就相當(dāng)于進(jìn)行初始化么?
如果沒有這一句肯定報(bào)初始化異常,有了這一句也就意味著 i 的值在編譯時(shí)是不能確定的。

2017年7月5日 07:19
編輯回答
冷眸

i 是個(gè)局部變量

2017年11月7日 14:34