비교 연산자 : < > <= >= == !=
- < > <= >= : 피연산자 : 숫자
- == != : 피연산자 : 모든 데이터
- 결과는 논리값으로 조건에서 주로 사용
논리 연산자 : ! && ||
- 피연산자 : 논리값(조건), 결과 : 논리값
두 개 이상의 논리값(조건)을 하나의 논리값으로 만드는 연산자
- && : AND 연산으로 '논리곱'이라고도 함.
모든 조건이 참이어야 결과가 참이 도는 연산.
조건들 중 하나라도 거짓이면 결과는 거짓이 됨.
- || : OR 연산으로 '논리합'이라고도 함.
모든 조건이 거짓이어야 겨로가가 거짓이 되는 연산.
조건들 중 하나라도 참이면 결과는 참이 됨.
- ! : NOT 연산으로 '부정'이라고도 함.
단항 연산자로 논리값을 뒤집어 줌.
class OpLogic
{
public static void main(String[] args)
{
int n1 = 0, n2 = 0;
boolean result;
result = (n1 += 10) < 0 && (n2 += 10) > 0; // n1 = 10 , n2 = 0
// and연산에서 1번재 조건이 거짓이므로 2번재 조건은 검사도 하지 않고 넘어감.
System.out.println("result : " + result);
System.out.println("n1 : " + n1 + ", n2 : " + n2);
result = (n1 += 10) > 0 || (n2 += 10) > 0; // n1 = 20, n2 = 0
// or연산에서 1번째 조건이 참이므로 2번째 조건은 검사없이 넘어감.
System.out.println("result : " + result);
System.out.println("n1 : " + n1 + ", n2 : " + n2);
// 해결책
n1 = 0;
n2 = 0;
n1 += 10;
n2 += 10;
// 조건식 안에서 값이 변하는 연산을 넣지 않고 밖에서 연산 후 조건 검사.
result = n1 < 0 && n2 > 0;
System.out.println("result : " + result);
System.out.println("n1 : " + n1 + ", n2 : " + n2);
// n1 : 10, n2 : 10
n1 += 10;
n2 += 10;
result = n1 > 0 || n2 > 0; // n1 = 20, n2 = 0
// or연산에서 1번째 조건이 참이므로 2번째 조건은 검사없이 넘어감.
System.out.println("result : " + result);
System.out.println("n1 : " + n1 + ", n2 : " + n2);
// n1 : 20, n2 : 20
int num1 = 10, num2 = 20, num3 = 30;
num1 = num2 = num3;
System.out.println("num1 : " + num1); // num1 : 30
System.out.println("num2 : " + num2); // num2 : 30
System.out.println("num3 : " + num3); // num3 : 30
}
}
728x90
반응형
'Java > Java 기초' 카테고리의 다른 글
[Java] If문 (0) | 2020.06.23 |
---|---|
[Java] 증감 연산자 적용 순서 알아보기 (0) | 2020.06.23 |
[Java] 연산자 활용하기 Operation Arithmetic (0) | 2020.06.23 |
[Java] 다양한 자료형 활용 Variable Example (0) | 2020.06.23 |
[Java] 자바 시작하기 FirstJava (0) | 2020.06.23 |