백엔드 개발자 공부/Java

[Java] 문자열

gotoguy 2022. 8. 30. 21:50
728x90

String 클래스 타입

    - 클래스는 그 자체로 타입으로 사용 가능

    - 즉, String 클래스는 문자열 타입으로 사용되며, 문자열과 관련된 여러 메서드들을 사용할 수 있음

    - 큰따옴표""로 감싸진 문자열 리터럴

 

변수에 문자열을 할당하는 방법

    1. String 타입의 변수에 문자열 리터럴을 직접 할당

String name = "GoToGuy";

    2. String 클래스의 인스턴스를 생성하여 할당

String name = new String("GoToGuy");

    - 두 방식의 공통점

        참조 타입의 변수에 할당됨 : 실제 문자열의 내용을 값으로 가지는 것이 아니라, 문자열이 존재하는 메모리 공간의 주소값을 저장함

        (toString() 메서드를 자동으로 호출해 문자열로 변환해주기 때문에 주소값이 아닌 문자열 내용이 출력됨)

    - 두 방식의 차이점

        직접 할당하는 방법은 동일한 문자열 리터럴을 두 변수에 할당하는 경우, 두 변수는 같은 문자열의 참조값을 공유함

        인스턴스를 생성하는 방법은 문자열의 내용이 같더라도 별개의 인스턴스가 따로 생성되어서, 서로 다른 참조값을 가짐

 

String 클래스의 메서드

    - charAt() 메서드 : 해당 문자열의 특정 인덱스에 해당하는 문자 반환

        해당 문자열의 길이보다 큰 인덱스나 음수를 전달하면 오류 발생

    - compareTo() 메서드 : 해당 문자열을 인수로 전달된 문자열과 사전 편찬 순으로 비교

        해당 문자열이 인수로 전달된 문자열보다 작으면 음수를, 크면 양수, 두 문자열이 같다면 0을 반환

        대소문자를 구분하여 비교 (대소문자 구분없이 비교하는 메서드는 compareToIgnoreCase())

    - concat() 메서드 : 해당 문자열의 뒤에 인수로 전달된 문자열을 연결한 새로운 문자열 반환

    - indexOf() 메서드 : 해당 문자열에서 인수로 전달된 문자나 문자열이 처음으로 등장하는 위치의 인덱스 반환

        인수의 문자나 문자열이 해당 문자열에 포함되어 있지 않으면 -1 반환

    - trim() 메서드 : 해당 문자열의 맨 앞과 맨 뒤에 포함된 모든 공백 문자 제거

    toLowerCase()/toUpperCase() 메서드 : 해당 문자열의 모든 문자를 소문자/대문자로 변환

728x90

'백엔드 개발자 공부 > Java' 카테고리의 다른 글

[Java] 제어문 (1) - 조건문  (0) 2022.08.31
[Java] 연산자 & 콘솔입출력  (0) 2022.08.30
[Java] 타입  (0) 2022.08.30
[Java] 변수  (0) 2022.08.30
[Java] Intro  (0) 2022.08.30