본문 바로가기
자바학점을 자바줘 (JAVA)

[자바] String 클래스 개념

728x90

String cheese

문자열(string)에 대한 개념을 정리해볼 것이다.

문자열은 객체, 참조 자료형이다.

 

String 클래스의 객체를 생성하는 법이다.

선언과 동시에 초기화를 해주었다.

String s = new String("Hello World!");

형식은 다음과 같다.

String[문자열] s[객체 이름] = new[동적 메모리] String[문자열]("Hello World!"[문자열 초기화]);

 

String s = "Hello World!";

String 객체에 대해서는 new 연산자의 호출을 생략할 수 있다.

 


본격적으로 String 클래스를 사용해보자.

String 클래스가 제공하는 메소드는 Jave API에서 확인할 수 있다.

https://docs.oracle.com/javase/7/docs/api/index.html

 

Java Platform SE 7

 

docs.oracle.com

 

 

다 외우는 건 절대 무리고, 몇 가지만 가져와 봤다.

반환형 메소드 요약
char charAt(int index) 
지정된 인덱스에 있는 문자를 반환한다.
Hello -> H만 출력
String concat(String str)
주어진 문자열을 현재의 문자열 뒤에 붙인다.
boolean equals(Object anObject)
주어진 객체와 현재의 문자열을 비교한다.
Hello, Hello -> true
boolean equalslgnoreCase(String anotherString)
대소문자를 무시하고 비교한다.
boolean isEmpty()
lenght()가 0이면 true를 반환한다.
int length()
현대 문자열의 길이를 반환한다.
Hello -> 5
String replace('원래 문자', '바꿀 문자')
문자를 교환한다.
String substring(a,b)
a부터 b전까지 문자열 자르지
String toUpperCase()
문자열 전체 대문자로 변환
String toLowerCase()
문자열 전체 소문자로 변환

 

예제 몇개를 코드로 짜보았다.

public class StringTest
{
   public static void main (String[] args)
   {
      String stringtest = "Hello";		// new 연산자 생략
      String s1, s2, s3, s4;	// 참조 변수로서 메소드에서 반환된 참조값을 받는다.
 
      System.out.println ("문자열의 길이 =" + stringtest.length());
 
      s1 = stringtest.concat (" World!");	// 문자열 결합
      s2 = stringtest.replace ('H', 'h');		// 문자 교환
      s3 = stringtest.substring (2, 4);		// 부분 문자열 추출
      s4 = stringtest.toUpperCase();		// 대문자로 변환 
 
      
      System.out.println(s1);
      System.out.println(s2);
      System.out.println(s3);
      System.out.println(s4);
   }
}

출력 결과

 

String a = "Hello";
String b = " World!";
String c = a + b;	//"Hello World!" 출력

문자열 결합을 할 때 +연산자도 사용 가능하다.

 

문자열과 기초 자료형 변수는 결합 가능하다.

기초 자료형 변수가 문자열로 자동 형변환이 되기 때문이다.

int x = 10

System.out.println("내 성적은 100점 만점에 " + x);	//"내 성적은 100점 만점에 10" 출력
String score = "내 성적은 100점 만점에 " + 100;	//"내 성적은 100점 만점에 100" 출력

String answer = "정답은 ";
answer = answer + String.valueOf(50);	//"정답은 50" 출력

 

반대로 문자열을 기초 자료형으로 변환할 수 있다.

int i = Interger.parseInt("123");	//i에 정수 123 저장
double d = Double.parseDouble("3.141592");	//d에 실수 3.141592 저장

변환하는 형식은

 

int[기초 자료형] i[변수] = Integer[랩퍼클래스].parseInt[parse+기초자료형]("123"[문자열]);

 

이다.

 

기초 자료형 랩터 클래스
byte Byte
short Short
int Interger
long Long
float Float
double Double
char Character
boolean Boolean
void Void

랩터 클래스


간단한 예제를 만들어보았다.

import java.util.Scanner;

public class StringTest {

	public static void main(String a[]) {

		String str;
		Scanner sc = new Scanner(System.in);

		while (true) {
			System.out.print("문자열을 입력하세요> ");
			str = sc.next();
			if (str.equals("quit") == true)
				break;
			if (str.matches("^www\\.(.+)")) {
				System.out.println(str + " 은 'www'로 시작합니다.");
			} else {
				System.out.println(str + " 은 'www'로 시작하지 않습니다.");
			}
			System.out.println();
		}
	}

}

출력 결과


응용을 더 풀어봐야 할 것 같지만, 오늘은 여기까지 풀어보겠다.

728x90

'자바학점을 자바줘 (JAVA)' 카테고리의 다른 글

[자바] 람다식, 패키지  (0) 2022.04.24
[자바] 인터페이스  (0) 2022.04.24
[자바] 상속  (0) 2022.04.21
[자바] 클래스와 메소드 심화 개념  (1) 2022.04.21
[자바] 객체와 클래스 기본 개념  (0) 2022.04.07