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