JAVA/JAVA 기초

JAVA : switch 문

신강희 2024. 6. 3. 23:17
728x90

< 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 문을 꼭 잊지 말아야 한다는 점을 유의

 

다음 게시글로 계속~!

 

반응형

'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