&&(and)는 둘중하나가 거짓이면 거짓이고 ||(or)는 둘중하나가 참이면 참이된다
ex) if(10>20 || 1!=1 || 3>2){
참 거짓 참
실행됨
}
ex) if (10>20 && 1==1 && 3>2) {
거짓 참 참
System.out.println("실행되지 않음") //실행은되지만 프린트 하지않음
}
처음에는 복잡할 수 있으니 숙지해야 함
3항 이상의 연산에서는 자바가 판단하여 &&는 하나라도 거짓이면 거짓이므로 식하나가 거짓으로 나오면 거짓으로 환원하고 ||는 하나가 참이면 모두 참이므로 참하나가 나오면 참으로 환원한다
문제 예시
class Main {
public static void main(String[] args) {
if ( true ) {
System.out.println("참");
}
if ( false ) {
System.out.println("거짓");
}
int a = 10;
// `==` => 같다.
if ( a == 10 ) {
System.out.println("");
}
// `!=` => 같지 않다.
if ( a != 10 ) {
System.out.println("");
}
if ( a > 10 ) {
System.out.println("");
}
if ( a >= 10 ) {
System.out.println("");
}
int b = 10;
if ( a == b ) {
System.out.println("");
}
// boolean c => c 에는 오직 true/false 만 담을 수 있다.
boolean c = a != b;
if ( c ) {
System.out.println("");
}
if ( c == false ) {
System.out.println("");
}
// `!` => 반전
if ( !c ) {
System.out.println("");
}
// `!` => 반전
if ( !(!c) ) {
System.out.println("");
}
boolean d = true;
if ( c != d ) {
System.out.println("");
}
if ( 20 > 2 && 10 > 3 && true != false && 10 != 10 ) {
System.out.println("");
}
if ( 10 != 10 || 10 < 2 ) {
System.out.println("");
}
}
}
이런 문제는 검증이 어렵지는 않지만 시간이 오래 걸리므로 옆에 숫자를 써주는게 한눈에 보기 좋다
예)
참1
참2
거짓1
참3
거짓2......... 이런식으로