목표

자바가 제공하는 제어문을 학습하세요.

학습할 것


선택문(조건문)

Java는 **if/else문(조건문)과 Switch/case문(선택문)**을 제공한다.

if/else 문

if문에 들어가는 조건식이 참인 경우에 if문 내의 블록 코드를 실행한다.

int a = 10;
if(a > 5) {   //조건이 참이므로 코드 실행 
	a += 5;   
}

만약 조건식이 거짓인 경우 else if문이 있다면 else if 문의 조건을, else문이 있다면 else문의 코드를 실행한다.

int a = 5;
if(a > 5) {
	System.out.println("a가 5보다 큰 경우 코드 실행");
}else if(a < 5) {
	System.out.println("a가 5보다 작은 경우 코드 실행");
}else {
	System.out.println("a가 5인경우 코드 실행");
}

또한, if문 내에 다시 if문 사용이 가능하다. 이를 중첩 if문이라 한다.

int a = 8;
if(a > 5) {
	if(a < 10) {
		System.out.println("a가 5보다 크고 10보다 작으면 코드 실행");
	}else{
		System.out.println("a가 10이상이면 코드 실행");
	}
}

switch/case 문

여러개의 if문은 코드의 가독성 및 여러 조건 탐색을 해야하므로 속도가 늦어진다는 단점이있다. switch문은 switch의 매개변수에 맞는 조건에 따라 case문을 실행하여 다중 if문의 단점을 개선한 선택문이다.

각각의 case문에 break 키워드를 사용하지 않으면 switch문을 탈출하지 않으므로 다음 case문도 실행하기 때문에 주의해야한다.


int a = 3;
switch(a){
	case 1 : 
		System.out.println("a가 1이면 코드 실행");
		break;
	case 2 : 
		System.out.println("a가 2이면 코드 실행");
		break;
	case 3 :
		System.out.println("a가 3이면 코드 실행");
		****break;
	default : 
		System.out.println("a가 그 외의 값들인 경우 코드 실행 ");
}

3주차 스터디 마지막에서 다룬 java13 swicth문을 보면 최근 Java 12부터 switch/case문에서 사용할 수 있는 기능이 확장되었다.