반응형
< JAVA의 switch 문 >
# 이전 게시글에서 작성한 if-else 문과 switch 문을 비교하고, switch 문 사용 시 주의해야 할 점에 대해서 정리해 보았다.
- Switch 라는 프로젝트를 생성하여 src 내에 Switch 한개의 클래스를 생성하여 작성
# 코드 작성
public class Switch {
public static void main(String[] args) {
// TODO Auto-generated method stub
int a = 2;
// a 가 1이면, 헬로우 출력
// a 가 2이면, Bye 출력
// a 가 3이면, Good 출력
// 다 아니면, end 출력
if(a == 1) {
System.out.println("Hello");
}else if (a == 2) {
System.out.println("Bye");
}else if (a == 3) {
System.out.println("Good");
}else {
System.out.println("end");
}
System.out.println("----------------");
// 조건문은 정확하게 Bye 만 출력하는데 switch case 문은 세개나 출력됨
// 이게 에러가 많이 나는 이유인데 switch 문은 True 가 되면 그 case 뒤로 다 실행시켜버림
// 그래서 break 를 붙여줘야함
switch(a) {
case 1:
System.out.println("Hello");
break;
case 2:
System.out.println("Bye");
break;
case 3:
System.out.println("Good");
break;
default :
System.out.println("end");
}
}
}
# if-else 문과 switch 문의 차이점
- 위 코드에서 a가 2일 때, if-else 문과 switch 문은 다음과 같은 동작을 한다 :
- if-else 문: a가 2일 경우, "Bye"가 출력된다. 조건을 하나씩 검사하며, 맞는 조건을 만나면 해당 블록을 실행하고 나머지는 무시
- switch 문: a가 2일 경우, "Bye"가 출력된다. 여기서 중요한 점은 각 case 블록 뒤에 break 문을 넣어줘야 한다는 것이다. break 문이 없으면 그 다음 case 블록들도 모두 실행됩니다. 예를 들어, case 2 뒤에 break가 없다면 "Bye" 다음에 "Good"과 "end"까지 출력됨.
# switch 문 사용 시 주의할 점
- switch 문을 사용할 때는 반드시 break 문을 사용하여 각 블록의 끝을 명확히 해주어야 한다.
- break 문이 없으면, 조건이 맞는 case를 찾은 후에도 그 다음 case 블록들을 모두 실행하게 된다.
- 초보 프로그래머들이 실수하는 부분이니 주의할것!!
# 결론
- if-else 문과 switch 문은 각각 장단점이 있다. 조건이 많지 않다면 if-else 문을 사용하는 것이 더 직관적일 수 있지만, 조건이 많아지면 switch 문을 사용하여 코드의 가독성을 높일 수 있다.
- 다만, switch 문을 사용할 때는 break 문을 꼭 잊지 말아야 한다는 점을 유의
다음 게시글로 계속~!
728x90
반응형
'JAVA > JAVA 기초' 카테고리의 다른 글
JAVA : 배열 (Array) (2) | 2024.06.03 |
---|---|
JAVA : 반복문 (Loop) (2) | 2024.06.03 |
JAVA : 조건문 (0) | 2024.05.31 |
JAVA : 연산하기 (자주 발생하는 에러 상황) (0) | 2024.05.31 |
JAVA : 변수와 객체의 선언 (데이터 타입) (0) | 2024.05.31 |