럿고의 개발 노트

[프로그래머스] 자바 입문 > Part4. 배열 본문

Java Note/[프로그래머스] 자바 입문(동영상 강의)

[프로그래머스] 자바 입문 > Part4. 배열

KimSeYun 2019. 12. 20. 20:30

[프로그래머스] 자바 입문

Part4. 배열

1. 배열만들기

1차원 배열


  • 배열은 같은 데이터 타입을 가진 연속된 메모리 공간으로 이루어진 자료 구조.

  • 같은 데이터 타입을 가진 여러개의 변수가 필요할때 사용

  • 선언방법

      데이터타입[] 배열명 = new 데이터타입[배열길이]; // 선언
      데이터타입[] 배열명 = { 데이터값 }; // 선언 및 초기화
public class ArrayExam {
    public static void main(String[] args) {
        int[] array1 = new int[100]; // 타입[] 배열명 = new(객체생성) 타입[길이]

        array1[0] = 50; // 값 넣는 법, index는 0번부터 시작 
        array1[10] = 100;

        int[] array2 = new int[] {1, 2, 3, 4}; // 처음부터 값을 넣는 방법
        int[] array3 = {1, 2, 3, 4}; // 위의 코드를 이렇게 줄일수도 있음

        System.out.println(array3[3]); // 배열의 값을 출력

        int value = array3[0]; // 배열의 있는 값을 변수에 넣기
        System.out.println(value); // 변수 출력

    }
}

2. 배열 사용하기

for문을 이용해서 배열 사용


  • 배열에 접근할때 인덱스를 통해 접근(인덱스는 0부터 시작)

  • 배열의 길이를 알아내는 방법

배열을 참조하는 레퍼런스 배열(배열명).length

public class ArrayWithFor {

    public static void main(String[] args) {
        int[] iarray = new int[100]; // int값 100개를 담을 수 있는 iarray 생성
        iarray[0] = 1; // 인덱스 0에 1이라는 값 넣기
        iarray[1] = 2; // 인덱스 1에 2이라는 값 넣기

        System.out.println(iarray.length); // 배열 길이 확인

        // 1 ~ 100까지 값을 넣을려고 할때 반복문 사용
        for (int i = 0; i < iarray.length; i++) { // 배열명.length은 배열의 길이를 알 수 있음
            iarray[i] = i + 1; // 1 ~ 100까지 값 넣기
        }

        // 배열의 모든 값을 더하는 방법
        int sum = 0; // 결과값(모든 값을 더한 값)
        // 변수의 스코프 : 기본적으로 괄호 안에서만 사용할수 있음.
        for (int i = 0; i < iarray.length; i++) {
            sum += iarray[i];
        }   
    }
}

3. 2차원 배열

2차원 배열


  • 2차원 배열이란 배열의 배열
public class ArrayExam2 {
    public static void main(String[] args) {
        int[][] array4 = new int[3][4]; // 2차원배열 생성
        //0 [0,1,2,3]
        //1 [0,1,2,3]
        //2 [0,1,2,3]
        //array4[0] = 10; // 2차원배열에서는 이렇게 값을 넣어서는 안된다. 참조변수이기때문에,
        // 참조변수는 값을 저장할수 없다
        array4[0][1] = 10; // 2차원배열 값 넣기

        int[][] array5 = new int[3][]; // 2차원배열은 길이가 다른 배열을 생성할수 있음
        // 0
        // 1
        // 2
        // array5[0][0] = 10; // 오류발생, 0번지를 가르키는 배열이 없어서 오류
        array5[0] = new int[1]; // 참조변수 안에 배열을 넣어줘야, 그 참조변수 배열에 값을 넣을수 있음

        int[][] array6 = {{1,}, {1,2}, {1,2,3}}; // 선언과 초기화 동시에 가능
        System.out.println(array6[0][0]); // 2차원 배열 출력
        System.out.println(array6[2][2]); // 2차원 배열 출력
    }
}

4. for each

for each


  • JDK5부터 추가된 구문

  • 자료구조의 값들을 하나씩 빼낼때 사용

public class ForEachExam {
    public static void main(String[] args) {
        int[] iarr = {10, 20, 30, 40, 50}; // 1차원배열 선언 및 초기화

        for(int i = 0; i < iarr.length; i++) { // for문으로 배열값을 출력하기
            System.out.println(iarr[i]);
        }

        for (int i : iarr) { // foreach문(타입 값을 받아줄 변수명 : 출력하고 싶은 자료 구조)
            System.out.println(i);
        }
    }
}

※ 출처

[프로그래머스] 자바 입문

Comments