일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 | 31 |
- 연산자 우선순위
- 서버개발
- A+B - 7
- 이너클래스
- 백준10953
- nextline()
- 그라운드시소
- Java
- 알고리즘
- 비교 연산자
- 백준
- 포맷팅
- BufferedWriter
- 조건 연산자
- 인스턴스
- 문자열메서드
- 코딩은체육과목입니다
- SpringBoot
- 15552
- 논리 연산자
- 산술 연산자
- 인스턴스화
- nextInt()
- 백준11021
- A+B - 6
- 코딩테스트
- 백준15552
- 10953
- 11021
- BufferedReader
- Today
- Total
Coded by Juny
문자열 타입 본문
2023.11.10 - [Study/JAVA] - Java의 변수와 타입
전 시간에 배운 문자타입이 문자열 타입 아니야? ㅡㅡ
데이터 타입 이름만 봐도 유추할 수 있을 것이다. 그렇다. 문자열은 여러 문자를 저장할 수 있는 데이터 타입이다. 문자열 데이터타입 선언은 String이라는 이름을 이용한다.
String my_name = "Yongjun";
위와 같이 사용 가능하며 문자열 타입은 String을 이용하고 저장하는 값은 여러 문자를 넣어 줄 수 있다. 또한 감사하게도 공백도 하나의 문자로 취급하여 저장 가능하니 잘 활용해보자.
문자열 타입은 여러 문자를 넣는 만큼 각 문자마다 고유의 주소같은 게 존재하는데 이러한 특성을 이용해 Java에서 지원하는 각종 메서드를 통해 다양한 기능을 활용할 수 있으니 추후에 더 살펴보자.
문자열은 String을 다룰 수 있는 String 클래스 타입을 이용한다. 문자열을 위한 클래스로 분류되고 여기에서 String 관련 메서드들을 사용할 수 있다.
String 클래스에서 지원하는 메서드들은 뭐야?
우선 들어가기 전에 메서드라는 개념부터 익혀보자. Java에서 칭하는 메서드란 어떤 클래스 내부에 존재하는 특정 부분으로 어떠한 기능을 하도록 작성한 코드 묶음이다. 즉 이러한 코드 묶음을 통해 데이터를 입력받거나 특정 상황이 될 때 일련의 처리 과정을 통해 원하는 결과를 반환하는 기능을 의미한다.
특정 메서드를 사용자가 직접 만들 수 도 있지만 특정 기능을 사용할 수 있도록 클래서에서 이미 정의되어있는 메서드를 사용할 수도 있다. 밑에서는 String 클래스에서 이미 정의되어 있는 String 처리 메서드들을 살펴보자.
1. length( )
해당 메서드는 문자열의 길이, 즉 철자의 개수를 리턴하는 메서드이다.
String str = "StringTest";
System.out.println(str.length());
스트링 타입의 str 변수에 "StringTest"를 넣어주고 아래 출력코드에 length() 메서드를 사용하면 문자의 개수인 10이 출력된다.
2. charAt( )
해당 메서드는 문자열의 특정 인덱스에 해당하는 문자를 반환한다. 문자열의 길이보다 큰 인덱스 값이나 음수를 넣게된다면 오류가 발생하고 문자열의 첫번째 인덱스는 0이다.
String str = new String("Java");
System.out.println(str.charAt(0)); // 'J'
System.out.println(str.charAt(1)); // 'a'
System.out.println(str.charAt(2)); // 'v'
System.out.println(str.charAt(3)); // 'a'
charAt( ) 괄호 안에 추출한 문자의 인덱스를 적어 원하는 문자를 출력할 수 있다.
3. indexOf( )
해당 메서드는 문자열에서 특정 문자열을 찾기위한 메서드이다. charAt( )가 특정한 인덱스의 문자를 출력하는 거라면 indexOf( )는 특정 문자열이 위치한 인덱스를 반환한다.
String str = new String("Oracle Java");
System.out.println(str.indexOf('o')); // 출력값 -> -1
System.out.println(str.indexOf('a')); // 출력값 -> 2
System.out.println(str.indexOf('p')); // 출력값 -> -1
해당 메서드는 문자의 대소문자를 구분하기 때문에 첫 번째 예시는 -1이 된다. 또한 해당 메서드는 여러 문자가 있을 시에는 처음 찾는 문자의 인덱스만 반환하기 때문에 2번 째 예시는 2가 된다. 마지막으로 p는 해당 문자열에 존재하지 않기 때문에 -1을 반환하게 된다.
4. toLowerCase( ) & toUpperCase( )
문자열에서는 문자의 대, 소문자의 구분이 있기 때문에 이러한 문자를 서로 바꿔주는 메서드가 있다. 메서드명으로 알 수 있듯이 toLowerCase( )는 대문자를 소문자로, toUpperCase( )는 소문자를 대문자로 바꿔주는 메서드이다.
String str = new String("Java");
System.out.println(str.toLowerCase()); // java
System.out.println(str.toUpperCase()); // JAVA
출력값을 보면 각각 대문자 소문자로 바꿔준 것을 알 수 있다
이 밖에도 String 클래스에서 지원하는 많은 메서드들이 존재하니 아래 표를 참고해보자.