Java에서 부울 변수 전환

Rashmi Patidar 2023년10월12일
Java에서 부울 변수 전환

Booleanboolean 프리미티브를 감싸는 Java의 래퍼 클래스입니다. 객체 지향 프로그래밍에서 클래스는 프리미티브 대신 객체 사용을 최대화하는 방법입니다.

클래스 개념은 Boolean 클래스 내에서 boolean 또는 bool 프리미티브 값을 바인딩하는 솔루션을 불러일으켰습니다.

Java에서 부울 변수 전환

Boolean 클래스에는 TRUEFALSE 변수의 두 가지 정적 값만 있습니다. 정적 멤버 변수와 함께 부울에는 valueOf(), parseBoolean, toString 등과 같은 정적 메서드도 포함됩니다.

사용자가 Java 프로그램에서 부울 변수 값을 토글하는 방법에는 여러 가지가 있습니다. 토글 동작을 보여주는 소스 코드 블록은 아래와 같습니다.

import static java.lang.Boolean.TRUE;

public class ToggleBoolean {
  public static void main(String[] args) {
    Boolean aBoolean = TRUE;
    System.out.println("Boolean value : " + aBoolean);
    // first way
    System.out.println("Boolean value with ! operator: " + !aBoolean);
    // second way
    Boolean bool = aBoolean ? false : true;
    System.out.println("Boolean value with ternary operator: " + bool);
    // third way
    System.out.println(aBoolean);
    aBoolean ^= aBoolean;
    System.out.println("Boolean value with ^= operator: " + aBoolean);

    // fourth way
    if (aBoolean) {
      aBoolean = false;
      System.out.println("Boolean value using if condition: " + aBoolean);
    } else
      aBoolean = true;
    System.out.println("Boolean value using else condition: " + aBoolean);
  }
}

Not(!) 연산자 사용

연산자 ! Java 프로그래밍에서 Not 연산자라고도 합니다. 연산자의 기능은 연산을 부정하는 것입니다.

not의 사용은 필요한 곳에서 부정 검사를 합니다. 사용 사례는 if-else 블록, while의 조건부 검사, do-while 루프, 삼항 연산자 등에 있을 수 있습니다.

연산자는 not null과 같은 유효성 검사가 수행될 때 프로그래밍 방식으로 사용됩니다. not 연산자가 등호와 함께 사용되어 같지 않게 만든 다음 조건을 확인하는 위치입니다.

연산자는 사용자가 0 또는 1, true 또는 false와 같은 값을 원할 때만 사용할 수 있습니다.

위의 코드에서 not 연산자는 부울 변수와 함께 추가되어 현재 값을 무효화합니다. 가장 쉬운 방법은 하나의 명령문에서 부울 변수를 토글하는 것입니다.

삼항 조건 사용

삼항 연산자는 종종 ?: 연산자를 사용하여 알려져 있습니다. 삼항 연산자의 구문은 expression?expression1: expression2입니다.

첫 번째 연산자는 ?입니다. 식에 의해 성공되는 물음표. 식을 평가해야 하며 결과는 true 또는 false입니다.

평가 후 표현식의 결과가 true 값이면 결과는 expression1이 됩니다. 중첩은 식 문에서도 수행할 수 있습니다.

결과가 false 값을 평가하면 expression2가 평가됩니다. 위의 소스 코드에서 Boolean 값은 삼항 연산자로 토글됩니다.

Bitwise Exclusive OR(^=) 연산자 사용

할당 연산자 또는 비트 배타적 OR 연산자는 첫 번째 피연산자의 비트별 값을 다른 값과 비교합니다.

OR에 대한 비트 매칭은 다음과 같습니다.

  1. 비트 0이 비트 1과 비교되면 결과는 1입니다.
  2. 비트 0이 비트 0과 비교되면 결과는 0입니다.

시간적으로 비트 OR은 부울 값을 전환하는 가장 빠른 방법입니다. 평가 속도를 높이기 위해 CPU 내부의 레지스터를 사용합니다.

if-else 루프 사용

if-else 루프는 조건을 확인하는 전통적인 방법입니다. 조건은 편리하고 널리 사용됩니다.

위의 소스 코드에서 if-else 루프는 블록 논리를 사용하여 값을 토글하는 데 사용됩니다.

  1. 명령문이 true로 평가되면 첫 번째 블록이 실행됩니다.
  2. false 값으로 평가되면 두 번째 블록의 표현식이 평가됩니다.

위에서 언급한 것은 값을 전환하는 모든 가능한 방법입니다. 평가값이 되는 출력 블록은 아래와 같습니다.

위의 Toggle Boolean 소스 코드의 출력:

Boolean value : true
Boolean value with ! operator: false
Boolean value with ternary operator: false
true
Boolean value with ^= operator: false
Boolean value using else condition: true
Rashmi Patidar avatar Rashmi Patidar avatar

Rashmi is a professional Software Developer with hands on over varied tech stack. She has been working on Java, Springboot, Microservices, Typescript, MySQL, Graphql and more. She loves to spread knowledge via her writings. She is keen taking up new things and adopt in her career.

LinkedIn

관련 문장 - Java Boolean