मेरे पास जावा स्विच के बारे में एक पागल सवाल है।
int key = 2;
switch (key) {
case 1:
int value = 1;
break;
case 2:
value = 2;
System.out.println(value);
break;
default:
break;
}
परिदृश्य 1 - जब key
दो है इसे सफलतापूर्वक के रूप में 2. मूल्य प्रिंट
जब मैं टिप्पणी करने जा रहा हूँ - परिदृश्य 2 value = 2
में case 2:
यह कह squawks स्थानीय चर मूल्य प्रारंभ नहीं किया गया है ।
प्रश्न:
परिदृश्य 1: यदि निष्पादन प्रवाह case 1:
(( key = 2
)) तक नहीं जाता है, तो यह मान चर के प्रकार को कैसे जानता है int
?
परिदृश्य 2: यदि कंपाइलर मान चर के प्रकार को जानता है int
, तो उसे int value = 1;
अभिव्यक्ति में जाना चाहिए case 1:
। (घोषणा और प्रारंभिक)। तो फिर क्यों यह sqawrk जब मैं टिप्पणी करने के लिए जा रहा हूँ करता है value = 2
में case 2:
कहा, स्थानीय चर मूल्य प्रारंभ नहीं किया गया है ।