본문 바로가기
JAVA

JAVA - String의 선언과 활용

by 스노위13 2022. 6. 15.

1. String이란?

String은 문자열을 저장할 수 있는 타입으로 기본 타입이 아닌 클래스 타입으로 참조 변수이다.
String은 쌍따옴표("") 안에 작성한 문자들을 문자열로 저장한다. 

※ char로 선언한 "가"와 String으로 선언한 "가"는 서로 타입이 다르다.

2. String의 선언
String 변수를 선언하는 방법은 아래와 같다.

       String 변수명;

그리고 String 변수에 문자열을 저장하려면 큰 따옴표로 감싼 문자열을 대입하면 된다.

       변수명 = "문자열";

또한 선언과 동시에 문자열을 저장할 수도 있다.

       String 변수명 = "문자열";

아래는  String에 문자열 Apple을 저장한 예시이다. 

       String fruits = "Apple";

3. String의 활용

(1) .lenght() : 해당 문자열의 길이를 리턴해주는 메소드

       System.out.println(fruits.length());

Apple은 알파벳 5개로 이뤄져 있기 때문에 위의 값은 5로 출력된다.

(2) .charAt(인덱스 번호) : 배열, 문자열에서 몇 번째에 해당하는 숫자를 의미한다.

fruits에 새로운 값을 대입하여 보자.

       fruits = "Apple, Banana, Cherry";

.charAt(인덱스 번호)은 해당 문자열에서 인덱스 번호에 해당하는 문자를 리턴한다. 그런데 인덱스 번호는 0부터 시작하므로 인덱스 0은 첫 번째에 들어가있는 값을 의미한다. 결국 Apple은 인덱스 0, Banana는 인덱스 1, Cherry는 인덱스 2다. 

       System.out.println(fruits.charAt(0)); 

위의 코드는 fruits의 0번째 인덱스인 "A"를 가져온다. 

(3) .indexOf(문자) : 괄호 안에 있는 문자를 찾아 몇 번째 인덱스인지 출력해주고 해당 문자가 없다면 "-1"을 리턴한다.

    System.out.println(fruits.indexOf("B"));

위의 코드는 "B"의 인덱스 번호인 7을 출력한다. 

    System.out.println(fruits.indexOf("O"));

위의 코드는 "-1"을 리턴한다. 이처럼 특정 문자가 존재하는지 확인할 때도 활용할 수 있다.

(4) .substring(시작 인덱스, 끝 인덱스) : 해당 문자열을 시작 인덱스에서 끝 인덱스 전까지 표시한다. 끝 인덱스가 문자열의 마지막인데 그것까지 포함하고 싶다면 +1을 한다.

    System.out.println(fruits.substring(0, 5));

위의 코드는 인덱스 0부터 5까지이므로 "Apple"을 출력한다. 

    System.out.println(fruits.substring(7));

위의 코드처럼 괄호 안에 시작 인덱스만 넣는다면? 해당 문자열을 시작 인덱스부터 문자열 끝까지 표현해준다. 결국 위의 코드는 Banana, Cherry를 출력한다. 

(5) .replace(교체하고 싶은 문자열, 새롭게 넣을 문자열) : 전체 문자열에서 교체하고 싶은 문자를 찾아 세롭게 넣을 문자열로 교체해준다.

    System.out.println(fruits.replace("Cherry", "Coconut"));

위의 코드는 "Apple, Banana, Coconut"로 출력된다. 하지만 바로 다음에 

    System.out.println(fruits);

위의 코드를 실행해서 확인해보면 선언한 원본은 그대로 유지되어 "Apple, Banana, Cherry"로 출력된다. 변수에 값을 새롭게 대입하지는 않았기 때문이다.

(6) .trim() : 해당 문자열의 양쪽 끝에 존재하는 공백 문자만 제거해 준다.
    String world = "             The New World           ";
    System.out.println(world.trim()); 

trim은 양쪽 끝에 존제하는 공백 문자만 제거해주기 때문에 위의 코드는 "The New World"로 출력된다. 만약 모든 공백을 제거하고 싶다면 (5)에서 배웠던 replace를 이용한다. 

    System.out.println(world.replace(" ", ""));

위의 코드는 모든 공백을 제거해버렸기 때문에 "TheNewWorld"로 출력된다. 

(7) .toUpperCase() : 해당 문자열에 존재하는 알파벳을 전부 "대문자"로 변경 
     .toLowerCase() : 해당 문자열에 존재하는 알파벳을 전부 "소문자"로 변경

    System.out.println(fruits.toUpperCase());
    System.out.println(fruits.toLowerCase());

위의 코드는 각각 "APPLE, BANANA, CHERRY", "apple, banana, cherry"로 출력된다. 회원가입이나 로그인 시 ID 입력같이 모두 소문자로 임력해야 하는 경우에 많이 사용되고, substring()와 함께 사용하여 특정 문자만 대문자 또는 소문자로 만들고 싶을 때 사용한다.

(8) .concat(문자열) : 해당 문자열 뒤에 괄호 안에 있는 문자열을 붙인다

    System.out.println(fruits.concat(", Durian"));

위의 코드는 "Apple, Banana, Cherry, Durian"로 출력된다. 하지만 "+"를 사용해도 똑같이 실행된다.

    System.out.println(fruits + ", Durian");

위의 코드는 concat한 코드와 똑같은 값을 출력한다. 

'JAVA' 카테고리의 다른 글

JAVA - 클래스의 구성  (0) 2022.07.15
JAVA - 클래스와 객체  (0) 2022.06.20
JAVA - 기초 프로젝트 : 간단한 콘솔 게임 "이승탈출 넘버원"  (0) 2022.06.08
JAVA - 조건문(if문, switch문)  (0) 2022.06.08
JAVA - 삼항연산자  (0) 2022.06.08

댓글