본문 바로가기

빅데이터과정/JAVA

#55_140829_JAVA_STRING CLASS

728x90

# STRING CLASS




 

java.lang 패키지

java.lang 패키지는 자바 프로그램에서 가장 많이 사용되는 패키지로서 자바 프로그램에서 “import”문을 사용하지 않아도 자동으로 포함된다

그만큼 자바 프로그램의 기본이 되는 클래스들과 인터페이스들이 포함 되어 있다

 

 

자바 클래스의 구조

 






 

object 클래스의 주요 메소드

java.lang.Object 클래스는 자바 API의 모든 클래스와 사용자가 정의한 모든 클래스들의 최상의 클래스이다.

모든 자바 클래스들은 object 클래스들로부터 상속을 받는다

 

메소드

설명

boolean equals(object obj)

두 개의 객체가 같은지 비교하여 같으면 true를 같지 않으면 false를 반환

String toString()

현재 객체의 문자열을 반환

protected Object clone()

객체를 복사

protected void finalize()

가비지 컬렉션 직전에 객체의 리소스를 정리할 때 호출

Class getClass()

객체의 클래스형을 반환

int hashCode()

객체의 코드값을 반환

void notify()

wait된 스레드 실행을 재개할 때 호출

void notifyAll()

wait된 모든 스레드 실행을 재개할 때 호출

void wait()

스레드를 일시적으로 중지할 때 호출

void wait(long timeout)

주어진 시간만큼 스레드를 일시적으로 중지할 때 호출

void wait(long timeout, int nanos)

주어진 시간만큼 스레드를 일시적으로 중지할 때 호출

 

 

 




String 클래스에서 자주 사용하는 메소드

 

함수

반환형

설명

charAt(int index)

char

index로 지정된 첨자 위치에 있는 문자를 반환

compareTo(String str)

int

이 string이 string str보다 사전적 순서에서 앞서면 음수 값같으면 0, 뒤에 있으면 양의 정수 값을 반환

concat(String str)

String

이 String이 str과 같은 문자열이면(대소문자 구분) True, 그렇지 않으면 False 반환

equals(String str)

boolean

이 string이 str과 같은 문자열이면(대소문자 미 구분) True, 그렇지 않으면 False 반환

length()

int

이 String의 문자 개수를 반환한다

replace(int offset, int endindex)

String

String에 나타나는 oldChar를 모두 new Char로 변경한다

substring(int offset, int endindex)

String

이 String의 offset 위치에서부터 endindex-1까지에 걸친 문자열을 반환한다

toLowerCase()

String

모든 대문자를 소문자로 변환한다

toUpperCase()

String

모든 소문자를 대문자로 변환한다

 

 

 

string 클래스 활용

public class StringClass {

       

        public static void main(String[] args){

              

               String text = "First String V";

               String concat, upperCase, replace, subString;

              

               System.out.println("기본 String : "+ text);

               System.out.println("기본 String 길이 : "+text.length());      // 문자열 길이 출력

              

               concat = text.concat(", Second String V");   // 문자열 연결

            upperCase = concat.toUpperCase();         // 문자열 대문자로 변환

            replace = upperCase.replace('V', 'K');    //  문자 V K 변환

            subString = replace.substring(3, 10);     // 3~9 문자열 잘라내기

       

        System.out.println("Concat String : " + concat);

        System.out.println("upperCase String : " + upperCase);

        System.out.println("replace String : " + replace);

        System.out.println("subString String : " + subString);

       

        }

}

 

결과값

기본 String : First String V

기본 String 길이 : 14

Concat String : First String V, Second String V

upperCase String : FIRST STRING V, SECOND STRING V

replace String : FIRST STRING K, SECOND STRING K

subString String : ST STRI

 

 

 

 




 

 

string 클래스 활용(equals)

public class StringClass {

 

        public static void main(String[] args) {

               System.out.print("첫번째 글자는 ? ");

               Scanner keyboard = new Scanner(System.in);

               String str1 = keyboard.nextLine();

 

               System.out.print("두번째 글자는 ? ");

               Scanner keyboard2 = new Scanner(System.in);

               String str2 = keyboard2.nextLine();

 

               if (str1.equals(str2)) {

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

               }

               else

                       System.out.println("다른문자입니다");

 

        }

}

 

결과값

첫번째 글자는 ? 1

두번째 글자는 ? 1

같은문자입니다

 

if(str1==str2) 는 성립하지 않는다

== 기호는 같은 인스턴스에서 첨조할 수 있기 때문에 str과 str2는 다른 인스턴스에서 참조하기 때문에 비교가 안된다

인스턴스안의 문자열을 가지고 같은지 다른지 비교하려면 string 클래스의 equals 메소드 활용

 

 

string 클래스 활용(compareTo)

compareTo는 문자열이 같으면 0을 반환

public class StringClass {

 

        public static void main(String[] args) {

               System.out.print("첫번째 글자는 ? ");

               Scanner keyboard = new Scanner(System.in);

               String str1 = keyboard.nextLine();

 

               System.out.print("두번째 글자는 ? ");

               Scanner keyboard2 = new Scanner(System.in);

               String str2 = keyboard2.nextLine();

 

               if (0==str1.compareTo(str2)) {

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

               }

               else

                       System.out.println("다른문자입니다");

 

        }

}

결과값

첫번째 글자는 ? 1

두번째 글자는 ? 1

같은문자입니다

 

 

'빅데이터과정 > JAVA' 카테고리의 다른 글

#55_140829_JAVA_SCANNER CLASS  (0) 2014.08.29
#55_140829_JAVA_SYSTEM CLASS  (0) 2014.08.29
#55_140829_JAVA_THIS  (0) 2014.08.29
#54_140828_JAVA_OVERLOADING  (0) 2014.08.28
#54_140828_JAVA_STATIC  (0) 2014.08.28