Saya punya pertanyaan gila tentang sakelar Java.
int key = 2;
switch (key) {
case 1:
int value = 1;
break;
case 2:
value = 2;
System.out.println(value);
break;
default:
break;
}
Skenario 1 - Ketika key
keduanya berhasil mencetak nilai sebagai 2.
Skenario 2 - Ketika saya akan berkomentar value = 2
di case 2:
dalamnya bertengkar mengatakan nilai variabel lokal mungkin belum diinisialisasi .
Pertanyaan:
Skenario 1: Jika aliran eksekusi tidak berjalan ke case 1:
(ketika key = 2
), lalu bagaimana cara mengetahui jenis variabel nilai int
?
Skenario 2: Jika kompilator mengetahui tipe variabel nilai sebagai int
, maka ia harus mengakses int value = 1;
ekspresi in case 1:
. (Deklarasi dan Inisialisasi). Lalu mengapa hal itu sqawrk Ketika aku akan berkomentar value = 2
di case 2:
, mengatakan nilai variabel lokal mungkin tidak telah diinisialisasi .