본문 바로가기

백엔드/나도코딩 자바

[나도코딩 자바 챕터2] 논리연산자,논리부정연산자 ||(or조건) &&(and조건) == ! (김치찌개,계란말이,제육볶음)

//논리 연산자를 배우기 앞서

남자 3대장 음식이 뭐가 있는지 아시나요? 제육볶음,돈가스,국밥이라고 합니다.

여자 3대장 음식은 뭘까요? 떡볶이,파스타,닭발 이라고 합니다.

 

이 얘기를 남편에게 들려주니 남자 삼대장 음식? 음 끄덕끄덕 

국밥은 너무 이제 비싸서 안 먹지..

여자 삼대장 음식 들려주니

닭발 얘기하자마자 징그럽다며 으악하며 싫어하네요ㅋㅋ

 

여자 3대장 음식은 보자마자 정말 공감되던데

여러분은 어떤가요?ㅋㅋ//

 

 

나도코딩 선생님께서는

한 식당에

 

김치찌개

계란말이

제육볶음

이 세가지 메뉴 중 하나라도 있으면 좋다고 하시네요

 

 

식당 가서 

// 논리 연산자
boolean 김치찌개 = true;
boolean 계란말이 = true;
boolean 제육볶음 = true;

System.out.println(김치찌개 || 계란말이 || 제육볶음); // 하나라도 true 이면 true (괜찮은 식당)
System.out.println(김치찌개 && 계란말이 && 제육볶음); // 모두 true 이면 true (최고의 식당)

 

불리언 변수로 김치찌개,계란말이,제육볶음 값을 true로 선언하겠습니다.

 

그 후 출력값에

or조건문 ||를 써봅시다. //키보드 [] 옆 \의 키를 쉬프트 하면 |가 됩니다

하나라도 식당메뉴판에 있다면? 한개라도 true라면 true 값이 출력이 됩니다.

 

and조건문 &&를 써봅시다.

식당에 세가지메뉴가 다 있어야만 한다면? 세개 모두 다 true여야만 true값이 출력이 됩니다.

 

 

 

 

 

 

정수 비교 And 연산

(~고)

// And 연산
System.out.println((5 > 3) && (3 > 1)); // 5 는 3 보다 크고, 3 은 1 보다 크다 (true)
System.out.println((5 > 3) && (3 < 1)); // 5 는 3 보다 크고, 3 은 1 보다 작다 (false)

(5 > 3) && (3 > 1) 5는 3보다 크고, 3은 1보다 크다 (true)

(5 > 3) && (3 < 1) 5는 3보다 크고, 3은 1보다 작다 (false)

 

 

정수 비교 Or 연산

(~거나)

// Or 연산
System.out.println((5 > 3) || (3 > 1)); // 5 는 3 보다 크거나, 3 은 1 보다 크다 (true)
System.out.println((5 > 3) || (3 < 1)); // 5 는 3 보다 크거나, 3 은 1 보다 작다 (true)
System.out.println((5 < 3) || (3 < 1)); // 5 는 3 보다 작거나, 3 은 1 보다 작다 (false)

(5 > 3) || (3 > 1) 5가 3보다 크거나, 3은 1보다 크다 (true) (하나라도 맞으면 true)

(5 > 3) || (3 < 1) 5가 3보다 크거나, 3은 1보다 작다 (true) (하나라도 맞으면 true)

(5 < 3) || (3 < 1) 5가 3보다 작거나, 3은 1보다 작다 (false) (다 틀려서 false)

 

 

 

//불가능한 코드도 적어보겠습니다.//

// System.out.println(1 < 3 < 5);  // 불가능한 코드
System.out.println(1 < 3 && 3 < 5);

 

 

논리 부정 연산자

// 논리 부정 연산자
System.out.println(!true); // false
System.out.println(!false); // true
System.out.println(!(5 == 5)); // false
System.out.println(!(5 == 3)); // true

true의 반대값을 출력해주고 싶다면 앞에 !를 붙여준다

!true

!false

!(5 == 5) 5는 5와 같아 true일건데 앞에 !가 있으니 false가 된다.

!(5 == 3) 5는 3과 같지 않아 false일건데 앞에 !가 있으니 true가 된다.