기본형에서는 두수의 값을 비교하는 연산자이다.
비교 연산하여 결과값으로 boolean 값을 준다. (true,false)
비교하는 피연산자의 타입이 서로 다른 경우에는 자료형의 범위가 큰쪽으로 자동 형변환하여 타입을 일치 시킨후에 비교 한다.
> 좌측의 값이 우측의 값보다 큰가 ?
< 좌측의 값이 우측의 값보다 작은가?
>= 좌측의 값이 우측의 값과 같거나 큰가?
<= 좌측의 값이 우측의 값과 같거나 작은가?
== :좌측의 값이 우측의 값과 같은가 ?
!= : 좌측 값이 우측의 값과 다른가?
package com.java.operator07.comparison;
public class Comparison01 {
public static void main(String[] args) {
// 비교(관계)연산자 ( < ,> , =)
//결과값:true, false
int i =10;
int j = 10;
System.out.println(i==j);
System.out.println(i!=j);
System.out.println(i>j);
System.out.println(i<j);
System.out.println(i>=j);
}
}
package com.java.operator07.comparison;
public class Comparison02 {
public static void main(String[] args) {
int x =1;
int y =3;
if(x<y) System.out.println("x가 y보다 작다");
if(x!=y) System.out.println("x와 y가 같지 않다");
}
}
등가비교(==,!=) 변수의 경우는 값을 ,참조자료형의 경우는 주소값을 비교한다.
문자열 비교함수 equals( )
문자열과 같은 참조 자료형의 값을 비교 할 때는 ==, = 이 아닌 equals를 사용해야 한다 .== 는 두 객체의 메모리 주소를 비교하는 함수 이다.
참고)비교 대상 중 기본 자료형 변수가 하나라도 있다면, == 연산자는 값으로 비교한다.
package com.java.operator07.comparison;
public class Comparison03 {
public static void main(String[] args) {
// 문자열 비교
String a = "Hello";
String b = "Hello";
// 메모리값 비교
boolean comp = (a == b);
System.out.println(comp);
//두 값 비교
boolean comp2 =a.equals(b);
System.out.println(comp2);
}
}