Java String

자바 2020. 7. 4. 17:33

String

- String 클래스는 문자열에 대한 작업을 할 수 있도록 제공되는 클래스이다

 

- 코드상에 " " 로 묶인 문자열도 String 클래스의 객체이다

 

- " " 로 묶인 문자열은 가상 머신이 객체를 생성하고 소멸까지도 담당한다

 

- 프로그래밍을 할 때는 " " 로 쓰지만 컴파일을 하게 되면 실제로 String 클래스로부터 객체를 생성하는 것으로 변경된다

 

주요 메서드

- equals( ) : 문자열 내용을 비교

- equlasIsIgnoreCase( ) : 대소문자를 무시한 문자열 비교

- toUpperCase( ) : 소문자를 대문자로 변경

- toLowerCase( ) : 대문자를 소문자로 변경

- startsWith( ) : ~로 시작여부 검사

- endsWith( ) : ~로 끝나는지 여부 검사

- indexOf( ) : 문자열이 어디에 들어 있는지

- getBytes( ) : 문자열을 바이트화 시킨다

- length( ) : 문자열 길이 측정

- substring( ) : 문자열의 일부를 가지고 온다

- trim( ) : 좌우 공백 제거

 

StringTest.java

---------------------------------------------------------------------------------------------------------------

String str1 = "안녕하세요";

 

// 문자열 비교

if(str1 == "안녕하세요") {

   System.out.println("문자열은 같습니다");

} else {

   System.out.println("문자열은 다릅니다");

}

 

String str2 = new String("안녕하세요");

if(str1 == str2) {

   System.out.println("두 문자열의 주소 값은 같습니다");

} else {

   System.out.println("두 문자열의 주소값은 다릅니다");

}

 

String str3 = "안녕하세요";

if(str1 == str3) {

   System.out.println("두 문자열의 주소값은 같습니다");

} else {

   System.out.println("두 문자열의 주소값은 다릅니다");

}

 

// 실제 내용 값을 비교

if(str1.equals(str2)) {

   System.out.println("두 문자열은 같습니다");

} else {

   System.out.println("두 문자열은 다릅니다");

}

String eng1 = "abCDef";

String eng2 = "ABcDEF";

 

if(eng1.equals(eng2)) {

   System.out.println("문자열의 내용은 같습니다");

} else {

   System.out.println("문자열의 내용은 다릅니다");

 

if(eng1.equalsIgnoreCase(eng2)) {

   System.out.println("대소문자를 무시하면 같습니다");

} else {

   System.out.println("대소문자를 무시해도 같습니다");

}

String upperStr = eng1.toUpperCase( );

System.out.println(upperStr);

 

String lowerStr = eng1.toLowerCase( );

System.out.println(lowerStr);

 

String str4 = "abcdef";

if(str4,startsWith("abc")) {

   System.out.println("abc로 시작합니다");

} else {

   System.out.println("abc로 시작하지 않습니다");

}

 

if(str4,endssWith("def")) {

   System.out.println("def로 끝납니다");

} else {

   System.out.println("def로 끝나지 않습니다");

}

 

System.out.println(str4.indexOf("c"));

System.out.println(str4.indexOf("cd));

System.out.println(str4.indexOf("ccc"));

 

byte [ ] br = str4.getBytes( );

for(int i = 0 ; i < br.length ; i++) {

    System.out.println(br[i] + " " );

}

System.out.println( );

 

String str100 = new String(br);

System.out.println(str100);

 

String str5 = str4.substring(2, 3);

System.out.println(str5);

 

System.out.println(str4.length( ));

System.out.println("안녕하세요".length( ));

 

String str6 = "         안녕하세요          "

String str7 = str6.trim( );

System.out.println(str6);

System.out.println(str7);

---------------------------------------------------------------------------------------------------------------

 

Console

---------------------------------------------------------------------------------------------------------------

문자열은 같습니다

두 문자열의 주소값은 다릅니다

두 문자열의 주소값은 같습니다

두 문자열은 같습니다

문자열의 내용은 다릅니다

대소문자를 무시하면 같습니다

ABCDEF

abcdef

abc로 시작합니다

def로 끝납니다

2

2

-`

97 98 99 100 101 102

abcdef

c

6

5

3

         안녕하세요

안녕하세요

---------------------------------------------------------------------------------------------------------------

'자바' 카테고리의 다른 글

StringTokenizer  (0) 2020.07.06
Java StringBuffer  (0) 2020.07.06
Java Runtime Class  (0) 2020.07.04
Java wrapper  (0) 2020.07.04
자바 예외처리  (0) 2020.06.30
Posted by khon98
,