Java anahtarları hakkında çılgın bir sorum var.
int key = 2;
switch (key) {
case 1:
int value = 1;
break;
case 2:
value = 2;
System.out.println(value);
break;
default:
break;
}
Senaryo 1 - key
İki olduğunda, değeri başarılı bir şekilde
2 olarak yazdırır.
Senaryo 2 - Yorum value = 2
yapacağım case 2:
zaman, yerel değişken değeri başlatılmamış olabilir diye ciyaklıyor .
Sorular:
Senaryo 1: Yürütme akışı case 1:
(ne zaman key = 2
) 'a gitmezse, değer değişkeninin türünü nasıl bilir int
?
Senaryo 2: Derleyici değer değişkeninin türünü olarak biliyorsa, int
içindeki int value = 1;
ifadeye erişmiş olmalıdır case 1:
. (Beyan ve Başlatma). O zaman neden ben yorum yapmak için gidiyorum zaman sqawrk yapar value = 2
içinde case 2:
söyleyerek başlatıldı olmayabilir yerel değişken değerini .