본문 바로가기
JAVA

논리 연산자

by 선우진우 2023. 12. 26.
728x90
반응형

 


import java.util.Scanner;

public class E_Logical {

	//논리 연산자
	// - 두 개의 논리 값을 비교하는 연산자
	// && (AND) -(앰퍼센트) : 그리고, ~이고, ~면서
	// || (OR) - (버티칼 바) : 또는, ~거나
	
	public void method1() {
		
		// 입력받은 숫자가 1이상 이고, 100미만 인 경우 true;
		Scanner sc = new Scanner(System.in);
		
		
		System.out.print("정수 입력 : ");
		int input = sc.nextInt();
		
		boolean isTrue = (input >= 1) && (input < 100);
		System.out.println("범위 안에 값이 맞습니까? " + isTrue); // 1 ~ 99 = true , 그 외 정수는 false.
		
	}
	
	
	public void method2() {
		// 입력받은 문자(한 글자)가 영어 대문자인지 확인하기.
		
		Scanner sc = new Scanner(System.in);
		
		// 문자 하나 입력받기
		System.out.print("문자 하나 입력 : ");
		char input = sc.nextLine().charAt(0);
		
		boolean isTrue = (input >= 'A') && (input <= 'z');
		System.out.println("범위 안에 값이 맞습니까? " + isTrue);
		
		
	}
	
	
	public void method3() {
		// 논리A && 논리B
		// --> 논리 A가 false면,뒤를 생각 안함
		// --> 논리 B의 식을 실행하지 말아라
		
		// 논리A || 논리B
		// --> 논리 A가 true이면, 뒤를 생각 안함
		// --> 논리B의 식을 실행하지 말아라
		
		int num = 10;
		
		boolean bool = false && (++num > 0); // Dead Code
		System.out.println("num : " + num); //10
		
		bool = true && (++num < 0);
		System.out.println("num : " + num); //11
		
		bool = true || (++num < 0); // Dead Code
		System.out.println("num : " + num); // 11
		
		bool = false || (++num > 0);
		System.out.println("num : " + num); //12
		
		
		////////////////////////////////////////////////////
		
		// 증감 + 산술 + 비교 + 논리
		
		int a = 2;
		int b = 3;
				
		boolean c = a > b;
		boolean d = ++a <= b++; 

		System.out.println("a : " +a); //3
		System.out.println("b : " +b); //4
		System.out.println("c : " +c); //false
		System.out.println("d : " +d); //true
				
		System.out.println();
				
		System.out.println("!c : " + !c); //true
		System.out.println("c != d : " + (c != d)); //true 
				
		System.out.println();
				
		System.out.println("(a % b) == 1 : " + ((a % b) == 1)); //false 
		System.out.println("(a == 3) && (b == 4) : " + ((a == 3) && (b == 4))); // true
		System.out.println("!d || (a-b) > 0 : " + (!d || (a-b) > 0)); // false 
		
		System.out.println();
				
		System.out.println("!(c == d) && ((a * b == 10) || ( b % 2 == 0)) : " 
		+ (!(c == d) && ((a * b == 10) || ( b % 2 == 0)))); 
		//   true               (괄호 먼저 연산 a*b==10 || b % 2 ==0)					
		//   true    &&       false    ||       true 
		//   true    &&               true
		
		
												
	}
}


 

 

728x90
반응형

'JAVA' 카테고리의 다른 글

삼항 연산자  (0) 2023.12.26
복합 대입 연산자  (1) 2023.12.26
비교 연산자 (관계연산)  (0) 2023.12.26
산술 연산자  (1) 2023.12.26
증감연산자  (0) 2023.12.26