본문 바로가기

Java

Java 제어문 - 조건문(If, if-else, if-else if, switch)

제어문(control statement)

프로그램의 흐름(Flow)를 바꾸는 역할을 하는 문장

 

  1. 조건문

 

    1) if문

if (조건식) {
  // 조건식이 참(true)일 때 수행될 문장
}

 

     2) if-else문

if (조건식) {
  // 조건식이 참(true)일 때 수행될 문장
} else {
  // 조건식이 거짓(false)일 때 수행될 문장
}

 

    3) if-else if문

if (조건식) {
  // 조건식1이 참(true)일 때 수행될 문장
} else if (조건식2) {
  // 조건식2이 참(true)일 때 수행될 문장
} else if (조건식3) {
  // 조건식3이 참(true)일 때 수행될 문장
} else {
  // 위의 모든 조건식이 만족하지 않을 때 수행될 문장
  // 마지막은 보통 else로 끝나며 else 블록 생략 가능
}

 

    4) switch문

switch (조건식) {
	case 값1 : // 조건식의 결과가 값1과 같을 경우 수행될 문장
    	break;
    case 값2 : // 조건식의 결과가 값2와 같을 경우 수행될 문장
		break;
    case 값3 : // 조건식의 결과가 값3과 같을 경우 수행될 문장
    	break;
    default : // 조건식의 결과와 일치하는 case문이 없을 때 수행될 문장
}

 

   4-1) switch문 제약조건

      a. 조건식 결과는 정수 또는 문자열

      b. case문의 값은 정수 상수(문자 포함), 문자열만 가능(중복 불가)

public static void main(String[] args) { 
    int num, result;
    final int ONE = 1;

    switch(result) {
        case '1': // OK. 문자 리터럴
        case ONE: // OK. 정수 상수, 정수가 아닌 것처럼 보이지만 final이 붙은 정수 상수임
        case "YES": // OK. 문자열 리터럴
    	case "num": // ERROR. 변수 불가 
        case "1.0": // ERROR. 실수 불가
	}
}