문법(Statements) - 조건문

if, else, else-if

조건(condition)을 테스트 해서 참이면 if 문을 거짓이면 else 문을 수행한다.

/* if 문 단독 사용의 예 */

if ( 조건 ) {
    //조건이 참일 때 실행되는 영역

}
/* if 문과 else 사용의 예 */
if ( 조건 ) {
    //조건이 참일 때 실행되는 영역

} else {
    //조건이 거짓일 때 실행되는 영역
}

"돈이 있으면 택시를 타고 돈이 없으면 걸어간다."

boolean enoughMoney = true;

if (enoughMoney) {
    System.out.println("택시를 타고 가라");
else () {
    System.out.println("걸어 가라");
}

다중 조건을 판단해야 할때는 else if 를 사용할 수 있다.
else if 는 갯수에 상관없이 사용할 수 있으나 조건문 1, 2, 3 을 명확하게 설정하지 않으면 예상치 못한 결과가 나올 수 있다.

/* if 문 다중 사용의 예 */
if ( 조건1 ) {
    //조건1이 참일 때 실행되는 영역

} else if ( 조건2 ) {
    //조건2가 참일 때 실행되는 영역

} else if ( 조건3 ) {
    //조건3이 참일 때 실행되는 영역

} else {
    //조건1, 조건2가 모두 거짓일 때 실행되는 영역

}

대부분의 조건문에는 비교연산자(<, >, <=, >=, ==, !=) 를 사용한다.
두 세개의 조건을 복합적으로 판단할 필요가 있을때는 && 나 || 연산자를 사용할 수도 있다.

"5000천원이 있거나 카드가 있으면 택시를 타고, 700원이 있으면 버스를 탄다. 아니면 걸어간다." 를 프로그램으로 표현해보자

long money = 500;
boolean hasCard = false;

if (money >= 5000 || hasCard) {
    System.out.println("택시를 탄다");
} else if (money >= 700) {
    System.out.println("버스를 탄다");
} else {
    System.out.println("걸어 간다");
}

switch/case

switch/case 문 역시 if 문과 함께 조건문에 해당하지만 좀 더 정형화된 모슴을 가진다.
case 문 마다 break 를 두어 switch 문을 빠져나가지 않으면 이후 내용이 함께 실행되므로 주의 해야 한다.

int month = 6;
String monthStr = "";

switch(month) {
    case 1:
        //month 가 1일때 실행되는 영역
        monthStr = "January";
        break;
    case 2: 
        //month 가 2일때 실행되는 영역
        monthStr = "February";
        break;
    case 3:
        monthStr = "March";
        break;
    case 4:
        monthStr = "April";
        break;
    case 5:
        monthStr = "May";
        break;
    case 6:
        monthStr = "June";
        break;
    case 7:
        monthStr = "July";
        break;
    case 8:
        monthStr = "August";
        break;
    case 9:
        monthStr = "September";
        break;
    case 10:
        monthStr = "October";
        break;
    case 11:
        monthStr = "November";
        break;
    case 12:
        monthStr = "December";
        break;
    default:
        monthStr = "올바르지 않다";
        break;
}

System.out.println(month);        // 6
System.out.println(monthStr);     // June

results matching ""

    No results matching ""