반응형

비교연산자 

(<,<=,>,>=)또는 (==, !=) true/false 를 산출한다.

 

== : 같다비교

!= : 다르다비교

<= : 같거나 크다

char 타입일 경우 유니코드로 값 비교하여 반환

public class Example7 {
	public static void main(String[] args) {
		int num1 = 10;
		int num2 = 10;
	
		boolean result1 = (num1 == num2); // num1이랑 num2가 같은가
		boolean result2 = (num1 != num2); // num2이 num2랑 다른가
		boolean result3 = (num1 <= num2); // num2가 num1보다 같거나 큰가
		System.out.println("result1 = " + result1);
		System.out.println("result2 = " + result2);
		System.out.println("result3 = " + result3);
		
		char char1 = 'A';
		char char2 = 'B';
		boolean result4 = (char1 < char2);
		//char타입이면 유니코드 값으로 반환하여 수행한다. (65 < 66) 
		System.out.println("result4=" + result4);
		
	}
}

 

Example7 결과

 

String 타입의 문자열 비교 (equals())

public class Example8 {
	public static void main(String[] args) {
    		String strVar1 = "비교";// 동일한 String 객체 참조
		String strVar2 = "비교";// 동일한 String 객체 참조
		String strVar3 = new String("비교"); // 객체생선연산자 new 로 새로운 String 객체
		
		System.out.println(strVar1 == strVar2);
		System.out.println(strVar1 == strVar3);
		System.out.println(strVar1.equals(strVar3));
	}

}

strVar1strVar2동일한 String 객체를 참조한다. 

strVar3은 객체연산자 new로 새로운 객체를 생성한다.

본문에 보이듯 동일한 String 객체를 가리키는 strVar1, strVar2는 == 연산자를 통해 true가 나오지만 strVar1, strVar3를 비교하면 false가 나온다.

equals() 는 서로의 문자열만 비교하기 때문에 true가 나온다.

 

Example8 결과

반응형

논리 연산자(&&, ||, !)

논리연산자(&&)는 AND(논리곱) 비교대상 모두가 true경우만 true

		int a = 3;
		int b = 5;
		
		System.out.println((a>3) && (b>2));

====> false

논리연산자(||)는 OR(논리합) 비교대상 하나만 true면 결과는 true

		int a = 3;
		int b = 5;
		
		System.out.println((a>3) || (b>2));

====> true

논리연산자(!)는 !(not) true -> false, false -> true

		int a = 3;
		int b = 5;
		
		System.out.println(!((a>3) || (b>2)));

=====> false !()

 

 

 

 

 

반응형

+ Recent posts