본문 바로가기

언어/Java

[ 자바 / Java ] 조건문 if

반응형

 

 

Java의 if 문은 프로그램에서 조건에 따라 특정 코드 블록을 실행하거나 실행하지 않도록 하는 제어 구조입니다. 이를 통해 조건에 따라 프로그램의 흐름을 제어할 수 있습니다. if 문은 조건이 true일 때만 코드 블록이 실행되며, 조건이 false일 경우 다른 코드를 실행하거나 아무런 코드도 실행하지 않도록 할 수 있습니다.

1. if 문 기본 구조

if 문은 기본적으로 다음과 같은 구조를 가집니다:

if (조건) {
    // 조건이 true일 때 실행되는 코드 블록
}

if 문 사용 예제

public class IfStatementExample {
    public static void main(String[] args) {
        int number = 10;

        // if 문 사용 예제
        if (number > 5) {
            System.out.println("Number is greater than 5.");
        }

        System.out.println("This line always executes.");
    }
}

설명:

  • number 변수에 10을 할당합니다.
  • if 문은 number가 5보다 큰지 확인합니다.
  • 조건이 참(true)이므로 "Number is greater than 5."가 출력됩니다.
  • 마지막 줄의 메시지는 조건과 관계없이 항상 출력됩니다.

2. if-else

if 문에 else 블록을 추가하면 조건이 거짓(false)일 때 실행할 코드를 정의할 수 있습니다.

public class IfElseExample {
    public static void main(String[] args) {
        int number = 3;

        // if-else 문 사용 예제
        if (number > 5) {
            System.out.println("Number is greater than 5.");
        } else {
            System.out.println("Number is 5 or less.");
        }

        System.out.println("This line always executes.");
    }
}

설명:

  • number가 3으로 초기화됩니다.
  • if 조건은 거짓(false)이므로 else 블록이 실행되고 "Number is 5 or less."가 출력됩니다.

3. if-else if-else

여러 조건을 처리하기 위해 else if 문을 사용할 수 있습니다.

public class IfElseIfExample {
    public static void main(String[] args) {
        int number = 7;

        // if-else if-else 문 사용 예제
        if (number > 10) {
            System.out.println("Number is greater than 10.");
        } else if (number > 5) {
            System.out.println("Number is greater than 5 but less than or equal to 10.");
        } else {
            System.out.println("Number is 5 or less.");
        }

        System.out.println("This line always executes.");
    }
}

설명:

  • number가 7로 초기화됩니다.
  • 첫 번째 if 조건이 거짓(false)이므로 두 번째 else if 조건을 검사합니다.
  • 두 번째 조건이 참(true)이므로 "Number is greater than 5 but less than or equal to 10."이 출력됩니다.

4. 중첩된 if

if 문을 다른 if 문 안에 중첩하여 사용할 수 있습니다. 이를 통해 복잡한 조건을 처리할 수 있습니다.

public class NestedIfExample {
    public static void main(String[] args) {
        int number = 8;

        // 중첩된 if 문 사용 예제
        if (number > 5) {
            System.out.println("Number is greater than 5.");

            if (number % 2 == 0) {
                System.out.println("Number is even.");
            } else {
                System.out.println("Number is odd.");
            }
        } else {
            System.out.println("Number is 5 or less.");
        }
    }
}

설명:

  • number가 8로 초기화됩니다.
  • 첫 번째 if 조건이 참(true)이므로 "Number is greater than 5."가 출력됩니다.
  • 두 번째 중첩된 if 문은 number가 짝수인지 확인하고, 조건이 참이므로 "Number is even."이 출력됩니다.

5. 간단한 응용 예제

아래 예제는 사용자의 나이에 따라 투표 가능 여부를 판단하는 프로그램입니다.

import java.util.Scanner;

public class VotingEligibility {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);

        System.out.print("Enter your age: ");
        int age = scanner.nextInt();

        // if-else 문 사용 예제
        if (age >= 18) {
            System.out.println("You are eligible to vote.");
        } else {
            System.out.println("You are not eligible to vote.");
        }

        scanner.close();
    }
}

설명:

  • 사용자의 나이를 입력받습니다.
  • if 문을 사용하여 사용자가 18세 이상이면 투표가 가능하다고 판단하고, 그렇지 않으면 투표가 불가능하다고 출력합니다.

6. if 문을 활용한 복잡한 조건

때로는 여러 조건을 조합하여 하나의 if 문에서 다룰 수 있습니다. &&(논리 AND)와 ||(논리 OR) 연산자를 사용하여 복잡한 조건을 처리할 수 있습니다.

public class ComplexConditionExample {
    public static void main(String[] args) {
        int number = 10;
        boolean isPositive = (number > 0);
        boolean isEven = (number % 2 == 0);

        // 복잡한 조건 사용 예제
        if (isPositive && isEven) {
            System.out.println("Number is positive and even.");
        } else if (isPositive && !isEven) {
            System.out.println("Number is positive and odd.");
        } else {
            System.out.println("Number is not positive.");
        }
    }
}

설명:

  • number가 양수이면서 짝수인지, 양수이면서 홀수인지, 또는 양수가 아닌지를 검사합니다.
  • 각각의 조건에 따라 다른 메시지를 출력합니다.

7. 결론

Java의 if 문은 조건에 따라 프로그램의 흐름을 제어할 수 있는 강력한 도구입니다. 기본적인 if 문부터 else, else if, 중첩 if 문까지 다양한 방식으로 사용할 수 있으며, 복잡한 논리적 조건도 쉽게 처리할 수 있습니다. 이를 잘 활용하면 프로그램의 제어 흐름을 유연하게 만들 수 있습니다.

반응형