[英]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.