JAVA

[자바/JAVA] 프로그래밍 - 비교연산자(Comparison operator)

21종 2023. 5. 29. 18:12

비교연산자 / 관계연산자 (이항연산자)

 

두 값을 비교하는 연산자
비교연산자는 조건을 만족하면 true(참), 만족하지 않으면 false(거짓)을 반환

대소비교 연산자 : < > <= >=
동등비교 연산자 : == != 

 

1. 정적(하드) 코딩

int a = 10;
int b = 25;
//int a = 10, b = 25, c = 30;	// 가능하긴 하나 권장하지는 않는다. 가독성!

System.out.println("a == b : " + (a == b));	// false
System.out.println("a != b : " + (a != b));	// true

System.out.println("a <= b : " + (a <= b));	// true
System.out.println("a >= b : " + (a >= b));	// false

boolean result = (a > b);	// 결과가 true, false로 나오기 때문에 boolean
System.out.println("a > b : " + result);	// false

// 산술연산 + 비교연산
System.out.println((a * 2) > (b /5));	// 20 > 5 => true

System.out.println("a가 짝수인가 : " + (a % 2 == 0));	// true
System.out.println("a가 홀수인가 : " + (a % 2 != 0));	// false	// 비교연산
System.out.println("a가 홀수인가 : " + !(a % 2 == 0));	// false	// 논리부정
System.out.println("a가 홀수인가 : " + (a % 2 == 1));	// false	// 비교연산

// 2로 나눴을 때의 나머지가 0일 경우 == 2로 나눠떨어진다는 의미 == 짝수
// 나머지가 1일 경우 == 2로 나눠떨저지지 않음 == 홀수

 

2. 동적 (다이나믹) 코딩

위의 코드보다는 아래 코드처럼 동적으로 코딩하는게 좋다.

Scanner sc = new Scanner(System.in);
System.out.print("첫번째 정수 : ");
int num1 = sc.nextInt();

System.out.print("두번째 정수 : ");
int num2 = sc.nextInt();

System.out.println("첫번째가 두번째 보다 큽니까? : " + (num1 > num2));
System.out.println("첫번째 정수가 짝수입니까? : " + (num1 % 2 == 0));

// 특이케이스 (문자와 숫자간의 대소비교가 가능!!)

System.out.println(num2 < 'A');	// 자동형변환
// 'A' ~ 'Z' : 65 ~ 90

sc.close();