IT수업/JAVA PART1

IT 수업 11주차 (23) String

워제하 2024. 3. 7. 11:39

 

 

 

● 기본 

문자열 비교하기

 

< 실행화면 >

 

- 1번째는 주소가 같기 때문에 true가 나온다.

- 2번째는 참조변수 안에 있는 주소 값을 비교한다.

- str3와 str4는 각각 다른 힙이라는 공간의 메모리 영역에 값이 들어가서 주소를 가리킨다. 

 

 

 

 

 

 

● 위치값 비교, 문자열 비교

위치값을 비교할 땐 System.identityHashCode();를 사용해서 했다.

System.identityHashCode(); 는 객체의 주소를 기준으로한 해시 값을 리턴받을 때 사용한다.

 

equals를 사용하며 문자열을 비교한다.

equals는 최상위의 object에서 물려받은 것이다.

 

< 실행화면 >

 

 

 

 

 

● 문자열 확인

 

< 실행화면 >

 

 

 

 

 

● 위치 찾기

System.identityHashCode();  사용

문자열을 덧붙이는 작업을 반복 할 땐 StringBuffer와 String Bulider를  사용하면된다.

StringBuffer : 각 메서드 별로 Synchronized Keyword가 존재하여 멀티스레드 환경에서도 동기화를 지원한다.

                      스레드에 안전한 프로그램이 필요할 때나 개발중인 시스템의 부분이 스레드에 안전한지 모를 경우 사용한다.

StringBuilder : 동기화를 보장하지 않기 때문에 단일스레드 환경에서 사용하는 것이 좋다.

                        스레드에 안전한지 여부가 전혀 관계없는 프로그램을 개발할 때 사용한다.

 

문자열을 이어붙일 땐 append 를 사용해서 이어붙이면 된다.

 

< 실행화면 >

문자를 덧붙여도 위치는 변함없는것을 확인 할 수 있다.

 

문자를 덧붙인것을 확인하면 이렇게 나온다.

 

< 실행화면 >

 

 

 

 

 

 

 

 

● 문자열 길이 확인

length 로 문자열 길이를 확인 할 수 있다.

charAt :기본형 변수인 char는 단 한 글자만 저장할 수 있는 변수인데 Scanner로 입력을 받을 때는 String 타입으로 받을 수 밖에 없다.  이를 해결하기 위해 charAt()을 사용한다. charAt()은 String으로 저장된 문자열 중에서 한 글자만 선택해서char타입으로 변환해 준다.

 

 

문자열 인덱스는 0부터 시작하게 된다.

 

< 실행화면 >

 

 

 

 

 

 

● indexof

문자 찾기

indexOf 는 앞에서부터 문자를 찾고

lastIndexOf는 뒤에서부터 문자를 찾는다.

 

 

< 실행화면 >

 

 

 

 

 

 

 

 

● contains

해당 문자열을 포함하고 있는지 묻는 것이다.

 

< 실행화면 >

 

 

 

● trim 

양쪽 빈공간 제거

 

< 실행화면 >

 

 

 

 

● subString 
문자열 자르기

 

subString(시작인덱스 위치, 끝 인덱스 위치)를 적으면 된다.

 

< 실행화면 >

 

 

 

 

 

● split 

반복되는 문자를 잘라서 배열형태로 제공

 

< 실행화면 >