For Programmer

4. 배열 본문

Programming language/Java

4. 배열

유지광이 2021. 8. 11. 22:57
728x90

같은 데이터 타입을 가지는 서로 다른 값들이 하나의 변수로 처리되는 자료 구조이다. 배열도 객체다. 배열은 Resizing이 안 된다.

생성

배열이름 = new 자료형[길이];

배열을 생성해야 비로소 값을 저장할 수 있는 공간이 만들어진다.
배열을 생성하기 위해서는 new 예약어와 함께 배열의 자료형과 길이를 지정한다.

배열의 길이는 값을 저장할 수 있는 공간의 개수다.
0을 포함한 양의 정수만 올 수 있다.

자료형[] 배열이름 = new 자료형[길이];

대부분 배열과 선언을 동시에 한다.

 

String[] weekday = new String[10];

선언 및 초기화 + 출력

int[] odds = {1,2,3,4,5}; //배열 선언 및 초기화
String[] weeks = {"월","화","수","목","금"}; //배열 선언 및 초기화
		
for(int i=0;i<odds.length;i++) //배열출력
System.out.println(odds[i]);

메모리

Stack : 아직 값은 모르는 배열 변수가 들어간다.
Heap : 배열 개수만큼 default 값으로 들어간다. 주소값이 지정된다

  • 할당된 주소값은 Stack에 있는 배열 변수에 들어간다.
  • Heap에 있는 값들을 배열 변수로 가져올 수 있다.
  • 배열 변수는 첫 번째, 두 번째... 순서가 있다.
    순서가 있는 것들은 내부적으로 index로 관리
  • 마지막 요소 : 마지막 수 -1

 

다차원 배열

2차원 이상의 배열. 지도, 게임, 평면 등을 구현할 때 이차원 배열을 활용한다.
삼차원 배열은 주로 공간을 나타내는 프로그램에서 활용한다.

 

이차원 배열

자료형[][] 배열이름 = new 자료형[행개수][열개수];

가변 배열로 사용하려면 열 개수를 지정하지 않고 각 행마다 다른 길이의 배열을 생성할 수 있다.

 

int[][] arr2 = new int[2][]; // 선언할때는 행은 꼭 지정해야한다.

-> 배열을 선언하기 위해서 행은 꼭 지정해주어야 한다.

 

int[][] arr = {{1,2,3},{4,5,6},{7,8,9}};
		
for(int i= 0; i < arr.length; i++) { 
	for(int j =0 ; j< arr[i].length ; j++) {
		System.out.print(arr[i][j]); //2차원 배열 출력방법
			}
			System.out.println();
	}

또다른 배열 출력방법

int[][] arr = {{1,2,3},{4,5,6},{7,8,9}};
		
System.out.println(Arrays.toString(arr[0]));
System.out.println(Arrays.toString(arr[1]));
System.out.println(Arrays.toString(arr[2]));

728x90

'Programming language > Java' 카테고리의 다른 글

6. 클래스  (0) 2021.08.13
5. 제어문(가정문,반복문)  (0) 2021.08.12
3. 연산자  (0) 2021.08.11
2. 출력 함수(printf,println)  (0) 2021.08.10
1. 자료형  (0) 2021.08.10
Comments