Java/모두의 자바

Chapter 03-13 논리 연산자

계란💕 2022. 2. 3. 20:31

03-13.1 논리 연산자

 

       A          B     |    A && B      A || B       !A          A^B   

---------------------+-------------------------------------------

     true      true    |       true         true      false        false

     true      false   |       false        true      false        true            

    false       true   |        false        true      true        true                       

    false      false   |        false       false      true         false   

 

  - && (논리곱, and연산자) : 피연산자가 모두 true 일 때만 true를 반환.

  - ||  (논리합, or연산자) : 피연산자 중 하나만 true 이면 true를 반환.

  - !  (논리 부정) : 피연산자가 false면 true반환, true면 false를 반환.

  - ^ (배타적 논리합) : 피연산자가 하나는 true이고 다른 하나는 false일 때만 true를 반환.

                             (두 개가 달라야만 한다)

03-13.2 논리곱

<hide/>

public class LogicalOperatorExam {
	public static void main(String[] args){		
		boolean b1 = true;
		boolean b2 = false;
		boolean b3 = true;
		
		System.out.println(b1 && b2);
		System.out.println(b1 && b3);		
	}
}

  Note) 출력 결과: false, true

 

03-13.3 논리합

<hide/>

public class LogicalOperatorExam {
	public static void main(String[] args){		
		boolean b1 = true;
		boolean b2 = false;
		boolean b3 = true;
		
		System.out.println(b1 || b2);
		System.out.println(b1 || b3);
		System.out.println(b2 || b2);
	}
}

  Note) 출력 결과: true, true, false                       

 

03-13.4 배타적 논리합

<hide/>

public class LogicalOperatorExam {
	public static void main(String[] args){		
		boolean b1 = true;
		boolean b2 = false;
		boolean b3 = true;
		
		System.out.println(b1 ^ b3);
		System.out.println(b1 ^ b2);
	}
}

  Note) 출력 결과: false, true

 

03-13.5 논리 부정 연산자

<hide/>

public class LogicalOperatorExam {
	public static void main(String[] args){		
		boolean b1 = true;
		boolean b2 = false;
		boolean b3 = true;
		
		System.out.println(!b1);
		System.out.println(!b2);
	}
}

  Note) 출력 결과: false, true

 

03-13.6 예제 1) 논리 연산자 이용해서 입력값이 70~100 사이이면 "성공" 출력, 아니면 "실패" 출력하라.

<hide/>

public class LogicalOperatorExam {
	public static void main(String[] args){		
		int score = 80;
		if ( 70 <= score && score <= 100) {
			System.out.println("성공");
		} else {
			System.out.println("실패");
		}		
		
	}
}

  Note) score에 70 ~ 100 사이의 값을 입력하면 "성공"이 출력 된다.

 

03-13.7 논리 연산자 실습

           문제1) 나이가 19세 이하 또는 60세 이상이면 할인해주는 경우, int형 변수 age의 값이 할인 대상인지 확인.

                    할인대상이면 -> isDiscount에 true, 반대의 경우에는 false를 저장하라.

<hide/>

public class LogicalOperatorExam {
	
	public boolean isAgeDiscountable(int age) {
		boolean isDiscount = false;
		
		if (  age <= 19  || age >=  60  ) {
			isDiscount = true;			
		} else {
			isDiscount = false;
		}
	return isDiscount;	
	}	
	public static void main(String[] args){
		LogicalOperatorExam exam = new LogicalOperatorExam();
		System.out.println(exam. isAgeDiscountable(15));
		System.out.println(exam. isAgeDiscountable(27));
		System.out.println(exam. isAgeDiscountable(61));	
	}			
}

     Note) 출력 결과: true, false, true 출력

 

03-13.8 논리 연산자 실습

           문제2) int형 변수 age의 값을 검사해서 20대인지 검사한다고 할 때, 20대라면 isTwenties에 true출력.

<hide/>

public class LogicalOperatorExam {
	
	public boolean isAgeTwenties(int age) {
		boolean isTwenties = false;
		
		if( 20 <= age && age < 30 ) {
			isTwenties = true;		
		} else {
			isTwenties = false;
		}
		return isTwenties;
	}	
	public static void main(String[] args){
		LogicalOperatorExam exam = new LogicalOperatorExam();
		System.out.println(exam.isAgeTwenties(15));
		System.out.println(exam.isAgeTwenties(23));
		System.out.println(exam.isAgeTwenties(40));	
	}			
}

   

  Note) 출력 결과: false, true, false

'Java > 모두의 자바' 카테고리의 다른 글

Chapter 03-15 Switch 문  (0) 2022.02.03
Chapter 03-14 삼항 연산자  (0) 2022.02.03
Chapter 03-12 if문  (0) 2022.02.03
Chapter 02-11 연산자 우선순위  (0) 2022.02.03
Chapter 02-10 비교 연산자  (0) 2022.02.03