배열

서지우·2023년 7월 5일
0

JAVA

목록 보기
9/28

배열이란?

- 같은 타입의 여러 변수를 하나의 묶음으로 다루는 것
- 많은 양의 값(데이터)을 다룰 때 유용
- 배열의 각 요소는 서로 연속적

배열의 선언과 생성

배열을 선언한다고 해서 값을 저장할 공간이 생성되는 것이 아니라 배열을 다루는데 필요한 변수가 생성된다.

실습 - ch05 / S01.java

주석으로 설명..

package ch05;

public class S01 {
    public static void main(String[] args) {
        // 배열선언 + 초기화
        int[] intArray = new int[5];

        // 배열의 요소 값 가져오기
        // int 배열은 초기화 할 때 값을 넣지 않으면
        // 모두 0으로 초기화한다
        System.out.println(intArray[0]); // 0

        // 배열의 값 바꾸기
        intArray[0] = 5; 

        System.out.println(intArray[0]); // 0 5

        // 범위를 넘어서 요소 가져오기
        // 에러가 발생한다
        // IndexOutOfBoundsException
        // Index 5 out of bounds for length 5
        // System.out.println(intArray[5]); //에러
    }
}

실습 - ch05 / S02.java

주석으로 설명..

package ch05;

public class S02 {
    public static void main(String[] args) {
        // 배열의 값을 교환하기
        int[] intArray = new int[2];
        intArray[0] = 1;
        intArray[1] = 2;

        // 임시저장 int
        int temp = intArray[0];

        // 기존에 있던 값이 1이 사라지게 되니까 임시저장을 해줘야한다
        intArray[0] = intArray[1];
        intArray[1] = temp;
    }
}

실습 - ch05 / S03.java

주석으로 설명..

package ch05;

public class S03 {
    public static void main(String[] args) {
        // 배열 생성시 값을 넣는 방법
        // int[] intArray = {10, 20, 30, 40};
        // int[] intArray1 = new int[] {10, 20, 30, 40};
    
        // int[] intArray;
        // intArray = {10, 20, 30, 40}; // 값을 참조함 // 에러 발생함

        // int[] intArray1;
        // intArray1 = new int[] {10, 20, 30, 40}; // new는 주소를 참조함

        System.out.printf("%d / %d", 10,20);
    }
}

실습 - ch05 / S04.java

주석으로 설명..

package ch05;

public class S04 {
    public static void main(String[] args) {
        String[] strArray = {"바나나", "사과", "멜론"};
        System.out.println(strArray.length); // 3

        for (int i = 0; i < strArray.length; i++) {
            System.out.println(strArray[i]); // 바나나 사과 멜론
        }
    }
}

실습 - ch05 / S05.java

주석으로 설명..

package ch05;

public class S05 {
    public static void main(String[] args) {
        // 기본형은 값을 대입한다.
        int a = 1;
        int b = a;
        b = 5;
        System.out.println(a); // 1
        System.out.println(b); // 5
        // 참조형은 주소를 대입한다.
        // int[] intArray = {10, 20};
        // int[] intArray1 = intArray;
        // intArray1[0] = 30;
        // System.out.println(intArray[0]);// 30
        // System.out.println(intArray1[0]);// 30

        // 배열복사
        int[] intArray = {10, 20};
        int[] intArray1 = new int[intArray.length];
        for (int i = 0; i < intArray1.length; i++) {
            intArray1[i] = intArray[i];
            System.out.println(intArray1[i]);// 10 20
        }
        
    }
}

실습 - ch05 / S05.java

주석으로 설명..

package ch05;

public class S06 {
    public static void main(String[] args) {
        // 이중배열
        // new int[][]를 생략할 수 있다.
        int[][] intArray = new int[][]{
            {10, 20, 30},
            {40, 50, 60}
        };

        // int[][] intArray1 = new int[2][3];
        // intArray1[0] = new int[] {10, 20, 30};
        // intArray1[1] = new int[] {40, 50, 60};

        for (int i = 0; i < intArray.length; i++) {
            // System.out.println(intArray[i][0]);
            // System.out.println(intArray[i][1]);
            // System.out.println(intArray[i][2]);
            
            for (int j = 0; j < intArray[i].length; j++) {
                System.out.println(intArray[i][j]);
            }
        }
    }
}
profile
미래가 기대되는 풀스택개발자 공부 이야기~~

0개의 댓글