1. 배열 : 같은 형식의 다양한값들을 담고있는 구조.

 1) 실행 될 때 생성된다.(at runtime)

 2) 생성된 후엔 구조 확장이 불가능하다.

 3) 각 형들의 초기값

  - int 형의 초기값 : 0

  - double 형의 초기값 : 0.0

  - boolean 형의 초기값 : false

  - char 형의 초기값 : '\0', '\u0000' // 프린트 할 수 없는 값이 출력되기 때문에 종료된다.

  -  Reference형의 초기값 : null

 ex) 자판기(화폐)

 import javax.swing.JOptionPane;
public class Japanki{
 public static void main(String[] args) {
  int [] array = {50000,10000,5000,1000,500,100,50,10,5,1};
  String money = JOptionPane.showInputDialog("얼마?");
  int gold = Integer.parseInt(money);
  for (int i=0; i<array.length ; i++){
   System.out.printf("%d원 =>> %d개\n", array[i], gold/array[i]);
   gold = gold%array[i];
  }
 }
}

 입력받은 값을 5만원권부터 1원짜리까지 나눌수 있는 갯수를 표시하여준다.

 

2. 다차원 배열

 1) 2차원배열 : Array of Array

   - 배열된 곳의 주소들을 배열한다는 의미로 알면 쉽다.

int [][] array = new int [3][4];   

for (int i = 0; i<array.length ; i++ ) {
   for (int j=0; j<array[0].length ;  j++){
    System.out.print("array["+i+"]["+j+"]="+array[i][j]+"\t"); 
   }
   System.out.println(""); 
  }
  System.out.println("Rectangular Array\n");

 int [][] array3 = {{2,3},{4,5,6},{7},{8,9,10,11}};
  for (int i = 0; i < array3.length ;i++ ){
   for (int j = 0; j < array3[i].length ;j++ ){
    System.out.print("array["+i+"]["+j+"]="+array3[i][j]+"\t"); 
   }
   System.out.println(""); 
  }
   System.out.println("Ragged Array\n");

 Rectangular Array : 행 열 고정

 Ragged Array : 행 고정 열 변환

 

3. Copying Arrays : 값복사와 주소복사

 int [] original = {1,2,3,4,5};
 int [] target = {9,8,7,6,5,4,3,2,1};

 target = original;

  nt [] src = {1,2,3,4,5};
  int [] dest = {9,8,7};
  System.arraycopy(src,0,dest,0,3);

 주소복사

 값복사 : 두 배열의 길이를 알고있어야한다.

 

'Programming > JAVA' 카테고리의 다른 글

자바 객체지향의 특징 1(캡슐화,생성자,this)  (4) 2011.03.24
자바 메소드(method)  (3) 2011.03.24
자바 제어문(조건/반복/분기)  (2) 2011.03.24
JAVA 문법과 연산자  (2) 2011.03.24
JAVA 언어의 법칙  (1) 2011.03.24

+ Recent posts