본문 바로가기
카테고리 없음

[Java] 09. 배열 ( Array )

by 슈퍼닷 2015. 1. 19.
반응형

array라는 것은 배열을 의미한다.

array는 일종의 object 이다.

변수들이 모여 하나의 array를 이룬다.

 

array는 어떻게 선언해야 될까?

int [] arr ;

int arr [];

 

위의 두가지 방법중 하나를 선택하여 array arr을 만들수 있다.

그리고 , 위의 방법은 int형 array를 만드는 것이다.

이제 array의 크기를 정해야 된다.

 

 int [] arr;

arr = new int[3];

 

 

array는 일종의 object 라고 했으니 new 로 변수를 선언하는건 당연한 것이다.

[] 안에 array의 크기가 들어가고 []앞의 자료형은 array안에 들어갈 자료들의 자료형이 되겠다.

 

이제 array에 데이터를 저장해 보자.

일단 array의 구조를 알아야한다.

arr의 크기가 3이다. 이 말은 , arr[0] , arr[1] , arr[2] 라는 변수들이 생겼다는 것이다.

arr[1]이 아닌 arr[0]부터 시작하기 때문에 arr[3]이 없는것은 당연하다.

데이터를 저장하는방법은 다른 변수에 데이터를 저장하는 법과 같다.

 

public class ArrayView

{

public static void main(String args[])

{

int [] arr = new int[3];

arr[0] = 2;

arr[1] = 3 ;

arr[2] = 4;

for(int i = 0 ; i < arr.length ; i++)

{

System.out.println(arr[i]);

}

}

}

 

array arr을 크기를 3으로 선언하고 arr에 차례대로 데이터를 저장하고 , for문을 통해 arr의 정보를 출력했다.

여기서 arr.length는 arr의 크기를 의미한다. 그러니깐 여기서는 i < 3 이랑 같은 의미를 띈다.

 

array의 자료형에서 object의 자료형도 선언이 가능하다.

String Object를 예로 들겠다.

 

public class ArrayView

public static void main(String args[])

{

String [] arr = new String[3];

arr[0] = new String("hi");

arr[1] = new String("hello");

arr[2] = new String("bye");

for(int i = 0 ; i < arr.length ; i++)

{

System.out.println(arr[i]);
}

}

}

 

String [] arr 을 통해 String 형 변수를 선언 했다.

그리고 new String[3] 을 통해 3개의 String 변수를 담는 array 임을 선언했다.

그리고 arr에 데이터를 저장하고 , 문자열을 출력하는 스크립트이다.

이렇게 자료형이 object 인 array는 그안에 들어갈 데이터를 new 로 작성해야 된다.

또 , String 자료형은 java에서 많이 쓰이는 자료형이라

String str = "gg";

이렇게 간편하게 써도 된다.

 

이제 다차원 array에 대해 공부를 해보자.

지금까지 배운 array가 평면적인 느낌이었다면 다차원 array는 조금 입체적인 느낌일 것이다.

예제를 보자.

 

int [][] arr;

arr = new int[3][];

arr[0] = new int[3];

arr[1] = new int[3];

arr[2] = new int[3];

 

이 array의 구조는 어떻게 되어있을까요 ?

 

arr[0]   -   arr[0] , arr[1] , arr[2]

arr[1]   -   arr[0] , arr[1] , arr[2]

arr[2]   -   arr[0] , arr[1] , arr[2]

 

이런형식으로 꼭 아파트 처럼 arr[]층마다 생기게 됩니다.

 

public class ArrayView

{

public static void main(String args[])

{

int [][] arr;

arr = new int[3][];

arr[0] = new int[3];

arr[1] = new int[3];

arr[2] = new int[3];
for(int i=0 ; i < arr.length ; i++)
{
 for(int x=0 ; x < arr.length ; x++)
 {
  arr[i][x] = x ;
 }
}
for(int i=0 ; i < arr.length ; i++)
{
 for(int x=0 ; x < arr.length ; x++)
 {
  System.out.println(arr[i][x]);
 }
}
}
}

 

 

이 예제는 다차원 array를 for문으로 초기화하고 다음 for문에서는 초기화된 array를 출력하는 스크립트입니다.

이중 for문때문에 살짝 헷갈릴 수도있지만 어려운스크립트는 아니니깐 조금만 보시면 이해가 가실겁니다.

반응형

댓글