>
<
>=
<=
==
!=
&&
(논리곱) and 둘 다 모두 참이어야 참.
||
(논리합) or 둘 중 하나만 참이어도 참.
!
(부정) 아니다. 참 -> 거짓으로 바꾸고, 거짓 -> 참으로 바꾼다.
num1 < num2 && num1 > num2
논리곱(&&)을 실행할 때,앞의 항이 false라면 뒤의 항은 실행하지 않고 넘어간다.
마찬가지로 논리합(||)을 실행할 땐 앞에 있는 항이 true이면 어차피 하나만 true여도 true로 판단하기 때문에 뒤에 있는 항은 실행되지 않고 넘어간다.
package ch12;
public class LogicalTest {
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); //false
System.out.println(num1); //20
System.out.println(i); //2
value = ((num1 = num1 + 10 ) < 10) || ( ( i = i + 2 ) < 10);
System.out.println(value); //true
System.out.println(num1); //30
System.out.println(i); //4
}
}