참
true(참)은 '사실'이라는 영문 뜻도 가지지만 프로그래밍 에서는 boolean 타입의 값 중 '참(사실)'으로 쓰인다.
boolean 자료형
컴퓨터 과학에서 불리언(boolean) 자료형은 논리 자료형이라고도 하며, 참과 거짓을 나타내는 데 쓰인다. 주로 참은 1, 거짓은 0에 대응하나 언어마다 차이가 있다. 숫자를 쓰지 않고 참과 거짓을 나타내는 영단어 true와 false를 쓰기도 한다. 불리언(Boolean)이라는 말은 영국의 수학자 겸 논리학자인 조지 불(George Boole)의 이름에서 따온 것이다.[1]
논리 연산자
흔히 불린(boolean)타입은 논리 연산자와 같이 쓰이는데 그 연산자는 다음과 같다.
- 논리곱 (&&, &) - 피연산자가 모두 true일 경우에만 연산 결과가 true 이다.
- System.out.println(b1 && b2); -> b2가 false 이므로 결과는 false 이다.
- System.out.println(b1 && b3); -> b1과 b2 모두 true 이므로 결과는 true 이다.
- 논리합 (||,|) - 피연산자 중 하나만 true이면 연산 결과는 true 이다.
이 코드의 결과값으로는 1, 0, 0이 나온다. 왜나하면 true는 1이고 false는 0으로 표현하기 때문이다.
- System.out.println(b1 || b2); -> b1 이 true이므로 결과는 true 이다.
- 배타적 논리합 () -> 피연산자가 서로 다른 값일 경우만 연산 결과가 true 이다.
- System.out.println(b1 ^ b2); -> b1은 true, b2는 false로 서로 다르므로 결과는 true 이다.
- System.out.println(b1 ^ b3); -> b1, b3 모두 true로 서로 같다. 결과는false 이다.
- 논리 부정 (!) -> 피연산자의 논리값을 바꾼다. true는 false로 false는 true로 바꾼다.
- System.out.println(!b1); -> b1 이 true 이므로 결과는 false 이다.
- System.out.println(!b2); -> b1 이 false 이므로 결과는 true 이다.[2]
예제
조건문
true 연산자는 보통 다음처럼 조건문의 판단 기준으로 많이 사용된다.
int base = 180; int height = 185; boolean isTall = true; boolean notTall = false;
if (isTall) { System.out.println("키가 큽니다."); }
하나의 예를 더 보도록 하겠다
int i = 3; boolean isOdd = i % 2 == 1;
i % 2 == 1은 i를 2로 나누었을 때 나머지가 1인지를 묻는 조건문이다. i는 3이므로 3을 2로 나눈 나머지는 1이 되어 참이 된다. 따라서 isOdd는 true값을 갖게 될것이다.[3]
각주
- ↑ 〈불리언 자료형 - 위키백과, 우리 모두의 백과사전〉, 《위키백과》
- ↑ 〈자바 입문 - 논리연산자 | 프로그래머스〉, 《프로그래머스》
- ↑ 〈부울 (boolean) - 점프 투 자바〉, 《위키독스》