[Java] 배열 참고사항

MSU·2023년 12월 12일

JAVA

목록 보기
24/28

1차원 배열

  • 자바에서는 new int[5]로 배열을 생성하게되면 총 5개의 int형 변수가 만들어지고 내부 값을 자동으로 0으로 초기화해준다.
    타입별로 자동 초기화 값은 아래와 같다.

    • int : 0
    • boolean : false
    • String : null

  • 배열의 생성과 초기화를 동시에 하려면 아래와 같이 작성하면 된다.
	int[] students = new int[]{90, 80, 70, 60, 50};
    
    int[] students = {90, 80, 70, 60, 50}; //new int[]를 생략할 수 있다.
    
    //대신 아래와 같이는 할 수 없음(에러)
    int[] students;
    students = {90, 80, 70, 60, 50};

  • 배열을 생성하면 배열의 크기만큼 메모리를 확보함
    • int형을 5개 사용하면 4byte * 5 -> 20byte를 확보함

  • 배열을 생성하면 자바는 메모리 어딘가에 있는 new int[5]로 생성된 배열의 참조값(주소)를 반환한다.
    • 실제로 변수를 출력하면 해당 배열의 참조값이 출력된다.
    • 참조값 출력 예시 : 참조값에서 Iint를 의미함

  • 배열의 인덱스는 0부터 시작한다.

    • new int[5]와 같이 크기가 5인 배열의 경우 인덱스는 0,1,2,3,4가 된다.

  • 배열은 참조형(Reference Type)이며 참조형은 데이터에 접근하기 위한 참조(주소)를 저장하는 데이터 타입을 말한다.

    • 객체나 클래스를 담을 수 있는 변수들도 모두 참조형이다.
    • 배열은 참조형이기때문에 동적으로 사이즈를 변경할 수 있다.
    int size = 10000;
    new int[size] //이 코드가 실행되는 시점에 배열의 크기가 정해진다.
    • 참조형은 메모리에 저장된 배열이나 객체의 참조를 저장하기 때문에 복잡한 데이터 구조를 만들고 관리할 수 있다.

2차원 배열

  • 2차원 배열의 생성과 초기화는 아래와 같이 가능하다
        int[][] arr = new int[2][3]; //행2 열3

        arr[0][0] = 1;
        arr[0][1] = 2;
        arr[0][2] = 3;
        arr[1][0] = 4;
        arr[1][1] = 5;
        arr[1][2] = 6;
        int[][] arr = {
            {1,2,3},
            {4,5,6}
        }; //행2 열3
  • for문에서 2차원 배열의 길이를 활용할 때 아래와 같이 구할 수 있다.

    • 행의 길이 : arr.length

    • 열의 길이 : arr[i].length


    for(int row = 0; row < arr.length; row++){
        for(int column = 0; column < arr[row].length; column++){
            System.out.print(arr[row][column] + " ");
        }
        System.out.println();
    }

향상된 for문

  • 배열에서는 향상된 for문(for-each)을 사용할 수 있다.
int [] numbers = {1,2,3,4,5};

for(int number : numbers){
	System.out.println(number);
}
  • intelliJ에서는 'iter'를 입력하면 자동완성 기능으로 빠르게 향상된 for문을 입력할 수 있다.
  • index가 필요한 경우에는 향상된 for문보다는 기본 for문을 사용해야 함






    출처 : 김영한의 자바 입문 - 코드로 시작하는 자바 첫걸음
profile
안드로이드공부

0개의 댓글