자바 배열(Array)
- 배열(Array)
- 인덱스와 인덱스에 대응하는 데이터들로 이루어진 자료 구조
- 배열을 이용하면 한 번에 많은 메모리 공간 선언 가능
- 배열은 같은 타입의 데이터들이 순차적으로 저장되는 공간
- 원소 데이터들이 순차적으로 저장됨
- 인덱스를 이용하여 원소 데이터 접근
- 반복문을 이용하여 처리하기에 적합한 자료 구조
- 배열 인덱스
- 0부터 시작
- 인덱스는 배열의 시작 위치에서부터 데이터가 있는 상대 위치
- 인덱스와 인덱스에 대응하는 데이터들로 이루어진 자료 구조
- 배열 선언과 생성
- 선언 : int [] arKor;
- 생성 : arKor = new int[30];
- 둘을 한꺼번에 : int [] arKor = new int[30];
- 사용 예
- 변수[인덱스]로 사용
- 인덱스는 0부터 배열크기-1까지 가능
- arKor[2] = 90;
- int sum = arKor[3] + arKor[4];
- 배열 초기화로 배열 생성 : 배열 선언과 동시에 가능
- int [] arEng = {1,2,3,4,5};
- 레퍼런스 치환과 배열 공유
- 배열의 크기 : length
- 배열을 이용하여 5개의 숫자를 입력받아 합을 출력하는 프로그램
123456789101112131415161718192021222324import java.util.Scanner;public class SampleArray {public static void main(String[] args) {Scanner scanner = new Scanner(System.in);int[] no = new int[5];int sum=0;for(int i=0; i<no.length; i++) {no[i] = scanner.nextInt();}for(int i=0; i<no.length; i++) {sum += no[i];}for(int i=0; i<no.length; i++) {System.out.print(no[i] + " ");}System.out.println("합은 " + sum);scanner.close();}}
- for-each문
123456789101112131415161718192021222324import java.util.Scanner;public class SampleArray {public static void main(String[] args) {Scanner scanner = new Scanner(System.in);int[] no = new int[5];int sum=0;for(int i=0; i<no.length; i++) {no[i] = scanner.nextInt();}for(int n : no) {sum += n;}for(int n : no) {System.out.print(n + " ");}System.out.println("합은 " + sum);scanner.close();}} - 다차원 배열
- 배열 선언및 생성
- int intArray[][] = new int[2][5];
- int[][] a = new int[2][];
a[0] = new int[2];
a[1] = new int[4];
- 배열 초기화로 배열 생성 : 배열 선언과 동시에 가능
- int intArray[][] = { { 0, 1, 2}, { 3, 4, 5}, { 6, 7, 8} }; // 3×3 배열 생성
- char charArray[][] = { {‘a’, ‘b’, ‘c’}, {‘d‘, ‘e’, ‘f’} }; // 2×3 배열 생성
- double doubleArray[][] = { {0.01, 0.02}, {0.03, 0.04} }; // 2×2 배열 생성
- 배열 선언및 생성
- 배열 리턴
12345678910111213public class ReturnArray {static int[] makeArray() {int temp[] = {1,3,5,7};return temp;}public static void main(String[] args) {int intArray[] = makeArray();for(int i=0; i<intArray.length; i++){System.out.print(intArray[i] + " ");}}}