Switch문은 보통 아래처럼 케이스에는 중괄호를 딱히 해주지 않아도 된다.
switch("변수") {
case "조건" :
break;
case "조건" :
break;
default :
}
그러나 Switch문에서 해당 케이스에만 사용할 지역 변수를 선언할 때는 꼭 중괄호 {}를 해주어야 오류가 나지 않는다!
switch(name){
case "ggumi" : {
int ggumiAge; //이 케이스 안에서만 사용할 지역변수 (중괄호 없이 사용하면 에러)
}
case "mochi" : {
}
default :
}
참고로 Switch문의 모든 케이스에서 사용하는 변수는 아래 코드와 같이 switch문 안에 선언하고 사용하려고 했는데, 마지막 케이스에서만 인식이 안 되는 오류가 발생했다. (뭐지 ?)
컴파일러가 범위를 명확하게 인식하지 못 하는 듯하다.
switch(name){
int age; //switch문의 모든 케이스에서 사용할 지역변수
case "ggumi" : {
age =20;
}
case "mochi" : {
age = 22;
}
case "dangi" : {
age = 5; //여기서만 age변수가 인식이 안 되는 에러가 남.
}
default :
}
결론
- Switch문의 모든 케이스에서 사용할 변수는 그냥 Switch문 밖에서 전역변수로 선언해주자.
- Switch문의 한 케이스에서만 사용할 지역변수를 선언할 땐 중괄호를 꼭 해주자.
'개발 > Java' 카테고리의 다른 글
[Java] 클래스는 설계도다 (0) | 2024.04.23 |
---|---|
[Java] 길이와 관련된 함수들 (length, length(), size()) (0) | 2024.04.23 |
[Java] do while과 비슷한 기능을 하는 로직 (0) | 2024.04.23 |
[Java] 컬렉션 (0) | 2024.04.22 |
[Java] 배열 / 얕은 복사 / 깊은 복사 / 다차원 배열 (0) | 2024.04.22 |