목차
배열
- 배열의 선언
- 배열의 사용
- 배열과 메소드
- 객체들의 배열
- 2차원 배열
- 정렬과 탐색
자바에서 배열은 객체로 취급됩니다.
배열의 선언과 사용
- 배열(array) : 같은 타입의 변수들의 모임이다.
배열의 생성
- 먼저 배열 참조 변수부터 선언
int[] numbers; // 배열 참조 변수 선언
- 배열을 new 연산자를 사용하여서 생성
numbers = new int[6] // 배열 객체 생성
- 배열을 선언과 동시에 생성하는 것도 가능
int[] numbers = new int[6]; // 선언과 동시에 배열 객체 생성
- 어떤 자료형의 배열도 생성이 가능하다.
float[] distances = new float[20]; // 실수 배열
char[] letters = new char[50]; // 문자 배열
배열의 초기화
int[] numbers = {10, 20, 30};
for (int i = 0; i<numbers.length; i++) {
System.out.println(numbers[i]);
}
👉 10
20
30
- 배열 생성과 동시에 초기 값을 선언하는 문이다. 첫번째 인덱스 numbers[0]부터 numbers[2] 까지 순서대로 값이 대입된다.
배열에 값 삽입
public class ArrayTest {
public static void main (String args[]) {
int[] test = new int[5];
for(int i = 0; i<5; i++) {
test[i] = i;
}
for(int j = 0; j<5; j++) {
System.out.println("test의 " + j + "번째에는 " + test[j] + "값 입니다.");
}
👉 실행결과
test의 0번째에는 0값 입니다.
test의 1번째에는 1값 입니다.
test의 2번째에는 2값 입니다.
test의 3번째에는 3값 입니다.
test의 4번째에는 4값 입니다.
배열의 인덱스
- 자바의 배열은
int[] num = new int[5];
형식으로 선언을 하면 총 5개의 공간이 생성되고, 인덱스값은 0 , 1 , 2 , 3, 4 이다.
배열의 반복
- 배열 객체는 배열의 요소만큼 반복을 시킬 수 있는 메소드가 존재한다.
int[] test = new int[5];
System.out.println(test.length); // 배열의 요소 갯수를 카운팅하는 메소드이다.
👉 결과
- 5
for-each 루프
for(자료형 {변수} : 배열 이름) {
// 반복 문장들
}
→
for(int value: numbers) {
System.out.println(value);
}
- numbers 배열의 모든 요소들을 갯수만큼 반복을 하고 인덱스의 요소 값이 value에 대입된다.
사용자가 배열의 크기를 지정
int size; // 사용자에게 입력받는 배열의 크기를 담는 변수
Scanner scan = new Scanner(System.in);
System.out.print("배열의 크기를 입력하세요 : );
int[] numbers = new int[size];
메소드의 매개변수로 배열을 전달
- 이때 메소드로 전달되는 인수는 배열의 참조 주소 값이 전달된다.
객체들의 배열
- 객체들의 배열 : 객체들이 저장된 배열
- 객체들의 배열에서는 객체에 대한 참조값만을 저장한다.
Car[] cars = new Car[5];
- 각 원소에 들어가는 객체는 따로 생성을 하여야 한다.
cars[0] = new Car();
cars[1] = new Car();
2차원 배열
2차원 배열의 초기화
- 2차원 배열에서는 같은 행의 원소를 중괄호로 묶으면 된다.
int[][] twoArray = { {10, 20, 30}, {40, 50, 60}, {70, 80, 90} }
- 첫 번째 행은 {10, 20, 30} , 두 번째 행은 {40, 50, 60}, 세 번째 행은 {70, 80, 90}
2차원 배열에서의 length 메소드 사용 방법
int[][] twoArray = { {10, 20, 30}, {40, 50, 60}, {70, 80, 90} };
for (int row = 0; row < twoArray.length; row++) {
for (int column = 0; column < twoArray[row].length; column++) {
System.out.println("[" +row+ "]" + "[" +column+ "] 의 값은 :" + twoArray[row][column]);
}
}
다차원 배열
- 다른 언어와 마찬가지로 자바에서도 얼마든지 다차원 배열을 생성 할 수 있다. 예를 들어서 다음 문장은 3차원 배열을 생성한다.
double[][][] = sales = new double[3][2][12];
배열
- 배열의 선언
- 배열의 사용
- 배열과 메소드
- 객체들의 배열
- 2차원 배열
- 정렬과 탐색
자바에서 배열은 객체로 취급됩니다.
배열의 선언과 사용
- 배열(array) : 같은 타입의 변수들의 모임이다.
배열의 생성
- 먼저 배열 참조 변수부터 선언
int[] numbers; // 배열 참조 변수 선언
- 배열을 new 연산자를 사용하여서 생성
numbers = new int[6] // 배열 객체 생성
- 배열을 선언과 동시에 생성하는 것도 가능
int[] numbers = new int[6]; // 선언과 동시에 배열 객체 생성
- 어떤 자료형의 배열도 생성이 가능하다.
float[] distances = new float[20]; // 실수 배열
char[] letters = new char[50]; // 문자 배열
배열의 초기화
int[] numbers = {10, 20, 30};
for (int i = 0; i<numbers.length; i++) {
System.out.println(numbers[i]);
}
👉 10
20
30
- 배열 생성과 동시에 초기 값을 선언하는 문이다. 첫번째 인덱스 numbers[0]부터 numbers[2] 까지 순서대로 값이 대입된다.
배열에 값 삽입
public class ArrayTest {
public static void main (String args[]) {
int[] test = new int[5];
for(int i = 0; i<5; i++) {
test[i] = i;
}
for(int j = 0; j<5; j++) {
System.out.println("test의 " + j + "번째에는 " + test[j] + "값 입니다.");
}
👉 실행결과
test의 0번째에는 0값 입니다.
test의 1번째에는 1값 입니다.
test의 2번째에는 2값 입니다.
test의 3번째에는 3값 입니다.
test의 4번째에는 4값 입니다.
배열의 인덱스
- 자바의 배열은
int[] num = new int[5];
형식으로 선언을 하면 총 5개의 공간이 생성되고, 인덱스값은 0 , 1 , 2 , 3, 4 이다.
배열의 반복
- 배열 객체는 배열의 요소만큼 반복을 시킬 수 있는 메소드가 존재한다.
int[] test = new int[5];
System.out.println(test.length); // 배열의 요소 갯수를 카운팅하는 메소드이다.
👉 결과
- 5
for-each 루프
for(자료형 {변수} : 배열 이름) {
// 반복 문장들
}
→
for(int value: numbers) {
System.out.println(value);
}
- numbers 배열의 모든 요소들을 갯수만큼 반복을 하고 인덱스의 요소 값이 value에 대입된다.
사용자가 배열의 크기를 지정
int size; // 사용자에게 입력받는 배열의 크기를 담는 변수
Scanner scan = new Scanner(System.in);
System.out.print("배열의 크기를 입력하세요 : );
int[] numbers = new int[size];
메소드의 매개변수로 배열을 전달
- 이때 메소드로 전달되는 인수는 배열의 참조 주소 값이 전달된다.
객체들의 배열
- 객체들의 배열 : 객체들이 저장된 배열
- 객체들의 배열에서는 객체에 대한 참조값만을 저장한다.
Car[] cars = new Car[5];
- 각 원소에 들어가는 객체는 따로 생성을 하여야 한다.
cars[0] = new Car();
cars[1] = new Car();
2차원 배열
2차원 배열의 초기화
- 2차원 배열에서는 같은 행의 원소를 중괄호로 묶으면 된다.
int[][] twoArray = { {10, 20, 30}, {40, 50, 60}, {70, 80, 90} }
- 첫 번째 행은 {10, 20, 30} , 두 번째 행은 {40, 50, 60}, 세 번째 행은 {70, 80, 90}
2차원 배열에서의 length 메소드 사용 방법
int[][] twoArray = { {10, 20, 30}, {40, 50, 60}, {70, 80, 90} };
for (int row = 0; row < twoArray.length; row++) {
for (int column = 0; column < twoArray[row].length; column++) {
System.out.println("[" +row+ "]" + "[" +column+ "] 의 값은 :" + twoArray[row][column]);
}
}
다차원 배열
- 다른 언어와 마찬가지로 자바에서도 얼마든지 다차원 배열을 생성 할 수 있다. 예를 들어서 다음 문장은 3차원 배열을 생성한다.
double[][][] = sales = new double[3][2][12];