이번 글에서는 Java 프로그래밍에서 사용되는 논리 연산자인 AND(&, &&)와 OR(|, ||)에 대해
알아보겠습니다.
1. AND(&, &&) 연산자
1.1. & 연산자
`&` 연산자는 AND 연산을 수행하며, 모든 조건이 참(`true`)일 때만 전체 조건이 참이 됩니다. `&` 연산자는
모든 조건을 평가합니다.
int x = 1;
int y = 2;
if (x == 3 & y == 2) {
System.out.println("x=3 이고 y=2입니다.");
}
x의 값은 1이고 y의 값은 2이므로 x == 3은 거짓(false)이며, y == 2는 참(true)입니다. 그러므로 전체 조건은 거짓(false)이 됩니다.
1.2. && 연산자
`&&` 연산자는 AND 연산을 수행하며, 앞의 조건이 거짓(`false`)인 경우 뒤의 조건을 평가하지 않습니다.
`&&` 연산자는 뒤의 조건을 평가하지 않을 가능성이 있는 경우에 사용됩니다.
if (x == 3 && y == 2) {
System.out.println("x=3이고 y=2입니다.");
}
위 코드에서는 `x`가 3이 아니므로 뒤의 조건 `y == 2`는 평가되지 않습니다.
2. OR(|, ||) 연산자
2.1. | 연산자
`|` 연산자는 OR 연산을 수행하며, 하나 이상의 조건이 참일 때 전체 조건이 참이 됩니다. `|` 연산자는 모든
조건을 평가합니다.
if (x == 1 | y == 3) {
System.out.println("x=1 이거나 y=3 입니다.");
}
위 코드에서는 `x`가 1이고 `y`가 3이 아니지만 전체 조건은 참입니다.
2.2. || 연산자
`||` 연산자는 OR 연산을 수행하며, 앞의 조건이 참인 경우 뒤의 조건을 평가하지 않습니다. `||` 연산자는
뒤의 조건을 평가하지 않을 가능성이 있는 경우에 사용됩니다.
if (x == 1 || y == 3) {
System.out.println("x=1이거나 y=3입니다.");
}
위 코드에서는 `x`가 1이므로 뒤의 조건 `y == 3`는 평가되지 않습니다.
3. 주의사항
- `&`와 `|`는 모든 조건을 평가하므로 모든 조건을 평가해야 할 때 사용합니다.
- `&&`와 `||`는 앞의 조건만 평가하고 뒤의 조건을 평가하지 않을 가능성이 있으므로, 뒤의 조건이 부작용을
일으키지 않는 한 사용하는 것이 좋습니다.
'Java > Java Beginnig' 카테고리의 다른 글
[Java Beginning] Java의 Switch 문 (다중 조건 분기) (0) | 2023.09.03 |
---|---|
[Java Beginning] Java에서의 문자열 변환과 특수 문자 사용 (0) | 2023.09.03 |
[Java Beginning] Java의 조건문 (비교 연산자와 if-else) (0) | 2023.09.03 |
[Java Beginning] Java에서의 연산자 (증가/감소, 나머지, 삼항 연산자) (0) | 2023.09.03 |
[Java Beginning] Java에서의 형 변환 (Type Casting in Java) (0) | 2023.09.03 |