Java compiler ไม่อนุญาตให้ทิ้ง local variable ไว้ uninitialized เมื่อ initialize ภายใน conditional block มี 3 กรณี:
- Compile สำเร็จ หากให้ค่าใน conditional block และเงื่อนไขเป็น true
- Compile error หากให้ variable (ไม่ใช่ค่า) ใน conditional block และเงื่อนไขเป็น true
- Compile error หากเงื่อนไขเป็น false
หาก initialize ค่า default นอก conditional block จะไม่ error และ compile สำเร็จ
ตัวอย่าง
public class Demo {
public static void main(String args[]) {
int i = 35;
int j = 0;
if (i > 32) {
j = i + 11;
}
System.out.println("The value is: " + j);
}
}
ผลลัพธ์
The value is: 46
คลาส Demo มี main กำหนด i=35, j=0 ถ้า i>32 ให้ j = i+11 (46) แล้วพิมพ์ j คอมไพล์สำเร็จเพราะ j มีค่า default 0 ไว้ก่อน