IT
자바(Java) 비교 연산자와 Boolean(불리언)
1. Boolean (불리언) 타입이란?
개요
-
boolean은 자바의 **논리형(논리 자료형)**으로, true 또는 false 두 가지 값만 가질 수 있습니다.
-
제어문(if, while 등), 비교 연산, 논리 연산의 결과를 표현할 때 사용됩니다.
선언 및 사용
boolean isPassed = true;
boolean isLogin = false;
Boolean은 자바의 기본형이며, 참조형 Boolean 클래스도 존재합니다.
Boolean obj = Boolean.TRUE; // 참조형
기본형 boolean과 참조형 Boolean은 오토박싱/언박싱으로 상호 변환됩니다.
2. 비교 연산자 (Comparison Operators)
비교 연산자는 두 값을 비교한 결과를 boolean 값으로 반환합니다.
주요 비교 연산자
연산자
의미
예시
결과 (boolean)
==
같음
a == b
true/false
!=
같지 않음
a != b
true/false
>
크다
a > b
true/false
<
작다
a < b
true/false
>=
크거나 같다
a >= b
true/false
<=
작거나 같다
a <= b
true/false
예시
int x = 5;
int y = 10;
boolean result1 = x < y; // true
boolean result2 = x == y; // false
boolean result3 = x != y; // true
문자열 비교
문자열은 == 연산자가 아닌 .equals() 메서드를 사용해야 합니다.
String s1 = "hello";
String s2 = "hello";
boolean b1 = s1 == s2; // 주소 비교 (true or false)
boolean b2 = s1.equals(s2); // 내용 비교 (항상 true)
==는 객체의 참조값(주소)을 비교하고, equals()는 내부 문자열 내용을 비교합니다.
3. Boolean 값의 활용
조건문
boolean isAdult = age >= 20;
if (isAdult) {
System.out.println("성인입니다.");
}
while 반복문
boolean flag = true;
while (flag) {
// 반복 실행
flag = false; // 루프 종료 조건
}
4. Boolean 리터럴과 연산
Boolean 값은 비교 연산의 결과이거나 직접 지정할 수 있습니다. 또한 논리 연산자(&&, ||, !)와 함께 자주 사용됩니다.
예시
boolean a = true;
boolean b = false;
boolean result = a && b; // false
result = a || b; // true
result = !a; // false
5. 삼항 연산자에서 Boolean 사용
int score = 85;
String result = (score >= 60) ? "합격" : "불합격";
조건 score >= 60의 결과는 boolean, 그에 따라 문자열 중 하나가 선택됩니다.
6. Boolean 클래스 (참조형)
java.lang.Boolean 클래스는 boolean 타입을 객체로 다룰 수 있게 해줍니다.
주요 메서드
Boolean b = Boolean.valueOf("true"); // 문자열을 boolean으로 변환
boolean val = b.booleanValue(); // 객체 → 기본형 변환
System.out.println(Boolean.TRUE); // true 출력
7. 주의할 점
-
비교 연산 결과는 항상 boolean 타입이다.
-
문자열 비교는 == 대신 .equals()를 사용할 것.
-
if, while 등의 조건식에는 반드시 boolean 타입이 필요하다.
-
참조형 Boolean은 null 값을 가질 수 있으므로 NPE(NullPointerException)에 주의해야 한다.
결론 요약
항목
내용
boolean 타입
true, false 두 가지 값만 가능
비교 연산자
==, !=, <, >, <=, >= 등 사용
결과 타입
비교 연산 결과는 모두 boolean
문자열 비교
.equals() 사용해야 정확
Boolean 클래스
참조형 타입, null 허용, 유틸 메서드 제공
댓글
아직 댓글이 없습니다.
로그인 후 댓글을 남길 수 있습니다.