더보기
분류: 비교연산자
논리연산자
-어떤 상황에서 유용하게 쓸지 생각해보자
논리 연산자는 생소하기 꼭 다시 한번 더 확인 복습 할것
package cho3;
/**
* 논리 연산자 &&,||.!
* 비교 연산자 (<,<=,..)과 함계 많이 사용
* 연산의 결과가 true, false 로 반환 된다.
*/
public class Operation5 {
// 코드의 진입점
public static void main(String[] args) {
int n1 = 100;
int n2 = 200;
//논리 곱(&&)
// T && T
boolean result1 = (n1 > 0) && (n2 > 0);
System.out.println("result1 : " + result1);
// T && F
boolean result2 = (n1 > 0) && (n2 < 0);
System.out.println("result2 : " + result2);
// 2. 논리 합 (||)
// T F
boolean result3 = (n1 > 0) || (n2 < 0);
System.out.println("result3 : " + result3);
boolean result4 = (n1 < 0) || ( n2 < 0) ;
System.out.println("result4 : " + result4);
// 3. 부정(!)
System.out.println("부정 연산 확인 : " + !result4);
// 로깅 ㅜ-> 값 확인을 해 본다.
System.out.println("실제 변수 값 확인 : " + result4);
}// end of main
}//end of class
package cho3;
/**
* 논리 연산자 복습
*/
public class Operation6 {
// 코드의 진입점
public static void main(String[] args) {
// 쇼핑물 회원 정보를 설정
int userAge = 20; //사용자의 나이
int cartTotal = 50_000; // 장바구니 총액(원) 정수에 숫자 단위에 _언더바 사용가능
//System.out.println(cartTotal);
boolean isMember = true; //회원 여부
int couponCount = 2; //고유쿠폰 갯수
// 1. 무료 배송 조건 : 장바구니 총액이 3만원 이상 , 회원이여야 함
boolean freeShipping = (cartTotal >= 30_000) && isMember;
System.out.println("무료 배송 가능 여부 : " + freeShipping);
//할인 조건 : 나이가 19세 이상이거나 쿠폰이 1개 이상 있어야 함
boolean canDiscount = (userAge >= 19) || (couponCount >= 1);
System.out.println("할인 가능 조건 여부 : " + canDiscount);
// 3. 구매 제한 조건 : 나이가 19세 미만이고 회원이 아닌 경우에 구매 제한 ->&&
// F && F
boolean purchaseRestricted = (userAge < 19) && (!isMember);
//4. 이벤트 참여 조건 : 장바구니 총액이 5만원 미만이거나 쿠폰이 3개 미만 참여 가능
boolean canJoinEvent = (cartTotal < 50_000) || (couponCount < 3);
System.out.println("이벤트 참여 가능 여부 : " + canJoinEvent);
//연습 문제
//철수가 일본에 여행을 가려고 한다. 비행기에 가지고 탈 수 있는 수화물의 최대 무게는 10kg이고
//위탁 수화물의 초대 무게는 25kg제한이다.
//철수는 지금 백팩의 무게가 12kg이고 위탁수화물이 20kg이다.
//철수는 지금 당장 탑승가능한지 확인 가능하고 조건이 맞지 않다면 가방의 무게를 맞춰서
//다시 확인 하자
int bag = 12;
int carr = 20;
}// end of main
}//end of class
빠른 평가(short-circuit evaluation)는 논리 연산에서 첫 번째 조건이 결과를 결정하는 경우, 두 번째 조건을 평가하지 않는 자바의 특성입니다.
- 논리 곱(&&)은 두 항의 결과가 모두 true일 때만 결과가 true 앞의 항의 결과가 false이면 뒤 항의 결과를 평가하지 않음
- 논리 합(||)은 두 항의 결과가 모두 false일 때만 결과가 false
- 앞의 항의 결과가 true이면 뒤 항의 결과를 평가하지 않음
package cho3;
/**
* 빠른 평가란?
* 논리 연산에서 첫 번째 조건이 결과를 결정 할 경우
* 두번째 조건을 평가하지 않는 것
*/
public class Operation8 {
// 코드의 진입점
public static void main(String[] args) {
int number = 5;
int index = 0;
//논리 합 (||) 에서 빠른 평가가 되는 식을 만들어 보자.
//빠른 평가란
//논리 연산에서 첫번째 조건이 결과를 결정하는 경우, 두 번째 조건을 평가하지 않는다.!!
//논리 합 ----> 첫 번째 조건이 true 라면 두번째, 세번째는 확인 안함
boolean result = ((number += 10) > 10 ) || ((index += 2) < 10);
System.out.println("result : " + result);
System.out.println("number : " + number);
System.out.println("index : " + index);
}// end of main
}//end of class
삼항 연산자
● 삼항 연산자
● 조건식의 결과가 true(참)인 경우와 false(거짓)인 경우에 따라 다른 결과가 수행됨
● if (조건문)을 간단히 표현할 때 사용 할 수 있음
package cho3;
public class Operation10 {
public static void main(String[] args) {
int n1 = 100;
int n2 = 500;
int max;
// n2가 큰 수이기에 값 false를 반환한다.
// false이면 조건부 2번째 값이 max에 입력된다.
//참고 t면 결과 1, f면 결과 2
max =(n1 > n2) ? n1 : n2;
System.out.println("max : " + max);
} //end of main
} // end of class
문제
package execise;
// import -->수입하다, 가져오다 컨트롤 알트 엔터
// java?util컨트롤 스캐너 클릭시에 식들 확인가능
import java.util.Scanner;
public class Exercise5 {
public static void main(String[] args) {
// 자바 특징 -> 풍부한 라이브러리(기능을) 제공하고 있다.
// 자바 표준 라이브러리 - 스캐너
//키보드에서 값을 가져 올 수 있다.
// 도구
Scanner sc = new Scanner(System.in);
// 명령어 ----> 사용자가 입력한 키보드 값을 받기 의한 명령어이다.
//그중에 정수값을 받기 위한 명령이다.
System.out.printf("정수값을 입력하시오 :");
int x = sc.nextInt();
System.out.printf("정수값을 입력하시오 :");
int y = sc.nextInt();
//System.out.println("x : " + x);// 한줄 내림
System.out.println("x :" + x);
System.out.println("y :" + y);
// 사용자가 입력한 두 값을 받아서 덧셈 연산을 시켜보자.
//문자열 + 정수 + 문자열
// "결과1 :" + x + y
System.out.println("결과1 :" + (x + y));
}// end of main
} // enf of class
728x90
'JAVA(기본)' 카테고리의 다른 글
(JAVA ) 반복문 (for) (0) | 2025.04.14 |
---|---|
(JAVA) 조건문 if (만약 ~이라면) (0) | 2025.04.11 |
(JAVA) 연산자( 복합 대입 연산자) (0) | 2025.04.11 |
(JAVA) 명령 프롬프트를 활용하여 JAVA파일을 컴파일해보자 !! (0) | 2025.04.10 |
(JAVA)연산자 (산술) (0) | 2025.04.10 |