today_is

[ control ] if ~ else , switch case 본문

java

[ control ] if ~ else , switch case

ye_rang 2023. 11. 17. 12:46

오늘의 목표 >> 

조건에 따라 다른 처리를 해야할 때가 있다.

조건을 걸 수 있는 if 와 switch 에 대해서 배워보자 !

 

 


 

Quiz 1 >    최소값 찾기

 

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);
  }

}

 

 

 

Quiz 2 >   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;
	}

  }
}

 

  • switch ~ case 
  1.  if에 비해서 가독성이 좋다
  2.  일대일 대칭관계 나타내기 용이
  3.   switch 에는 정확한 값의 일치 비교가 가능한 형태로 변수가 와야한다
      즉, 근사치를 표현하는 실수는 불가능 !!
  4.   switch 에 변수를 포함하는 연산식도 가능하다  

study_review >>

 

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

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

 

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

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

switch 가 더 수월하다.

 

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

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