코딩하는 털보

OOP - 17 본문

IT Study/JAVA OOP

OOP - 17

이정인 2020. 12. 18. 19:38

객체 지향 프로그래밍

17. 배열

  • 배열이란
    동일한 자료형의 순차적 자료 구조
    ex) 학생 100명에 대한 학번 변수

배열 선언

int[] arr = new int[10]; //int 10개 = 40byte length=10, 0~9
int arr[] = new int[10];

배열은 fixed length이기 때문에
만약 배열의 길이를 늘리고 싶다면,
더 긴 배열을 선언한 뒤 값을 복사해야 한다.

배열은 연속적이어야 한다. (중간에 비어있으면 안된다.)
데이터가 들어가거나 빠질때 추가적인 작업이 필요하다.

배열을 사용하는 가장 큰 이유 : 인덱스 연산자

arr[4] //추출이 편하고 속도가 빠름

ArrayList를 쓰면 편하게 배열을 사용할 수 있다.

package array;

public class ArrayTest {

    public static void main(String[] args) {

        int[] arr = new int[10]; //기본자료형 Array
        //int[] arr = new int[] {1,2,3}; //선언과 동시에 초기화 가능
        //int[] arr = {1,2,3}; //위와 동일
        int total = 0;

        for (int i=0;i<arr.length;i++) {
            System.out.println(arr[i]); //0으로 10개가 초기화되어 있음
        }

        for (int i=0,num=1;i<arr.length;i++,num++) { //배열 arr의 모든 요소를 1씩 증가하도록 변경
            arr[i]=num;
        }

        for (int i=0;i<arr.length;i++) {
            System.out.println(arr[i]);
        }

        for (int i=0;i<arr.length;i++) { //배열 요소 합 구하기
            total += arr[i];
        }

        System.out.println(total);

        double[] dArr = new double[5];
        int count = 0;
        dArr[0] = 1.1; count++;
        dArr[1] = 2.1; count++;
        dArr[2] = 3.1; count++;

        double mtotal = 1;
        for (int i=0;i<count;i++) { //count를 통해 직접 초기화 한 값만 곱
            mtotal *= dArr[i];
            System.out.println(dArr[i]);
        }
        System.out.println(mtotal);

    }
}
Comments