아폴로딸기맛
2011. 3. 24. 21:44
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);
|
주소복사
|
값복사 : 두 배열의 길이를 알고있어야한다.
|