관계 연산자
- 이항 연산자
- 연산의 결과가 TRUE(참), FALSE(거짓)으로 반환 됨, 비교연산자라고도 함
- 조건문, 반복문의 조건식으로 많이 사용 됨
연산자 | 기능 | 예 |
> | 왼쪽 항이 크면 참, 아니면 거짓을 반환합니다. | num > 3; |
< | 왼쪽 항이 작으면 참, 아니면 거짓을 반환합니다. | num < 3; |
>= | 왼쪽 항이 오른쪽 항보다 크거나 같으면 참, 아니면 거짓을 반환합니다. | num >= 3; |
<= | 왼쪽 항이 오른쪽 항보다 작거나 같으면 참, 아니면 거짓을 반환합니다. | num <= 3; |
== | 두 개 항의 값이 같으면 참, 아니면 거짓을 반환합니다. | num == 3; |
!= | 두 개 항이 다르면 참, 아니면 거짓을 반환합니다. | num != 3; |
예제)
public class RealationalTest {
public static void main(String[] args) {
int num1 = 5;
int num2 = 3;
boolean value = (num1>num2);
System.out.println(value);
System.out.println(num1 < num2);
System.out.println(num1 >= num2);
System.out.println(num1 <= num2);
System.out.println(num1 == num2);
System.out.println(num1 != num2);
}
}
논리 연산자
- 관계 연산자와 혼합하여 많이 사용 됨
- 연산의 결과가 true(참), false(거짓)으로 변환 됨
연산자 | 기능 | 예 |
&& (논리 곱) |
두 항이 모두 참인 경우에만 결과 값이 참. 그렇지 않은 경우는 거짓. |
booleanval = (5>3) && (5>2); |
|| (논리 합) |
두 항 중 하나의 항만 참이면 결과 값이 참. 두 항이 모두 거짓이면 결과 값은 거짓. |
booleanval = (5>3) || (5<2); |
! (부정) |
단항 연산자. 참인 경우는 거짓으로 바꾸고, 거짓인 경우는 참으로 바꾼다. |
booleanval = !(5>3); |
예제)
public class LogicalTest {
public static void main(String[] args) {
int num1 = 10;
int num2 = 20;
boolean flag = (num1 > 0) && (num2 > 0);
System.out.println(flag);
flag = (num1 < 0) && (num2 > 0);
System.out.println(flag);
flag = (num1 > 0) || (num2 > 0);
System.out.println(flag);
flag = (num1 < 0) || (num2 > 0);
System.out.println(flag);
flag = !(num1 > 0);
System.out.println(flag);
}
}
논리 연산에서 모든 항이 실행되지 않는 경우 - 단락 회로 평가(short circuit evaluation)
- 논리 곱( && )은 두 항의 결과가 모두 true 일 때만 결과가 true
-- 앞의 항의 결과가 false이면 뒤 항의 결과를 평가하지 않음
- 논리 합( || )은 두 항의 결과가 모두 false일 때만 결과가 false
-- 앞의 항의 결과가 true이면 뒤 항의 결과를 평가하지 않음
예제)
public class ShortCircuit {
public static void main(String[] args) {
int num1 = 10;
int i = 2;
boolean value = ((num1 = num1+10) < 10) && ((i=i+2)<10);
System.out.println(value);
System.out.println(num1);
System.out.println(i);
value = ((num1 = num1+10)<10) || ((i=i+2)<10);
System.out.println(value);
System.out.println(num1);
System.out.println(i);
}
}
'프로그래밍 언어 > JAVA(자바) 기초' 카테고리의 다른 글
9.조건문 - if (0) | 2022.05.17 |
---|---|
8.자바의 연산자들(조건,비트 연산자) (0) | 2022.05.17 |
6.자바의 연산자들(대입,부호,산술,복합대입,증감연산자) (0) | 2022.05.16 |
5.변하지 않는 상수와 리터럴,변수의 형 변환 (0) | 2022.05.16 |
4.자료형-문자 (0) | 2022.05.16 |
댓글