[Java] 12. 논리 연산자

psj98·2023년 1월 2일
0

생활코딩 JAVA

목록 보기
12/41
post-custom-banner

1. 논리 연산자

"11. 조건문" 에서 Boolean에 따라 프로그램이 다르게 동작하도록 하는 방법을 배웠다. 이번 시간에는 Boolean의 값을 결합해서 코드를 좀 더 간결하게 만들 수 있는 논리 연산자(Conditional Operator)에 대해서 알아보자.

1. && (and)

&& (and)는 좌항과 우항의 값이 모두 true일 때 참이 된다.

아래 예제를 보면 true && true 인 경우 true로 출력되고, 하나라도 false이면 false로 출력된다는 것을 알 수 있다.

System.out.println(true && true); // true
System.out.println(true && false); // false
System.out.println(false && true); // false
System.out.println(false && false); // false

조건문에서의 예제를 개선한 코드이다. 중첩된 if문을 하나로 줄여 코드의 복잡성도 낮아졌다. 아래 예제는 "아이디가 word이고 비밀번호가 1234이면 참이다"라는 뜻이다.

package org.opentutorials.javatutorials.condition;
 
public class LoginDemo {
	public static void main(String[] args) {
		String id=args[0];  // 아이디
		String pwd=args[1]; // 비밀번호

		/* 아이디와 비밀번호 동시 체크 */
		if (id.equals("word") && pwd.equals("1234")) {
        	System.out.println("right");
		} else {
		    System.out.println("wrong");
		}
	}
}

2. || (or)

|| (or)는 좌항과 우항 중 하나라도 true이면 전체가 true가 되는 논리 연산자다.

아래 예제를 보면 좌항과 우항 중 하나만 true 인 경우 true로 출력되고, 둘 다 false이면 false로 출력된다는 것을 알 수 있다.

System.out.println(true || true); // true
System.out.println(true || false); // true
System.out.println(false || true); // true
System.out.println(false || false); // false

아래 예제는 "아이디가 word 또는 qwer1234이고 비밀번호가 1234이면 참이다"라는 뜻이다.

package org.opentutorials.javatutorials.condition;
 
public class LoginDemo {
	public static void main(String[] args) {
		String id=args[0];  // 아이디
		String pwd=args[1]; // 비밀번호

		/* 아이디와 비밀번호 동시 체크 */
		if ((id.equals("word") || id.equals("qwer1234")) && pwd.equals("1234")) {
        	System.out.println("right");
		} else {
		    System.out.println("wrong");
		}
	}
}

3. ! (not)

! (not)는 부정의 의미로 Boolean의 값을 역전시키는 역할을 한다. true에 !를 붙으면 false가 되고, false에 !을 붙이면 true가 된다.

아래 예제를 보면 !true 인 경우 false로 출력되고, !false이면 true로 출력된다는 것을 알 수 있다.

System.out.println(!true); // false
System.out.println(!false); // true

2. 참고

생활코딩

profile
SSAFY 9기
post-custom-banner

0개의 댓글