만약 전교생의 영어 점수를 다룰 때 변수로 다루려면 각각의 변수에 모두 이름을 부여해야 하는 등 여간 불편한 일이 아닐 것이다. 따라서 같은 종류, 즉 타입이 같은 변수들을 한번에 다루기 위해 배열이 도입됐다.

영어 점수를 저장할 수 있는 배열을 다음과 같이 만들면 배열에 접근할 수 있는 참조 변수에 이름 (engScore)을 붙이고 인덱스([0], [1], ...)를 통해 engScore[0]과 같이 값에 접근한다. 이때 배열의 각 값을 요소라고 한다. 또한 인덱스의 범위는 0부터 배열의 길이 - 1이다. 배열의 길이는 변수.length 상수 (변하지 않는 변수)를 통해 구할 수 있다.
1. 배열의 선언과 생성 그리고 초기화
1) 배열의 선언과 생성
선언과 동시에 생성이 되는 변수와 달리 배열은 선언과 생성이 분리가 되어있다. 배열의 선언에는 두 가지 방법이 있다.
타입[] 변수 이름; [예] int[] arr
타입 변수 이름[]; [예] int arr[]
[그림1]과 같은 배열을 선언하고 생성해보자. 배열의 생성은 new 연산자와 함께 배열의 길이를 지정해주어야 한다.
int[] engScore; // 배열의 선언
engScore = new int[5]; // 배열의 생성
이렇게 배열의 선언과 생성을 따로 할 수도 있지만 다음과 같이 한번에 하는 것이 일반적이다.
int[] engScore = new int[5];
[참고]
int[] engScore = new int[]; 처럼 크기가 0인 배열을 선언할 수도 있다.
2) 배열의 초기화
배열을 선언하고 생성하면 [그림1]과 같이 해당 타입 (int)의 기본값 (0)으로 초기화된다. 원하는 값으로 지정해주려면 다음과 같이 3가지 방법이 있다. [그림1]의 예시를 참고해 설명하겠다.
(1) engScore[0] = 50;
(2) for문, 변수.length (배열의 생성이 바뀔 경우 유리)를 사용해 (1)을 반복
(3-1) int[] engScore = new int[]{50, 60, 70, 80, 90};
(3-2) int[] engScore = {50, 60, 70, 80, 90};
(2)를 사용할 때는 영어 점수에 일정한 규칙이 있어야 한다. 그렇기 때문에 (3)의 방법을 사용할 수도 있다. (3-2)처럼 new int[]를 생략할 수도 있지만 선언과 초기화를 분리할 경우 new int[]는 생략할 수 없다. 대부분의 경우 (3-1)를 사용한다.
2. 배열의 출력
배열을 출력하기 위해서는 for문을 사용하거나 Arrays.toString(배열 변수)을 출력하는 방법을 사용한다. Arrays.toString(배열 변수) 메서드 사용하지 않고 바로 배열 변수의 이름을 출력하면 "타입@주소"의 결과가 나온다. println(char 배열 변수) 메서드는 예외적으로 배열의 각 요소가 구분자 없이 출력된다.
3. 배열의 활용
1) 총합과 평균
2) 최대값, 최소값
3) 숫자 섞기, 로또번호 만들기 (Math.random() 사용)
'자바 (Java) > 요약' 카테고리의 다른 글
Chpt 6. 객체 지향 프로그래밍 - 주제 1. 클래스와 객체 (0) | 2023.10.23 |
---|---|
Chpt. 5 배열 - 주제 2. 2차원 배열은 배열의 배열이다. (1) | 2023.10.21 |
Chpt. 4 조건문과 반복문 - 주제 2. 조건만 맞으면 반복 실행되는 반복문 (1) | 2023.10.21 |
Chpt. 4 조건문과 반복문 - 주제 1. 조건에 맞는 코드만 실행되는 조건문 (1) | 2023.10.20 |
Chpt. 3 연산자 - 주제 1. 모든 연산자는 값을 리턴한다. (2) | 2023.10.19 |