본문 바로가기
프로그래밍/JAVA

초보 자바 프로그래밍(3) - 조건문 if

by 머니테크리더 2023. 5. 1.
반응형

조건문 if 대표이미지
조건문 if 대표 이미지

🔖 INDEX

     

     

    if 문의 문법

    if 문은 조건이 참인 경우에만 특정 코드를 실행하는 구문입니다. 다음은 if 문의 구조와 사용 방법입니다.

    if (조건식) {
        // 조건식이 참일 경우 실행될 코드
    }
    • if : 조건식이 참인 경우 실행할 코드를 포함하는 조건문의 키워드입니다.
    • 조건식 : 참, 거짓을 판단할 조건식입니다.
    • 중괄호({}) : 조건식이 참인 경우 실행될 코드를 중괄호 안에 작성합니다.

     

    예를 들어, 다음은 변수 num이 10보다 크면 "num은 10보다 큽니다"라는 메시지를 출력하는 코드입니다.

    int num = 15;
    if (num > 10) {
        System.out.println("num은 10보다 큽니다.");
    }

    위 코드에서는 변수 num의 값이 10보다 크므로 조건식이 참이 됩니다. 따라서 "num은 10보다 큽니다"라는 메시지가 출력됩니다.

     

    if 문에서는 비교 연산자와 논리 연산자를 사용하여 조건식을 작성할 수 있습니다. 예를 들어, 다음은 변수 age가 20세 이상이면 "성인입니다"라는 메시지를 출력하는 코드입니다.

    int age = 25;
    if (age >= 20) {
        System.out.println("성인입니다.");
    }

    위 코드에서는 변수 age의 값이 20 이상이므로 조건식이 참이 됩니다. 따라서 "성인입니다"라는 메시지가 출력됩니다.

     

    if 문에서는 비교 연산자와 논리 연산자를 사용하여 복잡한 조건식을 작성할 수 있습니다. 이를 활용하여 여러 상황에 대응하는 코드를 작성할 수 있습니다.

     

     

    비교 연산자를 사용한 if문

    자바에서 비교 연산자는 주어진 두 값을 비교하여 참(true) 또는 거짓(false)을 반환하는 연산자입니다. 주로 제어문(if문, while문, for문 등)에서 사용되며, 변수나 상수의 값을 비교할 때 사용됩니다.

     

    자바에서 사용하는 비교 연산자는 다음과 같습니다.

    • == : 두 값이 같은 경우 참(true)을 반환합니다.
    • != : 두 값이 다른 경우 참(true)을 반환합니다.
    • > : 왼쪽 값이 오른쪽 값보다 큰 경우 참(true)을 반환합니다.
    • >= : 왼쪽 값이 오른쪽 값보다 크거나 같은 경우 참(true)을 반환합니다.
    • < : 왼쪽 값이 오른쪽 값보다 작은 경우 참(true)을 반환합니다.
    • <= : 왼쪽 값이 오른쪽 값보다 작거나 같은 경우 참(true)을 반환합니다.

     

    예를 들어, 변수 x와 y에 각각 10과 5가 저장되어 있다면, x > y는 참(true)을 반환합니다. 반대로, x < y는 거짓(false)을 반환합니다. ​

    또한, 비교 연산자는 문자열 비교에도 사용될 수 있습니다. 문자열 비교는 문자열 값이 같은지 여부를 판단하는데 사용되며, 비교 연산자 중 == 연산자와 != 연산자가 사용됩니다. ​

    그러나, 문자열 비교에서는 주의할 점이 있습니다. == 연산자는 문자열이 아닌 객체의 참조 값을 비교하기 때문에, 두 문자열이 같아도 참조 값이 다른 경우 false를 반환합니다. 따라서, 문자열을 비교할 때는 문자열 비교 메서드(equals() 메서드)를 사용하는 것이 좋습니다. ​

     

    다음은 비교 연산자를 사용한 if 문의 예시입니다.

    int a = 10;
    int b = 5;
    
    if (a > b) {
        System.out.println("a가 b보다 큽니다.");
    }
    
    if (a == b) {
        System.out.println("a와 b가 같습니다.");
    }
    
    if (a != b) {
        System.out.println("a와 b가 다릅니다.");
    }

    위 코드에서 첫 번째 if 문은 변수 a가 변수 b보다 크다는 조건을 만족하므로 "a가 b보다 큽니다."라는 메시지가 출력됩니다. 두 번째 if 문에서는 a와 b가 같지 않으므로 해당 조건은 거짓이 됩니다. 마지막 if 문에서는 a와 b가 다르기 때문에 조건이 참이 되어 "a와 b가 다릅니다."라는 메시지가 출력됩니다.

     

     

    논리 연산자를 사용한 if문

    자바에서 논리 연산자는 논리적인 연산을 수행하기 위해 사용되는 연산자입니다. 논리연산자는 주로 조건문(if 문, switch 문 등)과 반복문(for 문, while 문 등)에서 사용되며, 논리적인 조건식을 만들 때 필수적으로 사용됩니다. 자바에서는 다음과 같은 3개의 논리 연산자를 제공합니다.

    1. 논리곱(&&)
      • 두 개의 논리식 중에서 모두 true일 때만 결과가 true가 되는 연산자입니다.
      • 표기법: a && b (a, b는 논리식)
      • 예시: (a > 0) && (b < 10)
    2. 논리합(||)
      • 두 개의 논리식 중에서 하나 이상이 true일 때 결과가 true가 되는 연산자입니다.
      • 표기법: a || b (a, b는 논리식)
      • 예시: (a < 0) || (b > 10)
    3. 논리부정(!)
      • 논리식의 결과를 반대로 바꾸는 연산자입니다.
      • 표기법: !a (a는 논리식)
      • 예시: !(a < 0) ​

    논리 연산자를 사용하면 논리식을 보다 간단하게 표현할 수 있습니다. 예를 들어, "a가 1 이상이고 10 이하인지"라는 조건식은 다음과 같이 표현할 수 있습니다.

    if (a >= 1 && a <= 10) {
        // a가 1 이상이고 10 이하인 경우 실행될 코드
    }

    위 코드에서 && 연산자를 사용하여 두 개의 조건식을 모두 만족해야만 if 문이 실행되도록 조건식을 만들었습니다. 마찬가지로, "a가 1 이하이거나 10 이상인지"라는 조건식은 다음과 같이 표현할 수 있습니다.

    if (a <= 1 || a >= 10) {
        // a가 1 이하이거나 10 이상인 경우 실행될 코드
    }

    위 코드에서 || 연산자를 사용하여 두 개의 조건식 중 하나 이상이 만족하면 if 문이 실행되도록 조건식을 만들었습니다. 또한, ! 연산자를 사용하여 논리식의 결과를 반대로 바꿀 수도 있습니다.

    if (!(a == 1)) {
        // a가 1이 아닌 경우 실행될 코드
    }

    위 코드에서 ! 연산자를 사용하여 a가 1이 아닐 때 if 문이 실행되도록 조건식을 만들었습니다. ​

     

    논리 연산자를 적절히 사용하면 논리식을 간결하고 이해하기 쉬운 형태로 표현할 수 있으며, 프로그램의 가독성을 높일 수 있습니다. 또한, 논리 연산자를 사용하여 여러 개의 조건식을 조합할 수 있기 때문에, 다양한 복잡한 조건식을 만들어내는 것이 가능합니다. ​

     

    그러나, 논리 연산자를 오용하면 코드의 가독성을 떨어뜨리고, 복잡한 조건식을 만들어내어 디버깅이 어려워질 수 있습니다. 따라서, 논리 연산자를 사용할 때에는 간결하면서도 의미 있는 조건식을 작성하는 것이 중요합니다. 또한, 복잡한 조건식을 만들어야 하는 경우에는 필요한 경우 괄호를 사용하여 우선순위를 명확히 해주는 것이 좋습니다.

     

     if 문은 다양한 경우의 여러 조건을 처리하기 위해서 중첩하여 사용 가능합니다. 중첩된 if문은 if문 내부에 다른 if문이 포함된 형태로, if문이 참일 때 내부의 if문을 다시 검사하여 더욱 복잡한 조건식을 만들 수 있습니다. 이를 통해 더 세부적인 분기 처리가 가능합니다. ​

     

    중첩된 if문은 다음과 같은 구조를 갖습니다.

    if (condition1) {
        // 실행할 코드1
        if (condition2) {
            // 실행할 코드2
        }
    }

    조건식 condition1이 참이면, 내부의 코드1이 실행됩니다. 이후 내부의 if문인 condition2를 검사하게 됩니다. 만약 condition2도 참이라면 코드2가 실행됩니다.

     

    중첩된 if문은 논리 연산자를 사용하여 조건식을 조합하여 더 복잡한 분기 처리도 가능합니다.

    if (condition1 && condition2) {
        // 실행할 코드
    }

    위와 같이 논리 연산자를 사용하여 조건식을 조합하면, 조건식이 더욱 복잡한 상황에서도 유용하게 사용할 수 있습니다. ​

     

    if 문은 else 문이나 else if 문과 함께 사용하여 여러 조건을 처리할 수도 있습니다. 이 경우 if-else 문이나 if-else if 문을 사용합니다. 이에 대한 내용은 이어지는 항목에서 다루겠습니다.

     

     

    댓글