CodeGym /Java Blog /무작위의 /자바 부울
John Squirrels
레벨 41
San Francisco

자바 부울

무작위의 그룹에 게시되었습니다
Java 언어의 맥락에서 "부울"이라는 단어는 매우 관련이 있지만 다른 의미로 사용될 수 있습니다. 그것은 수:
  • 부울 기본 유형 또는 이 유형의 부울 변수
  • Java 부울 클래스 또는 부울 래퍼 객체
  • 부울 표현식, 부울 값, 일부 조건
  • 자바 부울 연산자
이 기사에서는 이러한 모든 옵션을 다루고 부울 표현식의 기본이 되는 개념을 설명합니다. 자바 부울 - 1

일반적인 의미에서 부울이란 무엇입니까?

부울 식 의 개념은 수학, 또는 오히려 수학적 논리에서 나왔습니다. 명제 대수학의 부울 식은 참 또는 거짓이라고 말할 수 있는 식입니다. 예를 들어:
“눈은 하얗다” “악어는 날 수 있다” “2 + 2 = 4” “1 + 1 = 21”
동시에 "2" 또는 "snow"는 부울 표현식이 아닙니다.

Java 부울 기본 데이터 유형 및 부울 변수

Java에서 부울에 대해 이야기하면 먼저 부울 기본 데이터 유형과 이 유형의 부울 변수일 가능성이 큽니다. 이미 짐작하셨겠지만 이 유형의 변수는 참과 거짓의 두 가지 값만 가질 수 있습니다. Java에는 매우 엄격한 제한이 있습니다. Java의 부울은 다른 데이터 유형으로 변환할 수 없으며 그 반대도 마찬가지입니다. 특히 Java의 boolean은 정수 유형이 아니며 boolean 대신 정수 값을 사용할 수 없습니다. 다음은 부울 유형을 직접 설정하는 예입니다 .

boolean myBoolean; //boolean variable
myBoolean = false; 
boolean myBoolean1 = true; //another boolean variable
여기에는 2개의 부울 변수가 있습니다 . 부울 유형 을 사용하는 예제로 작은 프로그램을 작성해 봅시다 .

//boolean variable example
public class BoolTest {

   public static void main(String[] args) {
       boolean myBoolean = false;
       System.out.println(myBoolean);
   }
}
이 프로그램은 콘솔에 "false"를 출력합니다. 그건 그렇고, 부울 변수는 기본적으로 false로 설정되지만 Java는 초기화되지 않은 로컬 변수로 작업하는 것을 허용하지 않습니다.

Java의 부울 표현식

부울 변수를 true 또는 false로 명시적으로 초기화하는 것 외에도 부울 데이터 유형은 많은 곳에서 암시적으로 사용됩니다. 숫자를 더한 결과가 숫자인 것처럼 모든 비교 결과는 참 또는 거짓, 즉 부울 유형이 됩니다 . 즉 boolean 변수 대입문을 통해 boolean 값을 직접 지정하는 것 외에도 boolean 값은 5 > 2 등의 다양한 비교 결과로 조건문과 루프문에서 주로 사용된다는 뜻이다. 다음은 이러한 부울 유형 사용의 예입니다 .

public class BoolTest {

   public static void main(String[] args) {
       boolean myBoolean = false;
       int a = 5;
       int b = 7;
       System.out.println(a < b);
       System.out.println(0 > 7);
       System.out.println(myBoolean == false);
   }
}
출력은 다음과 같습니다.
참 거짓 참
a < b 의 경우 < 연산자 왼쪽의 식과 오른쪽의 식을 비교합니다. 비교 결과를 화면에 표시했습니다. 5 < 7 (문이 참) 이므로 값이 콘솔에 출력됩니다. 두 번째 경우에는 0과 7의 직접 비교를 표시하고 세 번째 경우에는 변수 myBoolean 의 값이 false인지 묻습니다. 이 경우 true 값을 출력합니다 . 실제로 Java에서 부울 식을 작성하려면 모든 비교 연산자를 사용할 수 있습니다.
비교 연산자 자바 연산자 작동 예 수술 결과
더 적은 < a < b a 가 b 보다 작 으면 true 아니면 false
보다 큰 > a > b a 가 b 보다 크면 true , 그렇지 않으면 false
보다 작거나 같음 <= a <= b a가 b 보다 작거나 같으면 true , 그렇지 않으면 false
크거나 같음 >= a >= b a가 b 보다 크거나 같으면 true , 그렇지 않으면 false
동일한 == == 비 a 가 b 와 같으면 true , 그렇지 않으면 false
같지 않음 != !=비 a가 b 와 같지 않으면 true , 그렇지 않으면 false

부울 값이 사용되는 위치

부울 값과 조건식은 분기문, 삼항 연산자 및 루프의 조건에서 매우 자주 사용됩니다. 실제로 사용은 특정 부울 식 확인을 기반으로 합니다. 예를 들어:

public class BoolTest2 {
       public static void main(String[] args) {
           int i = 0;
           while (i <= 10)
           {
               System.out.println(i);
               i++;
           }         
      }
}
이 프로그램은 일련의 정수를 출력하고 while 뒤의 괄호 안의 조건이 충족되는 한 하나씩 증가시킵니다. 즉, i <=10 이라는 표현은 참 입니다.

자바 부울 연산자. 부울 연산자로 부울 식 작성

