Computer >> 컴퓨터 >  >> 프로그래밍 >> Java

Java 논리 연산자 완벽 가이드 – 문자열과 변수 조건 처리 예제

Java에서 논리 연산자(logical operators)는 두 개 이상의 조건을 결합하거나 반전시켜 최종적으로 boolean 값(true/false)을 반환하는 연산자입니다. 대표적인 논리 연산자로는 AND(&&), OR(||), NOT(!)이 있으며, 주로 if 문과 같은 조건문에서 활용됩니다.

아래 예제를 통해 논리 연산자가 실제로 어떻게 동작하는지 살펴보겠습니다.

예제 코드

import java.io.*;
public class Demo {
    public static void main(String[] args) {
        int a = 45, b = 32, c = 87, d = 1;
        System.out.println("첫 번째 변수는 " + a);
        System.out.println("두 번째 변수는 = " + b);
        System.out.println("세 번째 변수는 = " + c);
        if ((a > b) && (b == c)) {
            d = a + b + c;
            System.out.println("합계는 " + d);
        } else {
            System.out.println("조건이 충족되지 않았습니다");
        }
    }
}

실행 결과

첫 번째 변수는 45
두 번째 변수는 = 32
세 번째 변수는 = 87
조건이 충족되지 않았습니다

코드 설명

Demo라는 이름의 클래스 안에 main 함수가 정의되어 있으며, 그 안에서 네 개의 정수형 변수(a, b, c, d)가 선언됩니다.

핵심 부분은 if ((a > b) && (b == c)) 구문입니다. 여기서 &&(논리 AND) 연산자는 좌변과 우변의 조건이 모두 참일 때만 전체 표현식을 true로 평가합니다.

  • a > b → 45 > 32 → true
  • b == c → 32 == 87 → false

true AND false의 결과는 false이므로, if 블록은 실행되지 않고 else 블록의 "조건이 충족되지 않았습니다"라는 메시지가 콘솔에 출력됩니다.

문자열과 논리 연산자

논리 연산자는 문자열 자체에 직접 적용할 수 없으며, 반드시 boolean 값을 반환하는 표현식과 함께 사용해야 합니다. 문자열을 비교할 때는 == 대신 equals() 메서드를 사용하는 것이 올바른 방법입니다.

String str1 = "hello";
String str2 = "world";
if (str1.equals(str2) || str1.length() > 3) {
    System.out.println("조건 중 하나 이상이 참입니다");
}

위와 같이 equals()length() 등이 반환하는 boolean 결과를 논리 연산자로 조합하면, 문자열 관련 복잡한 조건도 손쉽게 처리할 수 있습니다.

정리

  • && (AND): 두 조건이 모두 참일 때 true
  • || (OR): 두 조건 중 하나라도 참이면 true
  • ! (NOT): 조건의 결과를 반전
  • 문자열 비교 시에는 equals() 사용 후 논리 연산자와 조합