जावा कंपाइलर निम्न स्विच ब्लॉक को कैसे संभालता है? 'बी' चर का दायरा क्या है?जावा स्विच: परिवर्तनीय घोषणा और दायरा
ध्यान दें कि 'बी' चर केवल स्विच स्टेटमेंट की पहली शाखा में घोषित किया जाता है। इसे दूसरी शाखा में घोषित करने का प्रयास करते हुए परिणामस्वरूप "डुप्लिकेट स्थानीय चर" संकलन त्रुटि में परिणाम मिलता है।
int a = 3;
switch(a) {
case 0:
int b = 1;
System.out.println("case 0: b = " + b);
break;
case 1:
// the following line does not compile: b may not have been initialized
// System.out.println("case 1 before: b = " + b);
b = 2;
System.out.println("case 1 after: b = " + b);
break;
default:
b = 7;
System.out.println("default: b = " + b);
}
नोट: उपरोक्त कोड जावा 1.6 कंपाइलर के साथ संकलित करता है।
अपने स्वयं के प्रश्न का उत्तर दें। – darrengorman