사용자 도구

사이트 도구


study:java:javachobo:ch5

차이

문서의 선택한 두 판 사이의 차이를 보여줍니다.

차이 보기로 링크

양쪽 이전 판 이전 판
다음 판
이전 판
다음 판 양쪽 다음 판
study:java:javachobo:ch5 [2010/01/21 09:16]
starlits
study:java:javachobo:ch5 [2010/01/21 09:30]
starlits
줄 40: 줄 40:
  
 ===== 배열의 활용 ===== ===== 배열의 활용 =====
 +  - 배열의 각 저장공간에 값을 저장하고 또는 저장된 값을 읽어오기 위해서는 배열 참조변수와 인덱스를 이용한다. 
 +  - 배열의 인덱스는 배열의 각 저장공간에 자동적으로 주어지는 일련 번호인데, 0부터 시작해서 1씩 증가하는 연속적인 값이다. 
 +  - 크기가 5인 배열에서는 index의 범위가 0~4까지 모두 5개가 된다. 
 +  - 배열의 값을 읽거나 저장하기 위해서는 다음과 같이 배열 참조변수와 배열의 인덱스를 사용하면 된다. <code java>
 +score[3] = 100;         // 배열 score의 4번째 요소에 100을 저장한다. 
 +int value = score[3]; // 배열 score의 4번째 요소에 저장된 값을 읽어서 value에 저장한다. 
 +</code>
 +  - 배열을 다루는데 있어서 for문은 거의 필수적으로 사용된다. \\ 이 때 for문의 조건식으로 배열의 크기를 직접 적어주는 것보다 \\ 배열의 속성인 length를 사용하는 것이 더 견고한 코드를 만든다. <code java>
 +int[] score = { 100, 90, 80, 70, 60, 50 }; 
 +
 +for (int i=0; i < 6; i++) { 
 +          System.out.println(score[i]); 
 +
 +</code> \\ 위의 코드는 배열의 각 요소를 for문을 이용해서 출력하는 일을 한다. \\ 여기서 score배열의 크기는 6이며 인덱스의 범위는 0~5이다. \\ 이 때 코드를 다음과 같이 변경하여 배열에 저장될 값을 하나 줄인다면, \\ 배열의 크기가 5로 변경되었으므로 유효한 인덱스의 범위는 0~4가 된다. 
 +  - length는 배열의 크기가 변경됨에 따라 자동적으로 변경된 배열의 크기를 갖기 때문에, \\ 배열의 처리에 사용되는 for문의 조건식을 일일이 변경해주지 않아도 된다. <code java>
 +for(int i=0; i < score.length; i++) { 
 +     System.out.println(score[i]); 
 +
 +</code>
 +
 + 
 +
 +
  
 ===== 다차원 배열 ===== ===== 다차원 배열 =====
 +  - 자바에서는 1차원 배열 뿐만 아니라 2차원 이상의 다차원 배열도 허용한다. 
 +  - 2차원 배열을 잘 이해하면 2차원 이상의 배열에 응용하는 것은 그리 어렵지 않다. 
 +  - <color blue>3차원이상의 고차원 배열의 선언은 대괄호[]의 개수를 차원 수 만큼 추가해 주기만 하면 된다.</color>
 +  - 2차원 배열은 주로 테이블 형태의 데이터를 담는데 사용되며, 만일 5행 3열의 데이터를 담기 위한 배열을 생성하려면 다음과 같이한다. <code java>
 +int[][] score = new int[5][3];      // 5행 3열의 2차원 배열을 생성한다. 
 +</code> 위 문장이 수행되면 score[0][0]부터 score[4][2]까지 15개의 저장공간이 마련된다. 
 +
 +===  ===
 +^ 선언방법 ^ 선언예 ^
 +| 타입[][] 변수이름; | int[][] score; |
 +| 타입 변수이름[][]; | int score[][]; |
 +| 타입[] 변수이름[]; | int[] score[]; |
  
 ===== 가변 배열 ===== ===== 가변 배열 =====
 +
 +  - 자바에서는 2차원 이상의 배열에 대해서 "배열의 배열"의 형태로 처리한다는 사실을 이용하면 보다 자유로운 형태의 배열을 구성할 수 있다. 
 +  - 2차원 이상의 다차원 배열을 생성할 때 전체 배열 차수 중 마지막 차수의 크기를 지정하지 않고, \\ 추후에 각기 다른 크기의 배열을 생성함으로써 고정된 형태가 아닌 보다 유동적인 가변 배열을 구성할 수 있다. 
 +  - 아래와 같이  2차원 배열을 생성하면 다음과 같이 각 열마다 다른 크기의 배열이 생성하는 것이 가능하다. <code java>
 +int[][] score = new int[5][]; 
 +score[0] = new int[4]; 
 +score[1] = new int[3]; 
 +score[2] = new int[2]; 
 +score[3] = new int[2]; 
 +score[4] = new int[3]; 
 +</code>
 +  - 가변배열 역시 중괄호{}를 이용해서 다음과 같이 생성과 초기화를 동시에 하는 것이 가능하다. <code java>
 +int[][] score = {
 +  {100, 100, 100, 100}, 
 +  {20, 20, 20}, 
 +  {30, 30}, 
 +  {40, 40}, 
 +  {50, 50, 50}
 +}; 
 +</code> 
 + 
  
 ===== 배열의 복사 ===== ===== 배열의 복사 =====
study/java/javachobo/ch5.txt · 마지막으로 수정됨: 2010/01/21 09:35 저자 starlits