본문 바로가기

JAVA/DAY 05 _ 23.08.23

Operator 6. 논리 연산

// 논리 연산자 : 도출되는 결과가 boolean임, 피연산자 모두 boolean이어야 함.

&& (and) : 논리곱 --> 피연산자 둘다 true여야한 결과가 true가 도출됨
|| (or) : 피연산자 중 하나라도 true이면 결과가 true로 도출됨 (= 둘다 false여야 false가 도출됨)
! (not) : 도출된 결과의 반대로 출력

int a = 10;
int b = 13;

// ==========" and "============

// boolean result = a && b; 	피연산자 a,b가 boolean이 아니라 int여서 error

boolean result = a > 10 && b < 10;
System.out.println(result);			// false

// a > 10 : true,  b < 10 : true 먼저 순서대로 계산
// --> 마지막에 논리연산을 계산함 (and에 걸리니까 둘다 true여야 true가 도출되겠지.)


a = 12;
b = 8;
result = a > 10 && b < 10;
System.out.println(result);			// true


// ==========" or "============

a = 11;
b = 11;
result = a > 10 || b < 10;
System.out.println(result);			// true


a = 9;
b = 11;
result = a > 10 || b < 10;
System.out.println(result);			// false


// ==========" not "============

result = !(a > 10 || b < 10);
System.out.println(result);			// true


boolean c = false;
result = !c;
System.out.println(result);			// true

// result = a > 10 || !b < 10; 	--> b는 int값이니까 not을 붙일 수 없다는거지.
// 무조건 피연산자는 boolean형이여야 한다구~!~!

result = !(!(a > 10) || !(b < 10));	// 이딴식으로도 쓸 수는 있다구.

'JAVA > DAY 05 _ 23.08.23' 카테고리의 다른 글

연산자 우선순위  (0) 2023.08.29
Operator 5. 비교 연산  (0) 2023.08.29
example  (0) 2023.08.29
Operator4. 대입 연산  (0) 2023.08.29
Operator 3. 부호 연산  (0) 2023.08.29