String 타입의 변수 선언과 할당
문자열이란 문자들로 구성된 문장을 뜻한다.
- "Hello Java"
- "a"
- "123"
기본적으로 String 타입은 큰따옴표(" ")로 감싸진 문자열을 의미한다.
// 문자열 리터럴을 String 타입의 변수 name에 할당하는 방법
String name1 = "Hello World!";
// String 클래스의 인스턴스를 생성하는 방법
String name2 = new String("Hello World!");
문자열 내장 메서드
String 자료형 내장 메서드 중 자주 사용하는 메서드 정리
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 출력
System.out.println(a == c); // false
== 연산자를 사용할 경우에는 false를 출력한다.
a와 c의 값은 같지만 서로 다른 객체이다. ==은 두개의 자료형이 동일한 객체인지를 판별하는 연산자이기 때문에 false를 리턴한다.
indexOf
indexOf는 문자열에서 특정 문자열이 시작되는 위치(인덱스)를 리턴한다.
String str = "Hello Java";
System.out.println(str.indexOf("Java")); // 6 출력
contains
contains는 문자열에서 특정 문자열이 포함되어 있는지의 여부를 리턴한다.
String str = "Hello Java";
System.out.println(str.contains("Java")); // true 출력
charAt
charAt은 문자열에서 특정 위치의 문자(char)를 리턴한다.
String str = "Hello Java";
System.out.println(str.charAt(0)); // 0번째 인덱스 'H' 출력
replaceAll
replaceAll은 문자열 중 특정 문자열을 다른 문자열로 바꾸고자 할 때 사용한다.
String str = "Hello Java";
System.out.println(str.replaceAll("Java", "World")); // Hello World 출력
substring
substring은 문자열 중 특정 부분을 뽑아낼 경우에 사용한다.
String str = "Hello Java";
System.out.println(str.substring(0, 4)); // Hell 출력
문자열의 시작위치에서 끝위치 -1 까지의 문자를 뽑아내게 된다.
toUpperCase
toUpperCase는 문자열을 모두 대문자로 변경할 때 사용한다. (모두 소문자로 변경할때는 toLowerCase를 사용한다.)
String str = "Hello Java";
System.out.println(str.toUpperCase()); // HELLO JAVA 출력
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"} 문자열 배열
문자열 포맷
문자열 포매팅이란 문자열 안에 어떤 값을 삽입하는 방법이다.
int num1 = 1;
int num2 = 2;
System.out.println(num1+"+"num2+"="+(num1+num2)); // "1 + 2 = 3" 출력
int num1 = 1;
int num2 = 2;
System.out.println(String.format("%d + %d = %d",num1, num2, num1+num2)); // "1 + 2 = 3" 출력
문자열 포맷 코드
| 코드 | 설명 |
| %s | 문자열 (String) |
| %c | 문자 1개 (character) |
| %d | 정수 (Integer) |
| %f | 부동 소수 (floating-point) |
| %o | 8진수 |
| %x, %X | 16진수 (소문자, 대문자) |
| %% | Literal % (문자 %자체) |
포맷 코드와 숫자 함께 사용
포맷 코드를 숫자와 함께 사용하면 더 유용하게 사용할 수 있다.
1. 정렬과 공백
System.out.println(String.format("%10s", "hi")); // " hi" 출력
System.out.println(String.format("%-10sjane.", "hi")); // "hi jane." 출력
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
System.out.printf 메서드를 사용하면 String.format 메서드 없이도 동일한 형식으로 포매팅된 문자열을 출력할 수 있다.
System.out.printf("I eat %d apples.", 3); // "I eat 3 apples." 출력'Programming > Java' 카테고리의 다른 글
| [Java] 조건문 (0) | 2022.12.31 |
|---|---|
| [Java] 연산자 (0) | 2022.12.31 |
| Scanner & BuffereReader (0) | 2022.12.30 |
| [Java] 변수란 ? (0) | 2022.12.29 |
| [Java] 자바란 ? (0) | 2022.12.28 |