배열의 타입이 String인 경우에도 다음과 같이 선언할 수 있다.

String[] name = new String[3];

참조형 변수의 기본 값은 null이므로 각 요소의 값은 null로 초기화된다.

 

자료형 기본값
boolean false
char '\u0000'
byte, short, int 0
long 0L
float 0.0f
double 0.0d 또는 0.0
참조형변수 null

 

String배열의 초기화

String[] name = new String[3];
name[0] = "Kim";
name[1] = "Park";
name[2] = "Yi";

String 배열은 선언한 길이의 0 <= 스트링 길이 <=n-1이며

길이는 0을 포함한 자연수로만 선언이 가능하다. 또한 중괄호{}를 사용해서 간단히 초기화할 수도 있다.

String[] name = new String[]{"Kim", "Park", "Yi"};
String[] name = { "Kim", "Park", "Yi"};

 

Char배열과 String클래스

String클래스는 char배열에 기능(메서드)를 추가한 것이다.

객체지향 언어에서는 데이터와 그에 관련된 기능(메서드)을 하나의 클래스에 묶어서 다룰 수 있게 한다.

char배열과 String클래스는 저장할 수 있는 문자의 수 외에 String객체는 읽을 수만 있을 뿐 내용을 변경할 수 없다.

변경 가능한 문자열을 다루려면, StringBuffer클래스를 사용하면 된다.

 

String클래스의 주요 메서드

 

메서드 설명
char charAt(int index) 문자열에서 해당 위치(index)에 있는 문자를 반환한다.
int length() 문자열의 길이를 반환한다.
String substring(int from, int to) 문자열에서 해당 범위(from~to)에 있는 문자열을 반환한다.
(to는 범위에 포함되지 않음)
boolean equals(Object obj) 문자열의 내용이 obj와 같은지 확인한다. 같으면 true, 다르면 false가 된다.
char[]toCharArray() 문자열을 문자배열(char[])로 변환해서 반환한다.

charAt메서드는 문자열에서 지정된 index에 있는 한 문자를 가져온다.

인덱스index의 값으로 0부터 시작한다.

 

substring()은 문자열의 일부를 뽑아낼 수 있다. 주의할 것은 범위의 끝은 포함되지 않는다.

String str = "ABCDE";
char ch = str.charAt(3);

 

equals()는 문자열의 내용이 같은지 다른지 확인하는 데 사용하며, 대소문자를 구분한다.

만일 대소문자를 구분하지 않고 싶다면 equalsIgnoreCase()를 사용하면 된다.

String str = "abc";
if(str.equals("abc")) //str과 abc가 내용이 같은지 확인한다.

 

char배열과 String클래스의 변환

public class ArrayEx14 {
	public static void main(String[] args) {
		String src = "ABCDE";

		for (int i = 0; i < src.length(); i++) {
			char ch = src.charAt(i); // src의 i번째 문자를 ch에 저장
			System.out.println("src.charAt(" + i + "):" + ch);
		}
			// String을 char[]로 변환
			char[] chArr = src.toCharArray();

			// char배열(char[])을 출력
			System.out.println(chArr);
		}
	}
src.charAt(0):A
src.charAt(1):B
src.charAt(2):C
src.charAt(3):D
src.charAt(4):E
ABCDE

char배열을 String클래스로 변환하거나, 또는 그 반대로 해야 하는 경우가 있다.

그럴 때 위 예시대로 문장을 사용하면 된다.

 

커맨드 라인을 통해 입력받기

Scanner클래스의 nextLine()외에도 화면을 통해 사용자로부터 값을 입력받을 수 있는 간단한 방법이 있다.

커맨드 라인을 입력받는 방법이다.

프로그램을 실행할 때 클래스 이름 뒤에 공백 문자로 구분하여 여러 개의 문자열을 프로그램에 전달할 수 있다.

 

이클립스의 Run > Run Configurations나 

window - 실행 - cmd로 해당 파일의 위치를 열고 java class이름 "abc"

방식으로 실행하면 된다.

+ Recent posts