String 클래스
•
String 클래스는 문자열을 구성하는 문자들을 내부에 저장한다.
◦
String 객체도 결국은 문자들의 배열이다.
//char와 String은 반드시 구분
char ch = 'a';
String str = "abcdef";
Java
복사
String 클래스 메서드
String 객체
String 객체 생성의 2가지 방법
1.
리터럴: 많이 사용되는 방법
2.
객체 생성: 원칙
public static void main(String[] args) {
String s1 = "java"; //리터럴
String s2 = "java";
String s3 = new String("java"); //객체 생성
String s4 = new String("java");
if (s1 == s2) {
System.out.println("같습니다."); //주소값이 같다.(같은 문자열 상수 풀에 올라가기 때문)
} else {
System.out.println("다릅니다.");
}
if (s3 == s4) {
System.out.println("같습니다.");
} else {
System.out.println("다릅니다."); //주소값이 다르다.
}
}
Java
복사
String 객체 - 문자열 비교하기 equals()
•
문자열 비교는 꼭❗️❗️❗️ equals() 메서드 사용하기 (’==’ 사용
)
public static void main(String[] args) {
String s3 = new String("java"); //객체 생성
String s4 = new String("java");
if (s3 == s4) {
System.out.println("같습니다.");
} else {
System.out.println("다릅니다."); //주소값이 다르다.
}
if (s3.equals(s4)) {
System.out.println("같습니다."); //문자열 비교 결과 출력: 같다.
} else {
System.out.println("다릅니다.");
}
}
Java
복사
String 객체 - 문자 추출 charAt()
public static void main(String[] args) {
String subject = "자바 프로그래밍";
char charValue = subject.charAt(3);
System.out.println(charValue); //'프' 출력
}
Java
복사
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
char ch = sc.next().charAt(0);
System.out.println(ch); //입력한 문자열의 0번 인덱스의 값 출력
}
Java
복사
String 객체 - 문자열 안에서 단어 찾기 indexOf()
public static void main(String[] args) {
String str = "the cat is on the table";
int index = str.indexOf("is");
System.out.println(index); //"is"의 시작 위치인 8 출력
}
Java
복사
•
만약 없는 문자열을 indexOf()에 넣게 되면 -1이 출력된다.
String 객체 - 문자열 길이 length()
public static void main(String[] args) {
String str = "the cat is on the table";
System.out.println(str.length()); //빈 공간 포함 23 출력
}
Java
복사
배열 속 문자열의 길이를 합하여 리턴하는 메서드 예제
String 객체 - 공백 잘라내기 trim()
public static void main(String[] args) {
String trimStr = " I Love you ";
System.out.println(trimStr);
System.out.println(trimStr.length()); //앞, 뒤의 빈 공간 포함 12 출력
System.out.println(trimStr.trim());
System.out.println(trimStr.trim().length()); //10 출력
}
Java
복사
String 객체 - 문자열을 단어로 분리 split()
public static void main(String[] args) {
String[] tokens = "I am a boy".split(" "); //공백을 기준으로 분리한다.
for (String t : tokens) {
System.out.println(t);
}
}
Java
복사
public static void main(String[] args) {
String[] tokens = "100, 200, 300".split(", "); //", "을 기준으로 분리한다.
for (String t : tokens) {
System.out.println(t);
}
}
Java
복사
String 객체 - 기본 타입값을 문자열로 전환 valueOf()
public static void main(String[] args) {
int num = 100;
String str = String.valueOf(num); //int 타입 100을 "100"으로 전환
System.out.println(str);
str = String.valueOf(10.0); //double 타입 10.0을 "10.0"으로 전환
System.out.println(str);
str = String.valueOf(false); //boolean 타입 false 를 "false"로 전환
System.out.println(str);
}
Java
복사
•
cf: int 타입으로 전환
public static void main(String[] args) {
String str2 = "100";
int num2 = Integer.parseInt(str2); //String 타입 "100"을 100으로 전환
System.out.println(num2);
}
Java
복사
예제
1.
Scanner를 이용하여 한 라인을 읽고, 공백으로 분리된 어절이 몇 개 들어 있는지 "그만"을 입력할 때까지 반복하는 프로그램을 작성하라. [Hint] Scanner.nextLine()을 이용하면 빈칸을 포함하여 한 번에 한 줄을 읽을 수 있다.
>> I love Java.
어절 개수는 3
>> 자바는 객체 지향 언어로서 매우 좋은 언어이다.
어절 개수는 7
>> 그만
종료합니다...
Plain Text
복사
code