상세 컨텐츠

본문 제목

자바 논리연산자: 논리곱(&),논리합(||), 논리부정(!) 노트정리

IT 공부/자바(Java)

by 듀_77 2021. 9. 12. 19:23

본문

반응형
반응형

정올 연산자 자가진단7 (524번) 문제를

풀다가 모르는 개념이 나왔다.

 

논리곱이랑 논리합을 이용해서 

결과값을 내라고 한다.

 

그래서 정리하는 자바 논리연산자 개념!

프로그래머스에서 짧게 인강이 있어서

노트정리를 여기 해보려 한다.

 

↓ 앞으로 하나씩 들어보는 것도 

괜찮을 듯!!

 

https://programmers.co.kr/learn/courses/5/lessons/144#

 

자바 입문 - 논리연산자

자바 입문 가장 널리 쓰이는 프로그래밍 언어 Java로 프로그래밍의 기초를 다져보세요. 이 강의의 내용을 책으로 만나고 싶으시면 여기를 눌러 책 정보를 확인하세요. 강의를 다 들었는데, 지금

programmers.co.kr

출처: 프로그래머스

[논리곱( A&&B ) 엔퍼센트]

 

shift+7

 

a,b가 모두 True일때만 True를 return한다.

 

둘 다 참일때만, True고 

나머지는 모두 false를 반환한다.

 

▶ AND의 의미를 가지는 자바 논리연산자

[논리합 (A || B) 바바]

 

shift+\

 

둘 중 하나가 True면, true를 return한다.

둘 다 false일때만 false를 리턴한다.

 

▶ OR 연산자

[ 논리부정 ( !A ) 낫]

 

not이라고 발음하면 되고,

단항연산자여서 a 하나만 본다.

 

말 그대로 A가 아닌 것을 얘기한다. 

▶ 결과를 반대로 바꿔주는 것

(true는 false로, false는 true로)

 

[ 배타적논리합 (A^B) 익스클루시브 오아]

 

shift + 6

 

하나는 true이고, 하나가 false일때

→True를 리턴한다.

 

a,b가 달라야 true결과값이 나온다.

 

*true, false여야만 참의 결과가 나오는

이상한 자바 논리연산자 

[예제1]

boolean 변수에 논리연산자 값인 

true나 false를 저장할 수 있다. (b1,b2,b3)

 

이를 출력해봤을때,

b1, b2의 논리곱(&&)은 AND이다.

 

둘다 true여야만 참이 성립되므로

false가 나온다.

 

*

논리합의 경우(||)

OR가 성립되므로,

둘 중 하나가 true기만 해도

참이 된다.

 

[논리연산자를 사용할 때]

논리곱과 논리합같은 연산자를 사용하는 이유는 다음과 같다.

 

1. 입력받는 값의 범위가 존재

조건 1: score <= 100

조건 2: score >= 70

 

2. 조건 2개를 논리곱 (&&) AND 연산자로 묶었다.

 

3. 조건 2개를 모두 만족할때만

결과 하나인 (TRUE)를 리턴한다.

▶ 이 경우, AND를 쓰는 논리곱을 사용하는 것이 맞다.

 

4. 88이라는 값은 범위 안에 들어오므로,

"성공"을 출력한다.

 

[배타적 논리합 (A^B)]

 

A^B(익스클루시브 오아)는 값이 

서로 다를 때 ture를 리턴한다.

 

true, true의 경우에는 (=값이 같을 때)

false를 리턴한다.

 

*

부정연산자 (NOT)은 

b1 앞에 not 붙이면,

true → false 로 변경된다.

 

**

자바 논리연산자를 잘 기억해두고

알고리즘 풀 때 써먹기 !! 

반응형

관련글 더보기

댓글 영역