본문 바로가기

프로그래밍/Java (기초)

논리 연산자 (and, or, not)

반응형

논리 연산자

Boolean을 결합하여 코드를 간결하게 만드는 기능을 수행한다.


AND (&&)


&&는 좌,우항의 값이 모두 true일 때, 참이되며, AND라고 읽는다.


        if (true && true) {

            System.out.println(1);

        }

 

        if (true && false) {

            System.out.println(2);

        }

 

        if (false && true) {

            System.out.println(3);

        }

 

        if (false && false) {

            System.out.println(4);

        } 

// 좌,우항이 모두  true인 조건문은 하나이므로

1이 출력된다.




        if (id.equals("egoing") && password.equals("111111")) {

            System.out.println("right");

        } else {

            System.out.println("wrong");

        }


// 기존의 로그인 프로그램을, 논리연산자 AND를 이용해 개선하였다.

if문에 and를 이용하여, 사용자가 egoing과 111111을 입력했을때만 right를 출력하고, 둘중 하나라도 틀리면 false가 되어, wrong을 출력 한다.




|| (or)

좌,우항 둘중에 하나라도 true가 있다면 참으로 반환하는 논리연산자이다.


        if (true || true) {

            System.out.println(1);

        }

        if (true || false) {

            System.out.println(2);

        }

        if (false || true) {

            System.out.println(3);

        }

        if (false || false) {

            System.out.println(4);

        }


// 둘중 하나라도 true인 조건문은 1,2,3 번째 이므로

1 2 3을 출력한다.




        String password = args[1];

        if ((id.equals("egoing") || id.equals("k8805") || id.equals("sorialgi"))

                && password.equals("111111")) {

            System.out.println("right");

        } else {

            System.out.println("wrong");

        }


// 사용자가 egoing, k8805, sorialgi 중 하나를 입력하고 111111을 입력하면 true로 반환하여 right가 출력된다.



! (not)


부정의 의미로 Boolean값을 역전 시킨다.

!false는 true가 되고, !true는 false가 된다.



    public static void main(String[] args) {

        if (!true) {

            System.out.println(1);

        }

        if (!false) {

            System.out.println(2);

        }


// 첫번째 조건문은 false가되고, 두번째는 true가 되어 2가 출력된다.



반응형

'프로그래밍 > Java (기초)' 카테고리의 다른 글

반복문의 제어(break, continue, 반복문의 중첩)  (0) 2016.03.18
반복문(while, for)  (0) 2016.03.18
조건문 - switch  (0) 2016.03.18
조건문 - if  (0) 2016.03.18
비교와 Boolean(불리언)  (0) 2016.03.18