안녕하세요 자바칩 프라푸치노입니다.
오늘은 비교, 논리 연산자에 대한 문제를 풀어보겠습니다.
이 문제는 사실 출력결과만 원한다면
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
'JAVA > java 문제' 카테고리의 다른 글
[자바JAVA]연산자 - 섭씨 화씨 변환하기 (0) | 2020.09.20 |
---|---|
[자바JAVA]연산자 - 쉬프트연산자, 논리연산자, 비교연산자, 증감연산자 (0) | 2020.09.19 |
[자바JAVA]연산자 - 산술연산자 활용 (0) | 2020.09.18 |
[자바JAVA] 연산자 - 삼항연산자 (0) | 2020.09.18 |
[자바JAVA]연산자 - 증감연산자. 전위증가, 전위감소, 후위증가, 후위감소 (0) | 2020.09.18 |