No. 01 |
|
| |
문자열(String) |
자바에서 문자를 다루는 기본형인 char로는 문자열을 다루기 힘들다. 그래서 자바에서는 문자열을 다룰 수 있는 String클래스를 제공한다.
String은 참조형 데이터 타입이다.
참조형 변수를 선언하려면 객체를 생성하는 연산자 new를 사용해야한다.
String a = new String(); // String 클래스 타입의 참조변수 a 선언
모든 참조형의 위와 같은 형태로 선언해야 사용할 수 있다.
그러나 String은 자바에서 매우 많이 쓰이므로 기본형처럼 사용할 수 있도록 해두었다.
예) "Hello, World" 라는 문자열을 저장하는 String 변수를 만들어 보자.
String a = new String("Hello, World.");
String a = "Hello, world."; // 기본형 처럼 사용가능
위의 예는 표현방법은 다르지만 같다고 할 수 있다. 문자열에 한해서는 String을 기본형처럼 사용 가능하다.
※ 문자열을 사용할 때는 큰따옴표(")로 반드시 감싸줘야 한다.
No. 02 |
|
| |
String의 주요 메서드(기능) |
우선 메서드란 간단히 설명하면 어떤 기능을하는 하는 것이라고 이해하고 있으면 될 것 같다.
String의 기본적인 몇 가지 기능만 배워보고 자세한 것은 추후에 자세히 살펴볼 것이다. 지금은 자세히 이해하기 보다는 이렇게 사용하면 이런 결과를 얻을 수 있구나 정도로만 알고있자.
메서드 |
설명 |
int length() |
문자열의 길이를 반환한다. |
char charAt(int index) |
문자열에서 해당 위치(index)에 있는 문자를 반환한다. |
int indexOf(String str) |
문자열에서 특정 문자가 시작되는 위치(index)를 반환한다. |
boolean equals(String str) |
두 개의 문자열이 동일한지 확인한다. 결과가 같으면 true, 다르면 false |
메서드를 사용하기 위해서는 모두 String 변수명 다음에 '.'을 붙여서 메서드 이름으로 사용하면 된다.
▣ length
문자열의 길이를 반환하는 메서드로 결과는 정수형인 int이다.
String 변수명.length();
◈ 예제
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | public class StringMethod { public static void main(String[] args) { String a = "Hello, World."; int length; //길이를 저장하기 위한 정수형 변수 length = a.length(); //a에 저장되어 있는 문자열 길이를 정수형 변수 length에 저장 System.out.println("길이:"+length); //화면에 결과 출력 }//main }//class |
실행 결과
길이:13
메서드 length와 int형 변수명인 length는 다르다 착각하지 않도록 한다. 변수명을 length로 한 것 뿐이다.
a.length() 의 결과는 int형으로 int형에만 저장할 수 있다.
문자열의 길이는 빈공간인 띄어쓰기 까지 세기 때문에 13이라는 숫자가 결과로 반환되었다.
▣ charAt
문자열에서 해당 위치(index)에 있는 문자열을 반환하는 메서드로 결과는 문자형인 char이다.
주의) 자바는 숫자를 1이 아닌 0부터 센다. 예를 들어 8번째는 index로 7이다.
String 변수명.charAt(index);
◈ 예제
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | public class StringMethod { public static void main(String[] args) { String a = "Hello, World."; char character; //문자를 저장하기 위한 문자형 변수 character = a.charAt(7); //a에 저장되어 있는 문자열중 8번째 문자를 character에 저장 System.out.println("8번째 문자:"+character); //화면에 결과 출력 }//main }//class |
실행 결과
8번째 문자:W
a.charAt()의 결과는 char형으로 char형에만 저장할 수 있다.
index로 7이기 때문에 8번째 문자인 'W'가 결과로 반환되었다.▣ indexOf
문자열에서 특정 문자가 시작되는 위치(index)를 반환하는 메서드로 결과는 정수형인 int이다.
String 변수명.indexOf(문자열);
◈ 예제
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 | public class StringMethod { public static void main(String[] args) { String a = "Hello, World."; int index1; //index를 저장하기 위한 정수형 변수 int index2; //index를 저장하기 위한 정수형 변수 index1 = a.indexOf("W"); //a에 저장되어 있는 문자열중 "W"문자의 시작 index를 저장 index2 = a.indexOf("llo"); //a에 저장되어 있는 문자열중 "llo"문자열의 시작 index를 저장 System.out.println("\"w\"의 시작 index:"+index1); //화면에 결과 출력 System.out.println("\"llo\"의 시작 index:"+index2); //화면에 결과 출력 }//main }//class |
실행 결과
"W"의 시작 index:7
"llo"의 시작 index:2
비교한 문자열의 시작 index를 결과로 볼 수 있다.
▣ equals
두 개의 문자열이 동일한지 확인하는 메서드로 boolean으로 결과가 같으면 true, 다르면 false
String 변수명.equals(문자열);
◈ 예제
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 | public class StringMethod { public static void main(String[] args) { String a = "Hello, World."; boolean result1; //index를 저장하기 위한 정수형 변수 boolean result2; //index를 저장하기 위한 정수형 변수 result1 = a.equals("World"); //a에 저장되어 있는 문자열이 "World"와 같은지 판단하여 결과 저장 result2 = a.equals("Hello, World."); //a에 저장되어 있는 문자열이 "Hello, World."와 같은지 판단하여 결과 저장 System.out.println("\"Wrold\"와 같은가? "+result1); //화면에 결과 출력 System.out.println("\"Hello, World.\"와 같은가? "+result2); //화면에 결과 출력 }//main }//class |
실행 결과
"World"와 같은가? false
"Hello, World."와 같은가? true
'JAVA' 카테고리의 다른 글
[Java 10] 자바의 출력문(println, printf) (2) | 2017.11.19 |
---|---|
[Java 09] 형변환(casting) (0) | 2017.11.19 |
[Java 07] 문자형 - char (0) | 2017.11.18 |
[Java 06] 데이터 타입 (1) | 2017.11.15 |
[Java 05] 변수와 식별자 (1) | 2017.11.13 |