본문 바로가기
프로그래밍/Java-문법정리

【Java문법】배열

by 코이킹 2022. 1. 9.
반응형

안녕하세요 코이킹입니다. 

 

이번 포스트에서는 배열에 대해서 설명해보겠습니다. 


1. 배열이란?

배열은 같은 데이터 타입의 변수가 순차적으로 저장되어 있는 모습의 자료구조입니다.  

수량이 정해진 다수의 같은 데이터 타입의 데이터를 다룰 때 배열이 사용됩니다. 

 

2. 배열의 선언과 초기화 

1) 배열의 선언 

// [데이터 타입] [] [배열명]; 
int [] arrayInt;

 

2) 선언한 배열을 초기화하기 (배열의 길이를 지정)

// 배열명 = new 데이터 타입 [];
arrayInt = new int[3];

 

3) 배열의 선언과 초기화를 동시에 하기 (배열의 길이를 지정)

// 데이터 타입 [] 배열명 = new 데이터 타입 [];
String [] arrayStr = new String[3];

 

4) 배열의 선언과 초기화를 동시에 하며, 배열에 데이터를 넣어서 생성하기

 - 방법 1

// 데이터 타입 [] 배열명 = new 데이터타입[]{요소1, 요소2, 요소3, ...}
char [] arrayChar = new char[] {'A','B','C'};

 

 - 방법 2

 

// 데이터 타입 [] 배열명 = {요소1, 요소2, 요소3, ...}
byte [] arrayByte = {1, 2, 3};​

 

3. 배열에 값 입력・출력하기

 배열의 요소에 접근하기 위해서는 인덱스(index) 번호를 알고 있어야 합니다. 

배열의 인덱스 번호는 0부터 시작하며 '배열명[인덱스 번호]'와 같이 배열의 요소에 접근할 수 있습니다.

System.out.println(arrayInt[0]);  // 0 int배열의 기본값은 0이다.
System.out.println(arrayInt[1]);  // 0 
System.out.println(arrayInt[2]);  // 0 

// 배열의 각 공간에 값을 대입
arrayInt[0] = 3;
arrayInt[1] = 2;
arrayInt[2] = 1;

// length는 배열의 길이를 담고 있다.
for (int i=0; i<arrayInt.length; i++) {
    System.out.println("배열의  ["+i+"] 번째 인덱스의 요소의 값 : "+ arrayInt[i]);
}

 

4. 다차원 배열의 선언과 초기화 

다차원 배열은 int [][] 배열 이름 = new [상위 차원의 길이][하위 차원의 길이]와 같이 선언과 초기화를 할 수 있습니다. 

※ 5 * 5 크기의 2차원 배열은 아래와 같은 공간이 메모리에 할당됩니다. 

 [0,0][0,1][0,2][0,3][0,4] 
 [1,0][1,1][1,2][1,3][1,4] 
 [2,0][2,1][2,2][2,3][2,4] 
 [3,0][3,1][3,2][3,3][3,4] 
 [4,0][4,1][4,2][4,3][4,4] 

 

1) 선언과 배열의 길이 지정하기

// 데이터 타입 [][] 배열명 = new 데이터 타입[상위차원 길이][하위차원 길이];
int [][] MultiArrayInt1 = new int[5][5];

 

2) 선언과 초기화를 동시에 하기 

 - 방법 1

int [][] MultiArrayInt2 = new int[][] {
    {1, 2, 3, 4, 5},
    {6, 7, 8, 9, 10},
    {11, 12, 13, 14, 15}
};

 

 - 방법 2 

int [][] MultiArrayInt3 = {
    {1, 2, 3, 4, 5},
    {6, 7, 8, 9, 10},
    {11, 12, 13, 14, 15}
};

 

4. 다차원 배열에 값 입력・출력하기

다차원 배열의 요소에 접근하기 위해서는 상위 차원 인덱스 번호와 하위 차원 인덱스 번호를 알고 있어야 합니다. 

'배열명[상위 차원 인덱스 번호][하위 차원 인덱스번호]' 와 같이 배열의 요소에 접근할 수 있습니다.

System.out.println(MultiArrayInt1[0][0]);  // 0 int배열의 기본값은 0이다.
System.out.println(MultiArrayInt1[0][1]);  // 0 
System.out.println(MultiArrayInt1[0][2]);  // 0 
MultiArrayInt1[0][0] = 3;
MultiArrayInt1[0][1] = 2;
MultiArrayInt1[0][2] = 1;
		
for (int i=0; i<MultiArrayInt1.length; i++) {
    for (int j=0; j<MultiArrayInt1.length; j++) {
        System.out.println("배열의 ["+i+","+j+"] 번째 인덱스의 요소의 값 : "+ MultiArrayInt1[i][j]);
    }
}

 


 

※ 예제코드

https://github.com/leeyoungseung/algorithmBasic/blob/master/algorithm/src/basic/B_07_Array.java

 

※ qiita에 투고한 URL

https://qiita.com/Koiking-L/items/7a331d6c583ff3dff685

반응형

'프로그래밍 > Java-문법정리' 카테고리의 다른 글

【Java문법】표준입출력  (0) 2022.01.09
【Java문법】메서드  (0) 2022.01.09
【Java문법】반복문  (0) 2022.01.09
【Java문법】조건문  (0) 2022.01.09
【Java문법】연산자  (0) 2022.01.09

댓글