본문 바로가기
👨‍💻 프로그래밍/Java, Kotlin, Spring

자바 15 - 배열(Arrays)

by 개발자 진개미 2021. 4. 30.
반응형

배열은 한 변수에 여러개의 데이터를 저장하기 위해 고안됐다. 만약에 우리가 한 학년의 시험점수를 저장하고자 하는데, 그때마다 변수를 선언해야 한다면 매우 불편할 것이다. 이런 상황을 위해 하나의 변수에 많은 데이터를 저정하기 위해 배열이 존재한다.

 

1. 배열 문법

2. 배열 활용

 


1. 배열 문법

배열은 아래와 같이 선언한다.

 

int[] ex;

 

배열은 원래 있는 데이터 타입 여러개를 한 변수에 저장하는 것이기 때문에 어떤 데이터를 저장할지 명시하고, 대괄호 2개를 써서 배열임을 나타낸다. 배열은 같은 데이터 타입만 저장할 수 있다. 보통은 데이터 타입 바로 뒤에 대괄호를 쓰지만, 변수 이름 뒤에 써도 상관없다.

 

int ex[];

 

배열은 크기가 정해져 있다. 그렇기 때문에 처음에 모든 값을 줘서 그 값의 크기만큼의 배열을 만들거나, 미리 얼마만큼의 데이터가 들어가는지 명시해야 한다.

 

//값을 줘서 크기가 3인 배열 만들기
int[] ex1 = [1, 2, 3];

//값을 주지 않고 크기가 3인 배열 만들기
int[] ex2 = new int[3];

 

ex1은 1, 2, 3을 데이터로 주는 크기가 3인 배열을 만들었다. 이 배열은 크기가 3이기 때문에 더 이상 데이터를 추가할 수 없다. ex2에서는 값을 미리 주지 않고, 크기가 3인 배열을 만들었다. 우선 새로 배열을 만들기 때문에 new를 썼고, 그리고 데이터 타입을 다시 명시해 주고 대괄호 사이에 배열의 크기를 넣었다.

 

배열 안의 데이터에 접근하기 위해서는 배열의 이름을 적고, 대괄호 안에 몇 번째 데이터에 접근할건지를 명시하면 된다. 주의할 것은 배열은 0번째부터 시작한다. 즉, 첫 번째 데이터의 위치는 0이고, 두 번째는 1이고, 3번째는 2이다.

 

int[] ex = [1, 2, 3]

ex[0]; // 1
ex[1]; // 2
ex[2]; // 3

2. 배열 활용

앞에서 얘기한 한 반에 있는 아이들의 시험 성적의 평균을 구하는 프로그램을 작성한다고 해 보자.

 

public class Average {
	public static void main(String[] args) {
    	int[] grade = [10, 10, 5, 5, 7];
    }
}

 

위와 같이 성적을 저장한 배열이 있을때, 평균을 구할려면 우선 배열 안의 모든 원소의 합을 구해야 한다. 그리고 배열의 개수만큼 나누면 평균이 나온다. 이를 코드로 나타내면 아래와 같다.

 

public class Average {
	public static void main(String[] args) {
    	double[] grade = [10, 10, 5, 5, 7];
        
        double sum = 0;
        for(int i = 0; i < grade.length; i++)
        	sum += grade[i];
        double average = sum / grade.length;
        
        System.out.println("평균은 " + average + " 입니다.");
    }
}

 

반응형