수학과의 좌충우돌 프로그래밍

[java] 배열에 대해서 알아보자 본문

프로그래밍 언어/Java

[java] 배열에 대해서 알아보자

ssung.k 2019. 3. 27. 11:17

배열

배열의 선언과 사용

자바에서 배열은 객체이다. 그렇기 때문에 변수 선언시 배열 참조 변수를 선언해주어야한다. 그 방법은 아래와 같다.

int[] s;
int s[];

이 부분에서 int 는 배열 요소들의 자료형을 s 는 배열의 이름을 의미한다. 배열 참조 변수를 선언하였지만 아직 배열을 사용할 준비는 되지않았다. 배열을 사용하기 위해서는 new 연산자 를 통해 생성해줘야한다. (이에 대해서는 뒤에서 객체에 대한 내용을 학습하며 다시 이해하도록 하자. ) 생성하는 방법은 다음과 같다.

s = new int[10];

위에서 생성한 배열 참조 변수의 배열의 크기를 10개로 생성한 것이다. 위 두 식은 다음과 같이 합쳐서 사용할 수 있다.

int[] s = new int[10];

이 때 배열은 자동으로 초기화가 되는데 각 자료형에 따라 초기화되는 방식이 다르다.

  • 숫자 배열은 0으로 초기화된다.
  • boolean 배열은 false 로 초기화된다.
  • 문자열 배열은 null 로 초기화된다.

배열 선언을 더 쉽게 하면 안되나?

int[10] s;

다음과 같은 방식은 허용되지 않는 문법이다.

 

배열의 초기화

위에서는 배열의 변수를 선언해주고 어떤 값으로 초기화 되는지 알아보았다. 사용자가 원하는 값으로 초기화 해주기 위해서는 중괄호를 사용해서 배열의 초기값을 적고, 이 때는 연산자 new 를 사용하지 않아도 되고, 배열의 크기를 지정할 필요도 없다.

int[] s = {1,2,3,4,5};

 

배열과 반복문

배열의 원소들에 접근할 때는 다음과 같이 반복문을 통해 쉽게 접근할 수 있다. s.length 는 배열의 크기를 반환한다.

public class array {

	public static void main(String[] args) {
		int[] s = {1,2,3,4,5};
		
		for (int i=0;i<s.length;i++) {
			System.out.print(s[i]+" ");
		}
	}
}
//1 2 3 4 5 

자바에서는 이를 더 쉽게 구현할 수 있다. for-each 루프 라고 불리는 방법인데 더 쉽게 배열의 요소들에 접근이 가능하다. i 가 배열 s 를 순회하게 된다.

public class array {

	public static void main(String[] args) {
		int[] s = {1,2,3,4,5};
		
		for (int i : s) {
			System.out.print(i+" ");
		}
	}
}
//1 2 3 4 5 

 

2차원 배열

2차원 배열의 선언과 초기화도 1차원 배열과 비슷한 방식으로 이루어진다.

int[][] s = new int[3][5];


int[][] s1 = {
			{1,2,3},
			{4,5,6},
			{7,8,9}
		};

 

Comments