Java/JAVA 100 문제 풀이

자바 part.2 문제풀이 - if, switch 조건문

진이최고다 2023. 6. 13. 18:49

if 조건문 

자바의 'if'조건문은 코드의 흐름을 제어하는 구문이다. 'if'문은 특정 조건을 검사하고, 이 조건이 참인 경우에만 특정 코드 블록을 실행하도록 한다.

 

기본적인 형태는 아래와 같다.
if (condition) {
    // 코드
}

'condition' 부분에는 boolean 값(즉, 참 또는 거짓)을 결과로 하는 어떤 표현식도 들어갈 수 있다. 조건이 참(true)일 경우에만 중괄호 {} 내부에 있는 코드가 실행된다.

 

int age = 20;

if (age > 18) {
    System.out.println("성인입니다.");
}

위의 코드에서는 'age > 18 ' 조건이 참이므로, "성인입니다." 라는 메시지가 출력된다.

 

또한, 'if'문은 'else'나 'else if'와 함께 사용할 수 있다. 이를 통해 여러 개의 조건을 검사하고, 조건에 따라 다른 코드 블록을 실행할 수 있다.
int score = 85;

if (score >= 90) {
    System.out.println("A등급입니다.");
} else if (score >= 80) {
    System.out.println("B등급입니다.");
} else {
    System.out.println("C등급입니다.");
}

위 코드에서 'score'의 값에 따라 조건에 따른 메시지가 출력된다. 


중첩 if 조건문

if 조건문을 중첩하여 사용할 수 있다. 중첩 if문은 한 조건문 내부에 다른 조건문을 포함하는 것을 말한다. 이를 통해 좀 더 복잡한 조건을 체크하고 제어할 수 있다.

 

중첩 if문의 기본적인 형태는 아래와 같다.
if (condition1) {
    // 코드
    if (condition2) {
        // 코드
    }
}

'condition1' 이 참일 경우에만 내부의 코드가 실행된다. 그리고 그 내부의 코드중 

'condition2' 가 참인 경우에만 중첩된 if문 내부의 코드가 실행된다.

 

int age = 20;
boolean isStudent = true;

if (age > 18) {
    if (isStudent) {
        System.out.println("대학생입니다.");
    } else {
        System.out.println("성인입니다.");
    }
} else {
    System.out.println("미성년자입니다.");
}

위 코드에서 먼저 'age > 18' 인지 조건을 확인한다. 이 조건이 참이면, 그 다음으로 'isStudent'의 값을 확인한다. 'isStudent'가 참이면, "대학생입니다."를 출력하고, 거짓이면 "성인입니다."를 출력한다. 

'age < 18' 조건이 거짓이면, "미성년자입니다."를 출력한다.

 

중첩 if문은 복잡한 로직을 다룰때 유용하지만, 사용이 과도해지면 코드의 가독성을 해칠 수 있으므로 적절히 사용해야한다. 때로는 'switch' 문이나 'else if' 를 사용하는 것이 더 효율적일 수 있다.

switch 조건문 

자바의 'swich' 문은 한 변수의 값을 검사하여, 해당 값에 따라 다른 코드를 블록을 실행한다. 'if-else'문을 대체할 수 있는 좋은 방법이며, 특히 검사해야 하는 조건이 여러 개일 때 유용하다.

 

switch문의 기본적인 형태는 아래와 같다.
switch (variable) {
    case value1:
        // 코드
        break;
    case value2:
        // 코드
        break;
    default:
        // 코드
}

'switch'문은 괄호 안의 'variable'을 평가하고, 그 값에 따라 적절한 'case'블록을 실행한다. 'break'문은 현재 'case'블록의 실행을 종료하고, 'swich'문을 빠져나오는데 사용된다. 'default'는 'variable'값이 어느 'case'에도 해당하지 않을 때 실행되는 블록이다.

 

int day = 3;

switch (day) {
    case 1:
        System.out.println("월요일");
        break;
    case 2:
        System.out.println("화요일");
        break;
    case 3:
        System.out.println("수요일");
        break;
    case 4:
        System.out.println("목요일");
        break;
    case 5:
        System.out.println("금요일");
        break;
    case 6:
        System.out.println("토요일");
        break;
    case 7:
        System.out.println("일요일");
        break;
    default:
        System.out.println("잘못된 입력입니다.");
}

이 코드는 'day' 변수의 값에 따라 요일을 출력한다. 만약 'day'가 3이면, "수요일"이 출력된다. 'day'의 값이 1부터 7까지 범위를 벗어나면, 'default' 블록이 실행되어 "잘못된 입력입니다." 가 출력된다.

 

자바 7부터는 'swich'문에서 문자열을 변수로 사용할 수 있게되었다. 이전 버전에서는 오직 byte, short, char, int형태의 값만 변수로 사용할수 있었다.

 

 

인프런 - 예제로 공부하는 java 100 문제풀이.part.2