정올 연산자 자가진단7 (524번) 문제를
풀다가 모르는 개념이 나왔다.
논리곱이랑 논리합을 이용해서
결과값을 내라고 한다.
그래서 정리하는 자바 논리연산자 개념!
프로그래머스에서 짧게 인강이 있어서
노트정리를 여기 해보려 한다.
↓ 앞으로 하나씩 들어보는 것도
괜찮을 듯!!
https://programmers.co.kr/learn/courses/5/lessons/144#
[논리곱( 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 로 변경된다.
**
자바 논리연산자를 잘 기억해두고
알고리즘 풀 때 써먹기 !!
자바(java) 배열(array) 기초개념 (0) | 2021.10.26 |
---|---|
for문과 while문의 차이점 (java) (0) | 2021.10.12 |
[Html] script로 자바 alert창 띄워보기 (복습) (0) | 2021.07.20 |
[html] JAVA script alert 로드하기 예제2 (0) | 2021.07.20 |
[html] 자바명령어 입력 예제 (alert) (0) | 2021.07.13 |
댓글 영역