728x90
문자열(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
다 외우는 건 절대 무리고, 몇 가지만 가져와 봤다.
반환형 | 메소드 요약 |
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 |