본문 바로가기

Java/Java 기초

[Java] Switch 구문

<3> switch문 
 - if문과 유사하게 조건에 따라 실행되는 실행문을 여럿 두어 그 중 하나를 실행함. 
 - 단, if문과 다르게 조건을 직접 입력하지 않고 비교값을 두어 비교 후 작업 
  비교값은 정수만 가능(실수도 불가능), jdk 1.7부터는 문자열도 가능. 
 - 문법

더보기

 switch (비교대상) {
 case 비교값1 :
실행문1;
break;
 case 비교값2 :
  실행문2;
break;
...
 case 비교값n :
  실행문n;
break;
 default :
실행문;
 }

- default문은 if문의 else문과 같이 모든 조건이 안 맞을 때 동작합니다. 
 - 비교값에는 조건이 아닌 실제 비교할 값이 들어가야 합니다. 
 - break는 입력하지 않아도 오류가 발생하진 않지만, 실행문을 걸린 case부터 밑으로 모두 실행시키는 것을 막아줍니다. 
 - case를 옆으로 나열하면 각 조건이 or로 묶여서 동작합니다. 
  case 1: case 2: case3: // 비교값이 1이거나 2이거나 3이면

 

class SwitchEx 
{
	public static void main(String[] args) 
	{
		int n = 2;
		switch (n)
		{
		case 1:
			System.out.println("n의 값은 1");
			break;
		case 2:
			System.out.println("n의 값은 2");
			break;
		case 3:
			System.out.println("n의 값은 3");
			break;
		case 4:
			System.out.println("n의 값은 4");
			break;
		default:
			System.out.println("n의 값을 알 수 없습니다.");
		}

		/*
		다음의 if문을 switch문으로 변경
		*/
		// if문
		n = 24;
		if (n >= 0 && n < 10)
		{
			System.out.println("예제1 : 0이상 10미만의 수");
		}
		else if (n >= 10 && n < 20)
		{
			System.out.println("예제1 : 10이상 20미만의 수");
		}
		else if (n >= 20 && n < 30)
		{
			System.out.println("예제1 : 20이상 30미만의 수");
		}
		else{
			System.out.println("예제1 : 음수 혹은 30이상의 수");
		}

		//switch문
		int quota;
		quota = n/10;

		switch (quota)
		{
		case 0:
			System.out.println("예제2 : 0이상 10미만의 수");
			break;
		case 1:
			System.out.println("예제2 : 10이상 20미만의 수");
			break;
		case 2:
			System.out.println("예제2 : 20이상 30미만의 수");
			break;
		default:
			System.out.println("예제2 : 음수 혹은 30이상의 수");
		}

		int quota1;
		quota1 = (n-1)/10;

		switch (quota1)
		{
		case 0:
			System.out.println("예제3 : 1이상 10이하의 수");
			break;
		case 1:
			System.out.println("예제3 : 11이상 20이하의 수");
			break;
		case 2:
			System.out.println("예제3 : 21이상 30이하의 수");
			break;
		default:
			System.out.println("예제3 : 음수 혹은 30초과의 수");
		}
		
	}
}
728x90
반응형

'Java > Java 기초' 카테고리의 다른 글

[Java] for문  (0) 2020.06.24
[Java] While문 Do-While문 차이  (0) 2020.06.24
[Java] 조건 연산자 If문을 간단하게 사용하기  (0) 2020.06.23
[Java] If문  (0) 2020.06.23
[Java] 증감 연산자 적용 순서 알아보기  (0) 2020.06.23