250x250
Notice
Recent Posts
Recent Comments
관리 메뉴

탁월함은 어떻게 나오는가?

논리연산자 OR와 AND의 특징 본문

[Snow-ball]프로그래밍(컴퓨터)/java

논리연산자 OR와 AND의 특징

Snow-ball 2020. 12. 16. 23:17
반응형
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
package third;
 
public class ThirdShortCircuit {
    public static void main(String[] args) {
        int num1 = 3, num2 = 7;
        System.out.printf("num1 = %d, num2 = %d\n", num1, num2);
 
        // 후위 연산자(맨 마지막에 실행)
        System.out.println("num1++ = " + num1++);
        System.out.println("num1 = " + num1);
 
        // 전위 연산자(가장 먼저 실행)
        System.out.println("++num2 = " + (++num2));
        System.out.println("num2 = " + num2);
 
        if((num1 % 4 == 0|| (++num1 % 5 == 0)) {
            System.out.println("통과 num1 = " + num1);
        } else {
            System.out.println("불통 num1 = " + num1);
        }
 
        if((num2 % 100 == 0&& (++num2 % 9 == 0)) {
            System.out.println("통과 num2 = " + num2);
        } else {
            System.out.println("불통 num2 = " + num2);
        }
 
        // 어째서 요상한 결과가 나온 것일까 ?
        // OR 연산의 특징을 생각해보자!
        // 하나라도 참이면 ? 참
        // 만약 거짓을 발견하면 ? 연결시키는 뒤의 조건을 확인해야함
        // 그러나 먼저 참을 발견하면 ? 이미 참이므로 뒤를 안 봄
        
        // AND 연산의 특징을 생각해보자!
        // 하나라도 거짓이 있으면 ? 거짓
        // 만약 참을 발견하면 ? 뒤의 조건을 확인해야함
        // 그러나 먼저 거짓을 발견하면 ? 이미 거짓이므로 뒤를 안 봄
        
        // 결론:
        // 케이스: A가 1000번, B가 50번 정도 나타난다.
        // OR 연산자의 경우 - 전체 횟수 1200번 가정
        // 하나라도 참이 있으면 참
        // if(B || A) - 쓸대없이 1150번이나 A를 추가로 검사해야함
        // if(A || B) - 쓸대없는 연산 200번 B를 검사해야함
        // 상대적으로 잘 걸리는 녀석을 전면에 배치한다.
 
        // AND 연산자의 경우 - 전체 횟수 1200번 가정
        // 하나라도 거짓이 있으면 거짓
        // if(A && B) - 쓸대없이 1000번을 추가 검사해야함
        // if(B && A) - 쓸대없이 50번을 추가 검사해야함
        // 상대적으로 잘 안걸리는 녀석을 전면에 배치한다.
    }
}
 
cs

 

 

 

 

 

 

 

인테리어소품 베타존 : 네이버쇼핑 스마트스토어

나를 꾸미다 - 인테리어소품 베타존

smartstore.naver.com

 

반응형

'[Snow-ball]프로그래밍(컴퓨터) > java' 카테고리의 다른 글

For문 예제와 풀이  (0) 2020.12.17
switch(스위치)문 설명과 예제  (0) 2020.12.16
전위연사자와 후위연산자, 숏컷(ShortCircuit)  (0) 2020.12.16
if문  (0) 2020.12.16
쉬프트 연산자  (0) 2020.12.16
Comments