Java 스위치에 대해 미친 질문이 있습니다.
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로 인쇄합니다.
시나리오 2-주석 value = 2
을 case 2:
달면 The local variable value may be initialized .
질문 :
시나리오 1 : 실행 흐름이 이동하지 않는 경우 case 1:
합니다 (시 key = 2
), 다음 어떻게 같은 값 변수의 유형을 알 수 있습니까 int
?
시나리오 2 : 컴파일러가 값 변수의 유형을으로 알고 있으면 . (선언 및 초기화) int
의 int value = 1;
표현식에 액세스해야합니다 case 1:
. 그럼 왜 그것이 내가 언급을하겠습니다 때 sqawrk 수행 value = 2
의 case 2:
속담, 초기화되지 않았을 수 지역 변수의 값을 .