[Java] 자바의 조건문 if ~ else, switch case

2024. 10. 4. 01:38Java

자바의 대표적인 조건문 두 가지 if 와 switch.

조건에 따라 if 또는 switch를 적절히 사용해주어야 한다.

어느 상황에서 어느 조건문을 사용해야 하는지 알아보자.

 


 

1. if-else 문

  • 다양한 조건 처리 가능 : 범위나 논리 연산이 필요할 때 유용.
  • 유연성 : 복잡한 조건 처리에 적합.

2. switch 문

  • 정확한 값 비교:  정수나 문자열과 같은 단일 값을 비교할 때 적합.
  • 가독성 : 여러 값 중 하나를 처리할 때 코드가 깔끔해짐.

 

Quiz1 최소값 찾기

if 를 이용하여 간단한 조건을 판별한 후에 그에 맞는 결과 처리 해보기 

public class Ex01 {

  public static void main(String[] args) {

	int n1 = 20, n2 = 10, n3 = 3;
		
	int min = n1;
		
	if (min > n2) min = n2;
    	if (min > n3) min = n3;
	System.out.println("최소값 : " +  min);
	System.out.println();
		
		
//	2) 절대값 구하기
	int num = -5, abso;
		
	if (num < 0) {
		abso = -num;
	}
	else {
		abso = num;
	}
	System.out.printf("%d의 절대값은 %d\n\n", num, abso);
  }

}

 

Quiz2 num 변수의 값에 따라서 다르게 출력해보기

if 와 switch 를 둘다 사용해보고 차이를 느껴보자

public class Ex02 {
  public static void main(String[] args) {
		
	int num = 1;
		
		
//	if의 조건이 모두 특정 변수와 연관, 값의 범위가 아닌 특정 값의 일치여부
		
	if 	(num == 1) 	System.out.println("one");
	else if (num == 2) 		System.out.println("two");
	else if (num == 3)		System.out.println("three");
	else				System.out.println("other");
		
	System.out.println();
		
		
        
//	switch	~  case :	특정 변수의 값에 따라 서로 다른 코드 실행

	switch(num) {
		case 1: System.out.println("one");		break;
		case 2: System.out.println("two");		break;
		case 3: System.out.println("three");		break;
		default: System.out.println("other");	//	break;
	}

  }
}

 


 

일반적으로 더 많은 조건에 대한 처리할 수 있는 것은 if 이다.

switch 는 실수를 이용하여 조건을 걸 수 없기 때문이다.

 

대신에, 제한적인 상황에서 if 대신 사용할 수 있다.

예를 들어 위의 문제처럼 간단히 1,2,3,4 ... 등의 정수로만 조건을 걸어준다면

switch 가 더 수월하다.

 

조건이 명확하면서도 조건의 수가 적다면 switch 를 사용하고

좀 더 복잡한 조건이라면 if를 사용하자.