광형 2022. 3. 25. 10:00
728x90
728x90
SMALL

배열의 정의

변수 : 하나의 공간에 하나만 넣을 수 있습니다.
배열 : 하나의 공간에 여러개의 값을 담을 수 있습니다. 단, 같은 자료형만 담을 수 있습니다.
        배열의 각 인덱스 위치에 값을 담을 수 있습니다.(방이 나뉘어져있습니다.)
        각 방의 크기가 같습니다.(자료형 크기) ex) int [] : 각 인덱스방의 크기가 4byte

 

배열의 선언

자료형[] 배열명;

ex)
int[] arr1;
double[] arr1;

 

 배열의 할당

자료형[] 배열명= new 자료형[배열의 크기];  => 배열의 크기 :몇 칸짜리 배열을 만들건지 설정합니다. 

ex)
int[] arr1;  => 배열의 선언
arr1 = new int [5];  => 선언한 배열에 할당하기 /배열의 크기 : 5
int [] arr2 = new int[5]; => 배열의 선언과 동시에 할당을 같이하기

배열의 각 인덱스에 값을 가지고 오는 방법

배열의 개념을 한번에 쉽게 설명하면 다음위와 같습니다.

배열을 for문을 이용해서 한번에 출력을 할 수 있습니다. 

https://kwanghyung.tistory.com/entry/For%EB%AC%B8

 

For문

For문 괄호안의 반복을 지정하는 부분이 있다. 초기식, 조건식, 증감식 세가지로 이루어져 있습니다. for(초기식; 조건식; 증감식) {  실행될 코드 } -초기식 : 반복문이 시작될때 "초기에 단 한번만

kwanghyung.tistory.com

혹시 for문에 대해서 생각이 안나면 보고 오셔도 좋습니다.

위의 arr1배열문을 하나씩 써서 출력하는게 아닌 for문과 출력문으로 아래와 같이 출력을 할 수 있습니다.

for (int i=0; i<arr1.length; i++) {

System.out.println(arr1[i]);

}

  여기서 중요한것은 배열의 길이입니다. arr1.length는 배열의 크기를 말하고 index로는 그 전까지 출력되므로 위의 식 처럼 할 수 있습니다. ex) arr1[5]가 이 배열의 마지막 배열 5번째 인덱스이지만 6개의 방이 있습니다. 그러므로 arr1.length-1이 아닌 arr1.length로 사용할 수 있습니다.

배열을 다음과 같이 선언하고 할당합니다.

  그 출력문으로 아직 인덱스에 값을 넣지 않고 출력을 하면 어떻게 될까요? 아무 값이 들어 있지 않기때문에 오류가 날것 같지만 출력을 하면 다음과 같습니다.

  String은 null을 int와 double은 각각 0을 출력 했습니다. 그 이유는 자바에 JVM(JAVA VIRTUAL MACHINE)이 기본값을 넣어줍니다. 그러면 왜 넣냐고 하면 stack heap 영역 즉 배열도 주소값을 이용한 참조형태인데 heap영역에서 만들어준 인덱스에 빈공간이 있으면 안되기 때문입니다.

또 배열형태 중 new를 스킵하고 바로 넣어주는 방법이 있습니다.

그러면 아이유는 sArr2[0]="아이유"....부터 시작해 sArr2[8]="설인아"이라는 배열이 만들어집니다.

그럼 출력을 하려면 for문을 돌려보겠습니다.

 

  이렇게 출력이 됩니다. 이번시간에는 배열에 대해서 알아보았습니다. 다음시간에는 배열 연습할 문제들과 배열 복사에 대해서 얘기해보겠습니다.

728x90
300x250
LIST