본문 바로가기

자바 언어 기초 - 연산자

논리 연산자

논리 연산자

  • 논리곱(&&), 논리합(||), 배타적 논리합(^) 그리고 논리 부정(!) 연산을 수행
  • 흐름 제어문인 조건문(if), 반복문(for, while) 등에서 주로 이용


    출처, 이것이 자바다


package ch03.sec07;

/*
 논리 연산자
 && : 논리곱. 두개의 피연산자가 true일 경우에만 true.
 || : 논리합. 두개의 피연사자중 하나만 true이면 true.
 ! : Not true -> false, false -> true
 */
public class LogicalOperatorExample {

    public static void main(String[] args) {

        System.out.println("논리곱의 결과");
        System.out.println("true && true: " + (true && true));
        System.out.println("true && false: " + (true && false));
        System.out.println("false && true: " + (false && true));
        System.out.println("false && flase: " + (false && false));

        System.out.println("논리합의 결과");
        System.out.println("true || true: " + (true || true));
        System.out.println("true || false: " + (true || false));
        System.out.println("false || true: " + (false || true));
        System.out.println("false || false: " + (false || false));

        System.out.println("배타적 논리합 결과");
        System.out.println("true ^ true: " + (true ^ true));
        System.out.println("true ^ false: " + (true ^ false));
        System.out.println("false ^ true: " + (false ^ true));
        System.out.println("false ^ false: " + (false ^ false));

        System.out.println("부정 ! Not");
        System.out.println("!false: " + (!false));
        System.out.println("!true: " + (!true));

    }

}

package ch03.sec07;

/*
 &, | 기능은 동일하지만, &&, || 처럼 스킵되는 기능은 없다.
 */
public class LogicalOperatorExample2 {

    public static void main(String[] args) {

        //유니코드 65 int형으로 변환되어 저장.
        int charCode = 'a'; //char형이 int형으로 자동형변환되어, 값이 대입된다.

        //(중요 : ★★★★★)논리곱 && 연산자는 좌측이 false이면, 우측은 true or false의 판단을 하지않고 스킵한다.
        if((65 <= charCode) && (charCode <= 90)) {
            System.out.println("대문자이군요");
        }
        if ((97 <= charCode) && (charCode <= 122)) {
            System.out.println("소문자이군요");
        }

        int value = 6;
        //(중요 : ★★★★★)논리합 || 연산자는 좌측이 true이면, 우측은 true or false의 판단을 하지않고 스킵한다.
        if((value % 2 == 0) || (value % 3 == 0)) {
            System.out.println("2 또는 3의 배수입니다.");
        }

    }

}

'자바 언어 기초 - 연산자' 카테고리의 다른 글

삼항(조건) 연산자  (0) 2023.01.14
대입 연산자  (0) 2023.01.14
비교 연산자  (0) 2023.01.14
나눗셈 연산 후 NaN과 Infinity 처리  (0) 2023.01.14
정확한 계산은 정수 연산으로  (0) 2023.01.14