hoon's bLog

Java String Array 배열 본문

IT/Java

Java String Array 배열

개발한기발자 2021. 1. 5. 17:22
반응형

안녕하세요!

오늘은 어제에 이어 배열에 대해 포스팅을 해볼텐데요.

어제는 int 형 배열,

오늘은 String 형 배열에 대해서 알아보도록 하겠습니다.

선언 및 초기화는 int형 방식과 동일합니다.

관련 내용은 이전 포스팅을 참고해주시기 바랍니다.

char 배열과 String 클래스!를 먼저 보도록 하죠!

자바에서는 문자열을 저장할 때 String 타입의 변수를 사용합니다.

문자열이란 문자를 연속으로 늘어 놓은 것으로, 문자배열인 char배열과 같다고 볼 수 있죠!

하지만, char배열이 아닌 String 클래스를 이용하여 문자열을 처리하는 것을 많이 보셨을 거에요.

이유인즉슨, String 클래스가 char배열에 여러가지 기능(메서드)을 추가하여 확장한 것이기 때문이죠!

때문에 char배열을 사용하는 것보다 String 클래스를 사용하는 것이 더 다루기 편합니다.

주요 메서드 몇 개만 짚고 넘어가볼까요?

메서드 설명
char charAt(int index) 문자열에서 해당 위치(index)에 있는 문자 반환
int length() 문자열 길이 반환
String substring(int x, int y) 문자열에서 해당범위(x~y)에 있는 문자열 반환(y는 범위에 포함 안됨!)
boolean equals(String str) 문자열의 내용이 같은지 확인, 같으면 true, 다르면 false
char[] toCharArray() 문자열을 문자배열(char[])로 변환해서 반환

예제를 통해 바로 적용해보도록 하죠!

public class ArrayExam {
	public static void main(String[] args) {
		String str = "ABCDEFGH";
		
		System.out.println(str.charAt(1)); //B, 자바의 index 시작은 0!!
		System.out.println(str.length());  //길이 : 8
		System.out.println(str.substring(1, 4)); //1부터 4위치까지 잘라서 출력!
		System.out.println(str.equals("ABCDEF"));  //GH가 없으므로 false
		System.out.println(str.toCharArray());   //ABCDEFGH의 현재 타입은 char[]
	}
}

실행결과

자주 쓰는 메서드들은 알고 계시면 언제든지 유용하게 사용이 가능하고,

저렇게 변수(str)뒤에 '.'을 찍고 [Ctrl + Space] 키를 누르면 이 외에 여러가지 메서드들이 나옵니다!

다음은 다차원 배열입니다!

지금까지 우리가 알아본 배열은 1차원인데,

2차원 이상, 즉 다차원 배열을 사용할 수 있습니다.

주로 다차원이라고하면 2차원 배열을 많이 사용하기 때문에 2차원 배열 위주로 알아볼게요!

//2차원 배열의 선언
int[][] test = new test[2][3]; //2행 3열의 2차원 배열 생성

선언시, int test[][] 혹은 int[] test[] 로도 사용하지만,

위의 방식이 가장 대중적이고 코딩시 가독성을 위해 위에것을 기준으로 설명을 해보겠습니다.

위와 같이 다차원 배열이 선언이 되면 아래와 같이 저장할 수 있는 공간이 생성됩니다.

test[0][0] test[0][1] test[0][2]
test[1][0] test[1][1] test[1][2]

다차원 배열에서는 행열의 개념만 생각하시면 됩니다.

또한 다차원 배열은 가변의 형태로 아래와 같이 생성도 가능합니다.

int[][] test = new test[2][]; //2행 3열의 2차원 배열 생성

이렇게 []안에 숫자를 넣지 않으면, 각 행마다 다른 길이의 배열을 생성하는 것이 가능하게 됩니다!

데이터 구조에 따라 배열을 참 많이 사용하니,

매번 사용할 때마다 문법책을 안 볼 정도로 눈과 손으로 익숙해지시길 바랍니다.(는 저에게 하는말...읍읍...)

오늘은 이렇게 다차원 배열까지 개념을 정리해봤습니다.

늘 깨닫고 느끼지만, 내가 코딩하고 내가 생각하지 않은 코딩은 기억에 잘 남지 않습니다.

정말 이렇게 공부 할때는 좀 귀찮아도 직접 손으로 타이핑하는 습관을 길러봅시다!

오늘도 포스팅 읽어주셔서 감사합니다 :)

 

출처 : 자바의 정석 3rd Edition 내용 정리

728x90
반응형