프로그래밍/자바(java) 융합개발자 2차

[취성패] 자바 배우기 - 선수학습(문자열 클래스)

aSpring 2020. 12. 13. 21:30
728x90
728x90

[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 

   }

}

 

728x90
728x90