본문 바로가기

Java/Java Beginnig

[Java Beginning] Java 논리 연산자 AND(&, &&)와 OR(|, ||)

728x90
반응형

이번 글에서는 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. 주의사항

 

- `&`와 `|`는 모든 조건을 평가하므로 모든 조건을 평가해야 할 때 사용합니다.
- `&&`와 `||`는 앞의 조건만 평가하고 뒤의 조건을 평가하지 않을 가능성이 있으므로, 뒤의 조건이 부작용을 

   일으키지 않는 한 사용하는 것이 좋습니다.

728x90
반응형