● 배열(Array)
- 배열은 다수의 데이터(값)를 저장하고 처리하기 위해서 사용한다.
- 여러 값들에 대해 순서를 부여하기 위해서 사용한다.
● 배열의 선언과 초기화
- 자료형[] 배열명 = {값, 값, 값, ....};
(ex) int[] temperatures = {11, 15, -5};
● 배열의 선언
- 자료형[] 배열명 = new 자료형[크기];
● 배열에서 값 가져오기
- 배열명[index번호]
(ex) temperatures[0] → 11
(ex) temperatures[1] → 15
(ex) temperatures[2] → -5
● 배열에 저장된 요소 수정하기
- 배열명[idx] = 수정할값;
(ex) scores[1] = 100;
● 배열의 길이 알아내기
- 배열명.length
(ex) scores.length
실습(배열(1))
public class ArrayTest {
public static void main(String[] args) {
int[] scores = {70, 90, 80};
scores[1] = 1000;
System.out.println(scores.length);
for(int i = 0; i < scores.length; i++) {
System.out.println(scores[i]);
}
// System.out.println(scores[3]); // 인덱스 범위 벗어나면 오류 발생
}
}
![](https://blog.kakaocdn.net/dn/6Hz2A/btrp7SW4RzA/y4GXf03RWL6do35SPouvT0/img.png)
실습(배열(2))
1. 해당 배열에서 짝수 인덱스 번호에 해당하는 값들을 모두 100으로 바꾼 후 출력하기
public class ArrayTask {
public static void main(String[] args) {
int[] ar = {10, 20, 30, 40, 50};
for(int i = 0; i < ar.length; i++) {
if(i % 2 == 0) {
ar[i] = 100;
}
}
// 배열 출력
System.out.print("{");
for(int i = 0; i < ar.length; i++) {
if(i == ar.length - 1 ) {
System.out.print(ar[i]);
}else {
System.out.print(ar[i] + ", ");
}
}
System.out.println("}");
}
}
![](https://blog.kakaocdn.net/dn/du472F/btrp5Awygy5/aH5HXmtrASKZOGbH5UEDZK/img.png)
2. 사용자가 입력한 정수 5개를 배열에 입력하여 순서대로 넣어준 후 완성된 배열 출력하기
import java.util.Scanner;
public class ArrayTask {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int[] numbers = {0, 0, 0, 0, 0};
for(int i = 0; i < numbers.length ; i++) {
System.out.print("정수 입력 >> ");
numbers[i] = sc.nextInt();
}
// 배열 출력
System.out.print("완성된 배열 : {");
for(int i = 0; i < numbers.length; i++) {
if(i == numbers.length - 1) {
System.out.print(numbers[i]);
}else {
System.out.print(numbers[i] + ", ");
}
}
System.out.println("}");
}
}
![](https://blog.kakaocdn.net/dn/bwZvTI/btrp6P0Odqy/5r1MncKMyPk0E8IxJQJUzk/img.png)
※ 사용자가 입력한 배열 중 가장 큰 수 출력하기
int max = numbers[0];
for(int i = 0; i < numbers.length; i++) {
if(max < numbers[i]) {
max = numbers[i];
}
}
//반복문이 끝나고 나면 max에는 최댓값이 들어있다
System.out.println("최댓값 : " + max);
![](https://blog.kakaocdn.net/dn/bxEqNo/btrp5zj75lC/KNn4zfP5QaMp27PZnARS1K/img.png)
※ 사용자가 입력한 배열 중 가장 작은 수 출력하기
int min = numbers[0];
for (int i = 0; i < numbers.length; i++) {
if(min > numbers[i]) {
min = numbers[i];
}
}
System.out.println("최솟값 : " + min);
![](https://blog.kakaocdn.net/dn/3m0uD/btrp6emsG06/7UzghyjC2f5meBYEKfIJBk/img.png)
3. 사용자에게 국어, 영어, 수학 점수를 입력받아 순서대로 배열에 넣어준 후, 해당 배열에서 평균을 구해 출력하기
import java.util.Scanner;
public class ArrayTask {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int[] scores = {0,0,0};
String[] subjects = {"국어", "영어", "수학"};
for (int i = 0; i < scores.length; i++) {
System.out.print(subjects[i] + "점수 입력 >> ");
scores[i] = sc.nextInt();
}
int total = 0;
for (int i = 0; i < scores.length; i++) {
total += scores[i];
}
System.out.println("평균 : " + total / (double)scores.length);
}
}
![](https://blog.kakaocdn.net/dn/c6lPwf/btrp95n4pTE/FlMqKkSC5hKsmegn8Oxor0/img.png)