- 자바 언어에는 내장된 문자열 자료형이 없으므로, String 클래스 제공
String a = "Happy Java"; // 리터럴 표기: 객체 생성없이 고정된 값을 그대로 대입하는 방법 String a = new String("Happy Java"); // String 객체 생성
equals: 두 개의 문자열이 동일한지 비교하여 결과값 리턴
- cf_ == 은 두 개의 자료형이 동일한 객체인지 판별할 때 사용하는 연산자
String a = "hello"; String b = "java"; String c = "hello"; System.out.println(a.equals(b)); // false 출력 System.out.println(a.equals(c)); // true 출력
indexOf: 문자열에서 특정 문자가 시작되는 위치(인덱스)를 리턴
String a = "Hello Java"; System.out.println(a.indexOf("Java")); // 6 출력
contains: 문자열에서 특정 문자열이 포함되어 있는 지의 여부를 리턴
String a = "Hello Java"; System.out.println(a.contains("Java")); // true 출력
charAt: 문자열에서 특정 위치의 문자를 리턴
String a = "Hello Java"; System.out.println(a.charAt(6)); // "J" 출력
replaceAll: 문자열 중 특정 문자열을 다른 문자열로 바꾸고자 할 때 사용
String a = "Hello Java"; System.out.println(a.replaceAll("Java", "World")); // Hello World 출력
substring: 문자열 중 특정 부분을 뽑아낼 경우 사용, 끝위치는 포함이 안됨
String a = "Hello Java"; System.out.println(a.substring(0, 4)); // Hell 출력
toUpperCase: 문자열을 모두 대문자로 변경할 때 사용
toLowerCase: 문자열을 모두 소문자로 변경할 때 사용
split: 문자열을 특정 구분자로 분리하는 메소드
String a = "a:b:c:d"; String[] result = a.split(":"); // result는 {"a", "b", "c", "d"}
문자열 포맷팅
- String.format 메소드 사용
System.out.println(String.format("I eat %d apples.", 3)); int number = 3; System.out.println(String.format("I eat %d apples.", number)); int number = 10; String day = "three"; // "I ate 10 apples. so I was sick for three days." 출력 System.out.println(String.format("I ate %d apples. so I was sick for %s days.", number, day));
- System.out.prinf 메소: String.format 메소드 없이도 동일한 형식으로 포매팅된 문자열 출력 가능
- 입력
- 출력
System.out.printf("%6.2f", value); //실수를 6개의 칸에 표시, 소수점 이하는 2자리로 System.out.println(String.format("%10s", "hi")); // " hi" 출력 System.out.println(String.format("%10s", "hi")); // " hi" 출력
참고 자료: 어서와 Java는 처음이지?
https://wikidocs.net/205#_1