자바 조건문: if-else 구조의 이해

프로그래밍에서 조건문은 매우 중요한 역할을 수행합니다. 자바에서도 조건문은 특정 상황에 따라 다양한 작업을 수행할 수 있도록 도와줍니다. 그중에서 가장 기본이 되는 것이 바로 if-else 문입니다. 이번 포스팅에서는 if-else 문에 대해 자세히 알아보도록 하겠습니다.

1. if 문 기본 구조

if 문은 주어진 조건식이 참일 경우에 특정 코드 블록을 실행하는 구조로 되어 있습니다. 즉, 조건문이 true로 평가되면 if 문 안의 코드가 실행되며, 거짓인 경우에는 아무런 동작도 하지 않습니다.

if (조건식) {
  // 조건식이 참일 때 실행되는 코드
}

예를 들어, 사용자로부터 나이를 입력받아 성인인지 여부를 판단할 수 있는 간단한 예제를 구현할 수 있습니다. 아래와 같은 코드로 나이가 18세 이상인 경우에 ‘성인입니다’라는 메시지를 출력할 수 있습니다.

int age = 20; // 나이 변수 선언
if (age >= 18) {
  System.out.println("성인입니다.");
}

이 코드에서는 나이가 18세 이상인 경우에만 ‘성인입니다’라는 메시지가 출력됩니다. 나이가 18세 미만일 경우에는 아무런 출력도 하지 않습니다.

2. if-else 문으로 확장하기

if 문은 단일 조건만 평가할 수 있기 때문에, 여러 조건을 처리할 필요가 있을 때는 else 문을 추가하여 활용할 수 있습니다. else 문은 if 문의 조건이 false일 때 실행되는 코드 블록을 나타냅니다. 아래는 if-else 구조의 기본 양식입니다.

if (조건식) {
  // 조건식이 참일 때 실행되는 코드
} else {
  // 조건식이 거짓일 때 실행되는 코드
}

예를 들어, 나이에 따라 성인과 미성년자를 구분하는 코드는 다음과 같이 작성할 수 있습니다.

int age = 15; // 나이 변수 선언
if (age >= 18) {
  System.out.println("성인입니다.");
} else {
  System.out.println("미성년자입니다.");
}

위 예제에서는 나이가 18세 이상인 경우 ‘성인입니다’라는 메시지를 출력하고, 그렇지 않으면 ‘미성년자입니다’라는 메시지를 출력하게 됩니다.

3. 다중 조건 처리: if-else if 문

if-else 문 구조는 여러 조건을 처리하는 데 유용하지만, 조건이 복잡할수록 코드는 더욱 엉성해질 수 있습니다. 이런 경우에는 else if 문을 활용하여 다양한 조건을 제어할 수 있습니다.

if (조건식1) {
  // 조건식1이 참일 때 실행되는 코드
} else if (조건식2) {
  // 조건식2가 참일 때 실행되는 코드
} else {
  // 모든 조건이 거짓일 때 실행되는 코드
}

다음은 학생의 점수에 따라 학점을 출력하는 예제입니다.

int score = 85; // 점수 변수 선언
if (score >= 90) {
  System.out.println("A 학점");
} else if (score >= 80) {
  System.out.println("B 학점");
} else if (score >= 70) {
  System.out.println("C 학점");
} else {
  System.out.println("F 학점");
}

위의 코드에서는 점수를 기준으로 학점을 출력합니다. 점수가 90 이상일 경우 A 학점, 80 이상일 경우 B 학점, 70 이상일 경우 C 학점을 출력하고, 그보다 낮은 점수는 F 학점으로 처리됩니다.

4. 조건부 연산자(삼항 연산자)

자바에서는 간단한 if-else 문을 좀 더 간결하게 작성할 수 있는 조건부 연산자인 삼항 연산자를 사용할 수 있습니다. 삼항 연산자는 다음과 같은 형식을 가지고 있습니다.

조건식 ? 참일 경우 실행되는 코드 : 거짓일 경우 실행되는 코드;

예를 들어, 사용자의 나이에 따라 메시지를 출력하는 코드도 삼항 연산자를 활용하여 간단히 표현할 수 있습니다.

int age = 20;
String message = (age >= 18) ? "성인입니다." : "미성년자입니다.";
System.out.println(message);

이 코드는 사용자의 나이에 따라서 한 줄로 성인인지 미성년자인지를 판단하여 메시지를 출력합니다. 이처럼 삼항 연산자는 간단한 조건에 매우 유용하게 활용될 수 있습니다.

5. switch 문으로 조건 처리하기

switch 문은 다중 조건을 보다 효율적으로 처리할 수 있는 방법 중 하나입니다. 주어진 표현식의 결과에 따라 여러 case 문 중 하나를 선택하여 실행할 수 있는 구조입니다. switch 문의 기본 구조는 다음과 같습니다.

switch (표현식) {
  case 값1:
    // 값1과 일치할 때 실행되는 코드
    break;
  case 값2:
    // 값2와 일치할 때 실행되는 코드
    break;
  default:
    // 모든 case에 해당하지 않을 때 실행되는 코드
}

아래는 요일에 따라 메시지를 출력하는 예제입니다.

int day = 3; // 요일 변수 선언
switch (day) {
  case 1:
    System.out.println("월요일");
    break;
  case 2:
    System.out.println("화요일");
    break;
  case 3:
    System.out.println("수요일");
    break;
  default:
    System.out.println("주말");
}

이 코드에서는 day의 값이 1일 때 ‘월요일’, 2일 때 ‘화요일’, 3일 때 ‘수요일’을 출력하고, 그 밖의 경우에는 ‘주말’이라는 메시지를 반환합니다.

결론

자바에서 조건문은 프로그램의 흐름을 제어하는 데 필수적입니다. if, else, else if, switch 문을 통해 다양한 상황에 따라 다르게 행동하도록 코드를 작성할 수 있습니다. 이러한 조건문을 적절히 사용함으로써 더 효율적인 코드를 작성할 수 있습니다. 각 문법을 잘 이해하고 활용하여 자바 프로그래밍의 기초를 단단히 다져보시길 바랍니다.

자주 묻는 질문과 답변

자바의 if 문은 어떤 구조로 되어 있나요?

if 문은 주어진 조건이 참일 경우 실행되는 코드 블록으로 구성됩니다. 조건이 참이면 해당 코드가 실행되지만, 거짓일 경우에는 아무런 동작이 없습니다.

if-else 문은 어떻게 사용하나요?

if-else 문은 특정 조건이 참인지 확인한 후, 참인 경우와 거짓인 경우에 대해 각각 다른 코드를 실행하도록 설계되어 있습니다. 이를 통해 더 복잡한 조건 처리가 가능합니다.

조건부 연산자란 무엇인가요?

조건부 연산자 또는 삼항 연산자는 간결하게 if-else 문을 표현할 수 있는 방법입니다. 하나의 조건식에 따라 두 가지 결과 중 하나를 선택할 수 있는 유용한 문법입니다.