[String 클래스]
1. String 클래스의 개요
- String 클래스는 기본 데이터형이 아니므로 객체를 생성해야 사용 가능함
- new 연산자를 이용한 객체 생성
-> 문법 : String str = new String("자바 프로그래밍");
-> 이 방법으로 객체를 생성할 경우 동일한 문자열이라도 다른 기억공간에 생성됨
-> 동일한 문자열 비교 시 fasle 반환
String str1 = new String("자바");
String str2 = new String("자바");
System.out.println(str1 == str2); //false
- 문자열 할당을 이용한 객체 생성
-> 문법 : String str = "자바 프로그래밍";
-> 이 방법으로 동일한 문자열을 생성할 경우 같은 기억공간에 할당됨
-> 동일한 문자열 비교 시 true 반환
String str1 = "자바";
String str2 = "자바";
System.out.println(str1 == str2); // true
2. String 클래스의 주요 메서드
ex)
String str1 = new String("Java Programming");
System.out.println(str.length()); // 16
String str2 = new String("Java Programming");
System.out.println(str.eaquals(str2)); // true
String str3 = str1.substring(3); //a Programming (J는 위치인덱스 0)
str3 = str1.substring(0,3); //jav
-> String 클래스의 메서드는 자신의 문자열을 수정하지 않으므로 새로운 객체를 생성하여 반환 받아 사용해야 함
3. 문자열 결합
- 문자열 결합을 위한 "+" 연산자
-> 문자열끼리 "+" 연산을 할 경우 두 문자열이 연결됨
-> 숫자 데이터와 문자열을 "+" 연산하면 숫자 데이터가 문자열로 자동 형변환되어 연결된 문자열 반환
ex)
String str1 = new String("Jave");
String str2 = new String("Programming");
System.out.println(str1 + str2); //JavaProgramming
System.out.println(str1 + 100); //Java100
[StringBuffer 클래스]
1. StringBuffer 클래스 개요
- String 클래스는 객체가 가진 내용을 수정할 수 없으나 StringBuffer 클래스는 객체의 내용을 수정할 수 있음
2. StringBuffer 클래스 활용
StringBuffer sb = new StringBuffer(); //객체 생성
sb.append("Java Programming"); //문자열 추가
System.out.println(sb.toString()); //문자열 출력(toString 메서드 생략 가능)
sb.replace(0, 5, "jsp"); //주어진 위치의 문자열 치환
System.out.println(sb); //jspProgramming
sb.delete(0, 3); //주어진 위치의 문자열 삭제
System.out.println(sb); //Programming
sb.reverse(); //문자열 순서 반대로 재배치
System.out.println(sb); //gnimmargorP
String 클래스와 다르게 StringBuffer 클래스는 객체의 내용을 수정할 수 있음
[실습]
public class Exam18_1 {
public static void main(String[] args) {
String str1 = new String("Java Programming");
System.out.println(str.length()); //16
String str2 = new String("Java Programming");
System.out.println(str1.equals(str2)); //true
String str3 = str1.substring(3);
System.out.println(str3); //a Programming
str3 = str1.substring(0, 3);
System.out.println(str3); //Jav
String str10 = new String("Java");
String str11 = new String("Programming");
System.out.println(str10 + str11); //JavaProgramming
String str12 = 10.3 + str11;
System.out.println(str12); //10.3Programming
StringBuffer sb = new StringBuffer();
sb.append("Java Programming");
System.out.println(sb.toString()); //Java Programming
sb.replace(0, 5, "jsp");
System.out.println(sb); //jspProgramming
sb.delete(0, 3);
System.out.println(sb); //Programming
sb.reverse();
System.out.println(sb); //hnimmargorP
}
}
'프로그래밍 > 자바(java) 융합개발자 2차' 카테고리의 다른 글
[취성패] 자바프로그래밍 - 3일차 학습일지(SQL-조인, 부속질의) (0) | 2020.12.16 |
---|---|
[취성패] 자바 프로그래밍 - 1, 2일차 학습일지(SQL) (0) | 2020.12.15 |
[취성패] 자바 배우기 - 선수학습(Object 클래스) (0) | 2020.12.13 |
[취성패] 자바 배우기 - 선수학습(내부 클래스) (0) | 2020.12.13 |
[취성패] 자바 배우기 - 선수학습(인터페이스) (0) | 2020.12.13 |