자체임상실험
Inform Restaurant
자체임상실험
전체 방문자
오늘
어제
  • 분류 전체보기 (89)
    • IT정보와 지식 TABLE (1)
      • IT정보 및 꿀팁 (0)
      • Windows (1)
      • Linux (0)
    • Linux TABLE (0)
      • 취약점 점검 스크립트 (0)
    • Developer TABLE (33)
      • Java (33)
      • Java Algorithm (0)
    • DataBase TABLE (1)
      • SQLD-P (1)
    • Cloud TALBE (0)
      • AWS (0)
    • Security TABLE (1)
      • 비박스(bee-box) 취약점 점검 (1)
      • 보안기사 (0)
    • Writer TABLE (42)
      • 기사필사 (42)
      • 서평 (0)
    • Growth TABLE (10)
      • 국민취업지원제도 (4)
      • 국비학원 (6)
    • Life TABLE (0)
      • 자서전 (0)

블로그 메뉴

  • 홈

공지사항

인기 글

태그

  • @
  • Java
  • while
  • 2차원배열
  • if
  • 동아일보
  • 논설위원필사
  • array
  • 경향신문
  • 초장기 주택담보대출
  • 조용한 고용
  • 방사능
  • for
  • do while
  • 디엠제트
  • Arrays
  • 반복문
  • 지하공간
  • 해양오염수
  • 국민취업지원제도
  • 조건문
  • 배열
  • KH정보교육원
  • Switch
  • 논설위원
  • 천자칼럼
  • 국비학원
  • 한겨레
  • 문자열비교
  • 배열복사

최근 댓글

최근 글

티스토리

hELLO · Designed By 정상우.
자체임상실험

Inform Restaurant

Developer TABLE/Java

비교 연산자(관계 연산자), 문자열비교 equals(), equalsIgnoreCase()

2021. 8. 25. 17:12

비교 연산자(관계 연산자)

==, !=

  • 두 피연산자를 비교하여 결과값으로 true, false 반환
  • 피연산자로 모든 자료형 사용 가능

>, >=, <, <=

  • 두 피연산자의 값의 크기 비교
  • 기본형 boolean, 참조형 제외, 나머지 자료형에 모두 사용 가능

public void method1() {
	int nData1 = 0;
	int nData2 = 13;
	boolean bResult = false;
	
	System.out.printf("nData1(%d) == nData2(%d): %s\n", nData1, nData2, nData1 == nData2);
	System.out.printf("nData1(%d) <= nData2(%d): %s\n", nData1, nData2, nData1 <= nData2);
	System.out.printf("nData1(%d) >= nData2(%d): %s\n", nData1, nData2, nData1 >= nData2);
	System.out.println();
	
	bResult = (nData1 != nData2);
	System.out.println("nData1 != nData2: " + bResult);
	
	bResult = ('A' == 65);	// 65 == 65 자동 형변환
	System.out.println("A == 65: " + bResult);
	
	bResult = (5 == 5.0);	// 5.0 == 5.0 자동 형변환
	System.out.println("5 == 5.0: " + bResult);
	
	bResult = (0.1 == 0.1f);	// 실수형은 부동소수점 오차가 생길 수 있기 때문에 실수형은 비교 연산하지 않는다.
	System.out.println("0.1 == 0.1f: " + bResult);
}

결과값

nData1(0) == nData2(13): false
nData1(0) <= nData2(13): true
nData1(0) >= nData2(13): false

nData1 != nData2: true
A == 65: true
5 == 5.0: true
0.1 == 0.1f: false

문자열 비교

equals()

  • 문자열 비교는 == 대신 equals() 메소드 사용
  • 문자열은 class로 참조형이기 때문에 비교 시 값이 아닌 주소를 비교

equalsIgnoreCase()

  • 대소문자 구분하지 않음

equlas() 예제

public void method3() {
	String sStr1 = "abcd";	// stack 영역 생성, 같은 데이터는 하나만 생성 후 공유
	String sStr2 = "abcd";
	String sStr3 = new String("abcd");	// heap 영역 생성, 각기 다른 주소에 저장
	String sStr4 = new String("abcd");
	
	System.out.println("sStr1 == sStr2: " + sStr1 == sStr2);
	System.out.println("sStr1.equals(sStr2): " + sStr1.equals(sStr2));
	System.out.println("sStr3 == sStr4: " + sStr3 == sStr4);
	System.out.println("sStr3.equals(sStr4): " + sStr3.equals(sStr4));
}

결과값

true
true
false
true

 

equalsIgnoreCase() 예제

public void method3() {
	String sStr1 = "aBcD";	// stack 영역 생성
	String sStr2 = "abcd";
	String sStr3 = new String("aBcD");	// heap 영억 생성
	String sStr4 = new String("abcd");
	
	System.out.println(sStr1 == sStr2);
	System.out.println(sStr1.equalsIgnoreCase(sStr2));
	
	System.out.println(sStr3 == sStr4);
	System.out.println(sStr3.equalsIgnoreCase(sStr4));
}

결과값

false
true
false
true
저작자표시 비영리 (새창열림)

'Developer TABLE > Java' 카테고리의 다른 글

논리 연산자, Short-circuit evaluation  (0) 2021.08.25
단항 연산자  (0) 2021.08.25
산술 연산자, 반올림(Math.round()) 메소드  (0) 2021.08.25
    'Developer TABLE/Java' 카테고리의 다른 글
    • 복합 대입 연산자
    • 논리 연산자, Short-circuit evaluation
    • 단항 연산자
    • 산술 연산자, 반올림(Math.round()) 메소드
    자체임상실험
    자체임상실험
    생활에 유용한 정보와 일상을 담은 휴식처, Sobremesa 입니다.

    티스토리툴바