문자열(String)은 프로그램에서 많이 사용되는 중요한 자료형이다. 자바에서는 문자열을 저장할 수 있는 기초 자료형이 없다. 하지만 문자열을 저장하고 처리하는 String클래스라는 것이 존재한다. String클래스를 이용하여 문자열을 저장하고 처리할 수 있는데 정수나 실수와는 다르게 문자열은 객체이다.
1
2
|
String s = new String("Hello World"); // 선언과 동시에 초기화
또는
s = "Hello World" |
객체의 메소드 호출
객체가 생성된 후에 객체의 메서드를 사용하려면 멤버 연산자(dot.operator)를 사용한다.
1
2
|
String s = new String("Hello World!"):
int size = s.length(); // size는 12가 된다.
|
String 클래스에서 자주 사용되는 메서드들
반환형 | 메소드 요약 | ||
char |
charAt(int index) 지정된 인덱스에 있는 문자를 반환한다. |
||
int |
compareTo(String anotherString) 사전적 순서로 문자열을 비교한다. 앞에 앞에 있으면 -1, 같으면 0 , 뒤에 있으면 1 |
||
boolean |
equals(Object anotherObject) 주어진 객체와 현재의 문자열을 비교한다. |
||
boolean |
equalsIgnoreCase(string anotherString) 대소문자를 무시하고 비교한다. |
||
boolean |
isEmpty() length()가 0이면 true를 반환한다. |
||
int |
length() 현재 문자열의 길이를 반환한다. |
||
String |
subString(int beginIndex, int endIndex) 현재 문자열의 일부를 반환한다. ex)
|
수치 값을 문자열로 변환하는 방법
자바에서는 문자열과 기초 자료형 변수를 결합하게 되면 자동적으로 기초 자료형을 문자열로 변환한다.
주의할 점은 수치값이 문자열에 +연산자로 합해지는 경우에만 문자열로 변환되어 결합한다.
1
2
3
4
|
int x = 20;
System.out.println("결과값은: " + x); // "결과값은 20" 이 출력된다.
String a = "price : " + 100; // "price : 100"
|
이 경우에는 결합이 불가하다.
1
2
|
System.out.println("100" + 20 ); // 120출력
System.out.println(100 + 20 ); // 120출력
|
문자열을 수치값으로 변환하는 방법
문자열 "123"을 숫자 123으로 변환하려면 자바의 랩퍼 클래스(wrapper class)인 Integer 클래스를 사용하면 된다.
기초자료형에 대응되는 랩퍼 클래스 종류
기초자료형 | 랩퍼 클래스 |
byte | Byte |
short | Short |
int | Integer |
float | Float |
double | Double |
char | Character |
랩퍼 클래스는 저장된 값을 다른 자료형으로 변환하는 메소드를 제공한다.
Integer 클래스의 일부 메소드
반환값 | 메소드 이름 | 설명 |
byte | byteValue() | int형을 byte형으로 변환 |
double | doubleValue() | int형을 double형으로 변환 |
float | floatValue() | int형을 float형으로 변환 |
int | parseInt(String s) | 문자열을 int형으로 변환 |
String | toBinaryString(int i) | int형의 정수를 2진수 형태의 문자열로 변환 |
String | toHexString(int i) | int형의 정수를 16진수 형티의 문자열로 변환 |
이들 메소드는 많이 사용되므로 객체를 생성하지 않고 클래스의 이름에 멤버 연산자를 붙여서 사용 할 수 있다.
문자열을 기초 자료형으로 변환하려면 각 랩퍼 클래스의 parseXXX() 메소드를 사용하면 된다. 이들 메소드가 필요한 이유는 사용자가 값을 입력하는 경우 문자열로 입력하는 일이 있기 많이 있기 때문이다. 따라서 문자열을 수치값으로 변환할 때는 아래처럼 랩퍼 클래스를 사용하여야 한다.
1
2
3
4
|
int i = Integer.parseInt("123");
// 변수 i 에 정수 123이 저장된다.
double d = Double.parseDouble("3.1415");
// 변수 d에 실수 3.1415가 저장된다.
|
'Programming > Java' 카테고리의 다른 글
Set (0) | 2020.02.29 |
---|---|
Comparable과 Comparator (0) | 2020.02.06 |
Array.sort 와 Collections.sort (0) | 2020.02.05 |
Java 컬렉션(Collection) (0) | 2020.02.05 |
ArrayList (0) | 2020.01.29 |