✔ 개요
- 원시(primitive) 자료형
- 문자열 내장 메소드
- equals
- indexOf
- contains
- charAt
- replaceAll
- substring
- toUpperCase
- split
- 문자열 포매팅(String.Format)
- StringBuffer
- append
- insert
- substring
문자열이란?
문장을 뜻한다.
예시)
"Hello World"
"b"
"412412"
자바에서 문자열을 나타내는 자료형은 String 이다.
문자열을 자바에서 표현하는 법)
String a = "hello World";
String b = "a";
String c = "123123";
원시(primaitive) 자료형
int, long, double, float, boolean, char 등을 자바는 원시(primitive) 자료형 이라고 부른다.
primitive 자료형은 다음과 같이 리터럴(literal)로만 값을 세팅할 수 있다.
boolean result = true;
char capitalC = 'C';
int i = 100000;
String은 primitive 자료형이 아니다.
문자열 내장 메소드
1. equals
equals는 두개의 문자열이 동일한지를 비교하여 결과값을 리턴한다.
예시)
String a = "hello";
String b = "java";
String c = "hello";
System.out.println(a.equals(b)); // false 출력
System.out.println(a.equals(c)); // true 출력
2. indexOf
indexOf는 문자열에서 특정 문자가 시작되는 위치(인덱스)를 리턴한다.
예시)
String a = "Hello Java";
System.out.println(a.indexOf("Java")); // 6 출력
// java라는 문자열이 시작되는 위치가 6인 것을 알 수 있다.
3. contains
contains는 문자열에서 특정 문자열이 포함되어 있는지의 여부를 리턴한다.
예시)
String a = "Hello Java";
System.out.println(a.contains("Java")); // true 출력
//Java라는 문자열이 포함되어 있기 때문에 true를 출력한다.
4. charAt
charAt은 문자열에서 특정 위치의 문자(char)를 리턴한다.
예시)
String a = "Hello Java";
System.out.println(a.charAt(6)); // "J" 출력
// Hello Java라는 문자열에서 "J"라는 문자는 일곱번째 문자이다. 하지만 6으로 문자를 찾아야 하는
// 이유는 자바는 숫자를 0부터 세기 떄문이다.
5. replaceAll
replaceAll은 문자열 중 특정 문자열을 다른 문자열로 바꾸고자 할 때 사용한다.
예시)
String a = "Hello Java";
System.out.println(a.replaceAll("Java", "World")); // Hello World 출력
// Java가 World로 바뀌게 되서 Hello World가 출력되게 된다.
6. substring
substring은 문자열 중 특정 부분을 뽑아낼 경우에 사용한다.
String a = "Hello Java";
System.out.println(a.substring(0, 4)); // Hell 출력
// 맨 앞이 0이기 때문에 Hell 까지만 출력된다.
7. toUpperCase, toLowerCase
toUpperCase는 문자열을 모두 대문자로 변경할 때 사용한다.
toLowerCase는 문자열을 모두 소문자로 변경할 때 사용한다.
String a = "Hello Java";
System.out.println(a.toUpperCase()); // HELLO JAVA 출력
/*String a = "Hello Java";
System.out.println(a.toLowerCase()); // hello java 출력 */
8. split
split는 문자열을 특정 구분자로 분리하는 메소드이다.
String a = "a:b:c:d";
String[] result = a.split(":"); // result는 {"a", "b", "c", "d"}
//"a:b:c:d" 라는 문자열을 ":" 문자로 나누어 {"a", "b", "c", "d"} 문자열 배열을 만들수 있다.
문자열 포매팅(String.format)
1. 숫자 바로 대입
2. 문자열 바로 대입
3. 숫자 값을 나타내는 변수로 대입
4. 2개 이상의 값 넣기
포맷 코드와 숫자 함께 사용하기
1. 정렬과 공백
System.out.println(String.format("%10s", "hi")); // " hi" 출력
// %10s 는 전체 길이가 10개인 문자열 공간에서 대입되는 값을 오른쪽으로 정렬하고 그 앞의 나머지는 공백으로 남겨 두라는 의미이다.
// %-10s 는 왼쪽정렬이 된다.
2. 소수점으로 표현하기
System.out.println(String.format("%.4f", 3.42134234)); // 3.4213 출력
System.out.println(String.format("%10.4f", 3.42134234)); // ' 3.4213' 출력
System.out.printf 메소드와 함께 사용해야 한다.
Stirng.format과 System.out.printf의 차이는 전자는 문자열을 리턴하는 메소드이고
후자는 문자열을 출력하는 메소드라는 점이다. 상황에 맞게 선택하여 사용할 수 있다.
StringBuffer
1. append
append를 사용해서 계속해서 문자열을 추가해 나갈 수 있다.
StringBuffer sb = new StringBuffer(); // StringBuffer 객체 sb 생성
sb.append("hello");
sb.append(" ");
sb.append("hihi");
String result = sb.toString();
System.out.println(result);
// 결과값은 hello hihi이다.
2. insert
insert는 특정 위치에 원하는 문자열을 삽입할 수 있다.
StringBuffer sb = new StringBuffer();
sb.append("asdasd");
sb.insert(0, "hello ");
System.out.println(sb.toString());
// 출력 값 : hello asdasd
// insert를 사용하여 0번째 위치에 "hello"라는 문자열을 삽입했다.
3. substring
String 자료형의 substring 메소드와 동일하게 사용(원하는 번호위치까지 출력)
'프로그래밍 언어 > Java' 카테고리의 다른 글
Java 자료형 - Map - HashMap (0) | 2022.06.03 |
---|---|
Java 자료형 - List - ArrayList (0) | 2022.06.03 |
Java 자료형 - 문자(char) (0) | 2022.05.07 |
Java 자료형 - boolean(true or false) (0) | 2022.05.07 |
Java 자료형 - 숫자(Number) (0) | 2022.05.07 |