簡體   English   中英

if語句中的變量初始化

[英]Variable initialisation in if statment

如果在諸如if(8> 0)之類的其他條件下,為什么不希望編譯

public class StartClass {
public static void main(String[] args) {
    int i;
    boolean b = true;
    if (b) {
        i = 1;
    }
    System.out.println(i);//error
}
}

答案是:

Java不會將初始值賦給在方法內部聲明的變量。

int i在main方法中聲明了int i ,因此沒有默認的初始值...

如果b永遠不會成為真,那​​么永遠不會被初始化,

所以編譯器會抱怨,因為可能發生沒有值的錯誤:您將無法執行System.out.println(i);

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM