24.02.23 8일차
문자열의 비교
*메모리 어딘가에 문자를 저장할 수 있는 공간을 따로 생성이 된다
[기본형]
String a="가나다"
String b="라마바"
> a에는 "가나다"가 저장되는 것이 아닌 메모리 어딘가에 저장된 "가나다"의 주소가 저장된다
a="가나다"
b="가나다"
a==b
> 이것은 실제로는 a와 b가 "가나다" 인것인지를 비교하는 것이 아니라 "가나다"가 들어있는 주소인 오리역인지를 묻는 것이다 (a=오리역, b=오리역)
[참조형]
String c=new String("abc")
String d=new String("123")
String c=new String("abc")
String d=new String("abc")
c==d
* d를 새롭게 abc로 정의하면 문자열이기 때문에 메모리를 참고하지 않고 새로운 것이 만들어진다
> 따라서 c와 d는 같지 않다 (c=모란역, d=야탑역)
* [(문자열변수).equals(문자열변수);] : 문자열을 확인하는 명령어
[JAVA] if문 | switch문 (1) | 2024.02.26 |
---|---|
[JAVA] 조건문 if | if문 | if-else문 (0) | 2024.02.23 |
[JAVA] 연산자 실습 (0) | 2024.02.22 |
[JAVA] 산술 연산자 | 비교 연산자 | 논리 연산자 | 대입 연산자 | 증감 연산자 | 3항 연산자 (0) | 2024.02.21 |
[JAVA] 진법 | 인코딩과 디코딩 | 아스키 | 유니코드 (0) | 2024.02.21 |