- 배열은 많이 쓰이고, 그 performance가 좋다. 모든 배열은 참조타입이다.
-
배열의 선언
- int[] score;
String[] name; - int score[];
String name[];
- int[] score;
-
배열의 생성
- int[] score; // 배열의 선언
score = new int[5]; // 배열의 생성
- int[] score; // 배열의 선언
-
배열의 초기화
- String[] name = new String[3];
name[0] = new String("Kim");
name[1] = new String("Lee");
name[2] = new String("Park"); - String[] name = { "Kim", "Lee", "Park" };
- String[] name = { new String("Kim"), new String("Lee"), new String("Park"); // 선언과 초기화를 동시에 할 경우
-
String[] name = new String[] { new String("Kim"), new String("Lee"), new String("Park"); // 선언과 초기화를 따로 할 경우
- 매개변수를 배열로 받을 때도 위와 같은 것이 필요하다.
- int add(int[] arr) { }
int result = add( new int[] { 100, 90, 80, 70, 60 });
- String[] name = new String[3];
-
배열의 활용
- C언어의 문법으로는 (비록 아래는 C언어는 아니지만)
int[] score = { 100, 90, 80, 70, 60 };
for (int i=0;i<6;i++)
System.out.println(score[i]); - 로 사용하였지만, Java에서는 배열의 멤버변수(필드변수)로 사용 가능하다.
int[] score = { 100, 90, 80, 70, 60 };
for (int i=0;i<score.length;i++)
System.out.println(score[i]);
- C언어의 문법으로는 (비록 아래는 C언어는 아니지만)
-
배열 예제를 하나 해보자.
- 모스부호 예제 ArrrayEx9.java
- 모스부호 예제 ArrrayEx9.java
-
다차원 배열
-
선언
- int[][] score;
- int score[][];
- int[] score[];
-
생성
- int[][] score = new int[5][3];
-
초기화
- score[0][0] = 100;
score[0][1] = 100;
...
score[4][2] = 50];
- score[0][0] = 100;
-
생성 & 초기화
- int[][] score = new int[][] { {100,100,100}, {20,20,20}, ... ,{50,50,50} };
-
for문을 사용한 2차원배열 초기화
- for (int i=0;i<score.length;i++)
for (int j=0;j<score[i].length;j++)
score[i][j] = 0;
- for (int i=0;i<score.length;i++)
-
-
가변배열
- 길이가 서로 변하는 다차원 배열로
-
생성
- int[][] score = new int[5][];
score[0] = new int[3];
score[1] = new int[4];
...
score[4] = new int[2];
- int[][] score = new int[5][];
-
생성 & 초기화
- int[][] score = new int[][] { {100,100,100,100}, {20,20}, ... ,{50,50,50} };
- int[][] score = new int[][] { {100,100,100,100}, {20,20}, ... ,{50,50,50} };
-
배열의 복사
- for문으로 복사할 수도 있고, ArrayEx11.java
-
System 클래스에서 제공하는 arraycopy()를 사용할 수도 있다.
- System.arraycopy(arr1, 0, arr2, 0, arr1.length);
- arr1[0]에서 arr2[0]으로 arr1.length 개의 데이터 복사
-
배열 예제
-
매개변수 배열 예제 ArrayEx13.java
- 이클립스에서 매개변수는, Run - Runconfigurations에서 Argument 탭의 Program Argument를 통해 입력하도록 한다.
- 숫자 맞추기 예제 ArrayEx16.java
-
이 글은 스프링노트에서 작성되었습니다.


최근 덧글