겉바속촉

JAVA 배열 본문

IT 일기 (상반기)/JAVA

JAVA 배열

겉바속촉 2023. 7. 5. 11:25
728x90
반응형

 

1. 배열이란?

  • 역할, 용도, 필요성을 알자
  • 배열을 이용하면 일일이 변수를 선언할 필요 없이 한꺼번에 선언하는 것이 가능
  • 초기화 값도 한꺼번에 셋팅하는 것이 가능

 

2. 배열의 선언

 

  • 구조를 기억해두자
  • 데이터타입[ ] 배열명 = new 데이터타입[ 배열크기 ]
  • 데이터타입 배열명[ ] = new 데이터타입[ 배열크기 ]
  • 배열의 선언 👉 배열 크기 지정 👉 배열 공간의 값은 자동으로 초기화 (정수형은 0, 실수형은 0.0)

 

👀👀참고 코드1👀👀 

👉 두가지 방식으로 각각 배열 선언해보기

👉 자동으로 초기화된 값 데이터타입별로 어떻게 다른지 확인해보기

    public static void main(String[] args){

        //(1): 첫번째 방식
        int[] sales_table = new int[100];

        //(2): 두번째 방식
        double[] sales_table2 = new double[100];

        //선언한 배열 사용하기
        System.out.println(sales_table[0]);
        System.out.println(sales_table2[99]);
    }

 

 

 

 

3.  배열과 인덱스

  • 크기 10의 정수형 배열을 선언하고 크기 10 지정
    👉 메모리 상에는 10개의 정수형 값을 담을 수 있는 공간이 생성되는 것
  • 배열 변수는 참조형 타입으로써 해당 메모리 공간을 가리킴
    👉 즉, 해당 메모리 공간의 주소 값을 가짐 
    👉 이 주소값을 통해서 참조
  • 주소 값을 다른 표현으로는 참조 값이라고도 한다.
  • 공간이 10개 만들어지면 동시에 자동적으로 해당 공간에 접근할 수 있는 인덱스 번호가 자동 부여된다.
  • 인덱스 번호는 0부터 시작
    👉 따라서, 크기가 10인 배열 공간의 첫번째 인덱스는 0!!
    👉 마지막 공간의 인덱스는 9!!
    👉 즉, 마지막 인덱스는 "배열의 크기 -1"임을 기억하자!!
  • 인덱스 사용하는 것은 다음과 같이 사용
    👉 배열명 [인덱스 번호]

 

 

👀👀참고 코드1👀👀 

👉 배열 선언 후 크기 지정해보기

👉 선언한 배열을 인덱스로 접근해서 값 출력해보기

public static void main(String[] args){

        //(1): 배열의 선언 및 크기 지정 --> 학생 10명의 성적을 담는 배열
        int[] scores = new int[10];
        int s_size = scores.length;
        System.out.println(s_size); //10

        //(2): 선언한 배열을 인덱스로 접근하여 값 출력하기
        System.out.println(scores[0]);  //0
        System.out.println(scores[9]);  //0
        //System.out.println(scores[15]); //err
        System.out.println(scores[10-1]); //0
        System.out.println(scores[s_size-1]); //0
}

 

 

 

👀👀참고 코드2👀👀 

👉 배열 선언 후 값 입력해보기

👉 입력한 값 출력해보기

 public static void main(String[] args) {

        //(1): 배열선언
        int[] sales_table = new int[5];

        //(2): 선언한 배열 공간에 값 입력하기
        sales_table[0] = 3;
        sales_table[1] = 11;
        sales_table[2] = 22;
        sales_table[3] = 33;
        sales_table[4] = 44;

        //(3): 값 출력하기
        System.out.println(sales_table[0]);
        System.out.println(sales_table[1]);
        System.out.println(sales_table[2]);
        System.out.println(sales_table[3]);
        System.out.println(sales_table[4]);
        System.out.println("배열의 길이는 -> " + sales_table.length);
        System.out.println(sales_table.length-1 +"번째 값은 -> " + sales_table[sales_table.length-1]);
    }

 

 

 

👀👀참고 코드3👀👀 

👉 배열 선언과 동시에 특정값으로 초기화해보기

👉 방법별로 수행한 후 결과도 각각 출력해보기

public static void main(String[] args){
		//(1): 배열 선언과 동시에 특정 값으로 초기화 방법1
        int[] table004 = {55, 88, 60, 100, 90};

        System.out.println(table004[1]);

        //(2): 배열 선언과 동시에 특정 값으로 초기화 방법2 (방법1보다 불편)
        int[] table004_2 = new int[] {55, 88, 60, 100,  90};
        System.out.println(table004_2[1]);

        //(3):
        int[] table004_3;
        table004_3 = new int[]{55, 88, 60, 100, 90};
        System.out.println(table004_3[1]);
}

 

 

👉 반복문 사용해서도 값 출력해보기

    public static void main (String[] args) {

        //(1): 배열 선언
        int[] table005 = new int[5];

        //(2): 배열 요소값 넣어주기
        table005 = new int[]{33, 52, 93, 100, 87};

        //(3): for문 사용하여 출력
        for(int i=0; i<table005.length; i++){
            System.out.print(table005[i] + " ");
        }
    }

 

 

 

👉 배열의 주소값에 대해 출력해보기

👉 주소(참조) 값이 정수형 배열이라면 I로 시작

👉 주소(참조) 값이 실수형 배열이라면 D로 시작

👉 아마도 이런 식으로 나올 것 : 정수형 => [I@880ec60  , 실수형 => [D@3f3afe78

    public static void main (String[] args) {

        //(1): 정수형과 실수형 배열 변수 선언
        int[] arr1;
        arr1 = new int[] {1,2,3,4,5};
        double[] arr2 = {1.1,2.2,3.3,4.4,5.5};

        //(2): 마지막 배열 요소 값 출력
        System.out.println(arr1[arr1.length-1]); //5
        System.out.println(arr2[arr2.length-1]); //5.5

        //(3): 배열명 자체를 찍어서 출력 
        System.out.println(arr1); //정수형 배열이니까 I로 시작할 것
        System.out.println(arr2); //실수형 배열이니까 D로 시작할 것

    }

 

728x90
반응형

'IT 일기 (상반기) > JAVA' 카테고리의 다른 글

JAVA 배열 관련 메서드  (0) 2023.07.05
JAVA 삼항연산자, switch  (0) 2023.07.05
JAVA 제어문 - if문  (0) 2023.07.05
JAVA 제어문 - 반복문  (0) 2023.07.04
JAVA 연산자  (0) 2023.07.04