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 = 2yapacağı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, intiç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 = 2içinde case 2:söyleyerek başlatıldı olmayabilir yerel değişken değerini .