복습
https://shins99.tistory.com/36
[자바 기초] 템플릿 메서드 패턴 (Template Method Pattern)
복습 https://shins99.tistory.com/35 [자바 기초] 추상 클래스 복습 https://shins99.tistory.com/34 [자바 기초] 다형성 복습 https://shins99.tistory.com/32 [JAVA] 상속 복습 https://shins99.tistory.com/25 [자바 기초] 배열 복습 h
shins99.tistory.com
💡 학습 목표
1. 문자열 생성 방법을 이해하자
2. 상수풀 영역이라는 것을 이해 하자. (Constant Pool)
3. 값을 비교할 때는 equals 를 반드시 사용하자.
String
- 문자열 이라는 데이터를 보관, 연산 사용
문자열1. equals(문자열 2)
if(str1.equals(str2)) {
System.out.println("같은 값이에요. ");
} else {
System.out.println("다른 값이에요. ");
}
- 문자열 1과 문자열 2의 주소값이 같으면 true 반환
- 문자열.equals(변수) ← null에러 방지
문자열1. equalsIgnoreCase(문자열 2)
if(str1.equalsIgnoreCase(str2)) {
System.out.println("같은 값이에요. ");
} else {
System.out.println("다른 값이에요. ");
}
- 문자열 1과 문자열 2의 주소값이 같으면 true 반환
문자열.indexOf("문자")
문자열에서 해당 문자가 첫 번째로 등장하는 위치의 인덱스 반환
문자열(String) = 문자열.indexOf("S") == 0번째
상수 풀 메모리 영역
// String
// 문자열이라는 데이터를 보관, 연산 사용
// static 영역, 데이터영역, --> 상수 풀 영역
String str1 = "반가워";
String str2 = new String("반가워");
String str3 = "반가워";
System.out.println(str1);
System.out.println(str2);
// 시나리오 1
if(str1 == str2) {
System.out.println("주소값이 같아요!");
} else {
System.out.println("주소값이 달라요");
}
// 시나리오 2
// 리터럴 방식으로 생성한 문자열은
// 이미 생성한 값이 똑같다면 새로 만들지 않고
// 재활용 한다.
if(str1 == str3) {
System.out.println("주소 같음");
} else {
System.out.println("주소 다름");
}
System.out.println("******************");
// 시나리오 3
str3 = "반갑습니다"; // 값을 변경
if(str1 == str3) {
System.out.println("주소 같아요~ 다시 확인");
} else {
System.out.println("주소 달라요! 다시 확인");
}
System.out.println("---------------------------");
// 시나리오 4
// 문자열에 값을 비교할려면 equals를 반드시 사용하세요
if(str1.equals(str2)) {
System.out.println("같은 값이에요. ");
} else {
System.out.println("다른 값이에요. ");
}
}
}
'[JAVA] > [자바 기초]' 카테고리의 다른 글
[자바 기초] Object 클래스 (2) | 2023.08.11 |
---|---|
[자바 기초] 인터페이스 (Interface) (2) | 2023.08.11 |
[자바 기초] 템플릿 메서드 패턴 (Template Method Pattern) (3) | 2023.08.10 |
[자바 기초] 추상 클래스 (0) | 2023.08.10 |
[자바 기초] 다형성 (1) | 2023.08.09 |