JAVA/java 문제

[자바JAVA] 연산자 - 논리연산자, 비교연산자

자바칩 프라푸치노 2020. 9. 19. 07:58

안녕하세요 자바칩 프라푸치노입니다.

오늘은 비교, 논리 연산자에 대한 문제를 풀어보겠습니다.

이 문제는 사실 출력결과만 원한다면

 

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
package sec01_verify;
 
public class Exercise06 {
    public static void main(String[] args) {
 
 
        
        int x = 10;
        int y = 5;
        
        System.out.println("(x>7) && (y<=5)의 값은 :" + ((x>7&& (y<=5)));
        System.out.println("(x%3 == 2) || (y%2 != 1)의 값은 : "+ ((x%3 == 2|| (y%2 != 1)));
 
    }
 
}
 
cs

이렇게 하면 되는 코드입니다.

하지만 우리가 이렇게 해서는 안되죠.

이해를 해야겠죠.

 

먼저 (x>7) && (y<=5)를 봅시다.

x는 10이니 7보다 큰것이 true

y는 5이니 5보다 같거나 작은것이 true입니다

논리&& 연산은 둘다 true여야 true가 나오기 때문에

해당 코드는 true가 출력됩니다.

 

밑에 (x%3 ==2) || (y%2 ! =1)

을 봅시다

x나누기 3의 나머지는 1이므로 false가 나왔구여

y를 2로 나눈 나머지는 1이므로 1이 아니다는 false가 나왔네요

논리 ||연산은 둘중에 하나만 참이어도 true가 나오는데

둘다 false니까 false가 나오겠군요

 

결과는 당연히 이렇게 나왔습니다.

728x90