5일차

1차원 배열

  • 동일한 데이터 유형의 연속 메모리 영역으로 구성된 데이터 구조입니다.
  • 동일한 데이터 유형의 변수가 여러 개 필요할 때 사용됩니다.
  • 배열은 기본 데이터 유형이 아닌 참조 유형입니다.

배열 생성 방법

int() array1 = new int(배열크기);
//배열에 값 저장하기
array1(0)=4;

배열에 저장된 값을 추출하여 사용

//array1이 참조하는 배열의 1번 인덱스에 해당 값을 꺼내 value에 저장함
int value = array1(1);
//array1이 참조하는 배열 1번 인덱스에 해당하는 값을 콘솔에 출력함
System.out.println(array1(1));

선언과 동시에 초기화

//1
int() array1 = new int(){1,2,3,4};
//2
int() array2 = {1,2,3,4};

배열의 길이를 찾는 방법

  • 배열을 가리키는 참조 변수입니다. 길이: 배열의 길이를 반환합니다.
iarray.length

for 루프와 함께 배열 사용

//배열 선언하기
int() iarray = new int(100);

//배열에 1부터 100까지 넣기
for (int i=0; i<iarray.length;i++) {
    iarray(i)=i+1;
}
//배열에 저장된 값을 모두 더하기
int sum=0;
for (int i =0;i<iarray.length;i++) {
    sum+=iarray(i);
}
//누적된 최종값 출력
System.out.println(sum);

2차원 배열

  • 배열의 배열입니다.

2차원 배열 생성 방법

int()() array4 = new int(3)(4);
//값 넣기
array4(0)(0)=10;


가변 크기의 2D 배열을 생성하려면

//array5는 3개자리 배열을 참조하나, 3개짜리 배열은 참조하는 배열이 없는 상태
int()() array5 = new int(3)();

array5(0) = new int(1); //정수를 하나 담을 수 있는 배열을 생성 후, array5의 0번째 인덱스가 참조
array5(1) = new int(2); //정수를 두 개 담을 수 있는 배열을 생성 후, array5의 1번째 인덱스가 참조
array5(2) = new int(3); //정수를 세 개 담을 수 있는 배열을 생성 후, array5의 2번째 인덱스가 참조

선언과 동시에 초기화

int()() array6 = {{1},{2,3},{4,5,6}};

모두를 위한

  • Java 1.5부터 추가된 구문
  • 구문은 간결하며 값을 추출하고 저장하는 역할을 합니다.
  • 배열의 크기는 미리 알 필요가 없습니다.

문법

  • 을 위한(유형 값을 받아야 할 변수명 : 출력하고자 하는 자료구조)
//EX
int() iarr = {10,20,30,40,50};

for (int i=0;i<iarr.length;i++) {
    int value = iarr(i);
    System.out.println(value);
}

//for each로 바꿔 표현하기
for (int value:iarr) {
    System.out.println(value);
}