다음 논리(또는 부울) 연산은 Java에서 사용할 수 있습니다.
  • 논리적 부정, 그것은 또한 NOT 또는 반전입니다. Java에서는 ! 기호로 표시됩니다 . 표현 전.

  • 논리적 and, AND 또는 접속사이기도 합니다. 적용되는 두 식 사이에 & 기호로 표시됩니다 .

  • 논리적이거나 Java에서는 OR이기도 하며 분리이기도 합니다. Java에서는 | 기호로 표시됩니다. 두 표현 사이

  • 배타적 또는 XOR, 엄격한 분리. Java에서는 두 표현식 사이에 기호 ^ 로 표시됩니다 .

  • Java에서 논리 연산자에는 || 로 표시되는 조건부 or가 포함됩니다. , 뿐만 아니라 조건부 and, && .

각 Java 부울 연산자에 대한 간략한 설명이 포함된 표를 살펴보고 아래에서 더 자세히 설명하고 코드 예제를 제공합니다. 표에서 "피연산자"란 연산자가 적용되는 논리식 또는 변수를 의미합니다.

a | b == true
부울 자바 연산자 이름 유형 설명
! 논리적 "not"(부정) 단항 !x는 "x가 아님"을 의미합니다. x거짓 이면 참을 반환합니다 . x 이면 거짓을 반환합니다 .

boolean x = true;

그 다음에


// !x == false
& 논리적 "and"(및, 논리적 곱셈) 바이너리 (a & b)는 ab가 모두 true 이면 true를 반환합니다 .

a = true;
b = false;

그 다음에


a & b == false
| 논리적 OR(논리적 덧셈) 바이너리 (a | b)는 ab 또는 둘 다 true 이면 true를 반환합니다 .

a = true;
b = false;

그 다음에

^^ 논리적 배타적 OR(XOR) 바이너리 (a ^ b)는 피연산자(a 또는 b) 중 하나만 true 인 경우 true 반환합니다 . ab 가 동시에 true 또는 false 이면 false를 반환합니다 . 사실 a가 b 와 같지 않으면 true를 반환합니다 .

a = true;
b = false;

그 다음에


a ^ b == true
&& 조건부 AND(약칭 논리 AND) 바이너리 a && b a & b 와 같지만 a 가 false 이면 연산자는 b 를 확인하지 않고 false 를 반환할 뿐입니다 .
|| 조건부 OR(약칭 논리 OR) 바이너리 || b 는 a와 동일 | b 이지만 atrue 이면 연산자는 b 를 확인하지 않고 true 를 반환합니다 .
Java에서 연산자 & , | ^는 정수에도 적용됩니다. 이 경우 조금 다르게 작동하며 비트 논리 연산자라고 합니다. 예를 들어 논리 연산자를 사용하여 구성된 여러 논리식을 표시해 보겠습니다.

public class BoolTest2 {
   public static void main(String[] args) {
   int a = 5;
   int b = 7;
   boolean myBool1 = true;
   boolean myBool2 = false;
       System.out.println(myBool1&myBool2);
       System.out.println(myBool1|myBool2);
       System.out.println(!myBool1);
       System.out.println((a > b) & !myBool1 | myBool2);
   }
}
결과는 다음과 같습니다.
거짓 참 거짓 거짓
실제로 논리 연산자를 사용하여 매우 복잡한 논리 구조를 만들 수 있습니다. 예를 들어
(a<!b)&(q+1 == 12)^(!a | c & b > 1 + b)|(q ^a > !b)
모든 변수가 초기화되면 이러한 구성이 작동합니다. 그러나 남용해서는 안되며 코드를 읽기 어렵게 만듭니다. 그럼에도 불구하고 이러한 논리적 구성을 다루는 것은 매우 유용합니다. 표에 주어진 다른 논리 연산자로 논리식을 만들어 보세요.

논리 연산의 우선 순위

수학에서와 마찬가지로 프로그래밍에서 연산자는 동일한 식에서 발생하는 경우 특정 실행 순서를 갖습니다. 단항 연산자는 이항 연산자보다 이점이 있고 곱셈(심지어 논리)은 덧셈보다 유리합니다. 다음은 주제 목록에 더 높은 논리 연산자가 있으며 우선 순위가 더 높습니다.
  • !

  • &

  • ^^

  • |

  • &&

  • ||

자바 부울 래퍼

Java에서 각 기본 유형에는 래퍼 클래스( Wrapper ) 인 "형제"가 있습니다 . 래퍼는 기본 값을 내부에 저장하는 특수 클래스입니다. 그러나 이것은 클래스이므로 인스턴스(개체)를 만들 수 있습니다. 이러한 개체는 실제 개체가 되는 동안 기본 요소의 필수 값을 내부에 저장합니다. Java 부울 기본 유형에는 래퍼 Java 부울 (대문자 B 포함) 클래스가 있습니다. 부울 클래스 객체는 다른 것과 마찬가지로 생성됩니다.

Boolean b = new Boolean(false);
Java Boolean 클래스에는 유용한 메서드가 있습니다. 이들 중 가장 흥미로운 것 중 하나는 parseBoolean 메서드입니다. static boolean parseBoolean(String s) 메서드는 문자열 인수를 부울로 구문 분석합니다. 반환된 부울 은 문자열 인수가 null이 아니고 대소문자를 무시하고 문자열 "true"와 같을 경우 true 값을 나타냅니다 . 그렇지 않으면 false 를 반환합니다 .

parseBoolean 메서드 예제


public class BoolTest2 {

        public static void main(String[] args)
        {
            System.out.println(Boolean.parseBoolean("True"));
            System.out.println(Boolean.parseBoolean("TRuE"));
            System.out.println(Boolean.parseBoolean("False"));
            System.out.println(Boolean.parseBoolean("here"));

        }
    }
출력은 다음과 같습니다.
참 참 거짓 거짓
배운 내용을 보강하려면 Java 과정에서 비디오 강의를 시청하는 것이 좋습니다.
코멘트
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION