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문때문에 살짝 헷갈릴 수도있지만 어려운스크립트는 아니니깐 조금만 보시면 이해가 가실겁니다.
댓글