배열이 필요한 이유
학생 10명을 int 타입을 사용해 선언하는 것은 일도 아니지만
만약에 1000명이라면? 아마도 하나씩 선언하는 것은 불가능할 것이다.
❗️배열을 이용하면 한 번에 전부 만들 수 있다❗️
배열 선언
여기서 선언이란 메모리 할당을 의미한다.
1.
배열 선언의 첫 번째 방법
int[] s; //int[]: 배열 요소의 자료형, s: 배열의 이름
s = new int[10]; //10은 배열의 크기를 의미한다.
Java
복사
배열은 연속된 저장공간으로 첫 번째 요소의 index는 0이고, 마지막 요소의 index는 9가 된다.
2.
배열 선언의 두 번째 방법
int[] scores = {65, 74, 23, 75, 68, 96, 88, 98, 54};
Java
복사
배열과 반복문
예제
1.
크기가 1000인 배열을 만들고 합 구하기
public class ArrayDemo1 {
public static void main(String[] args) {
int[] arr = new int[1000]; //크기가 1000인 배열 생성
int sum = 0; //배열 원소들의 전체 합을 구하기 위해 변수를 만든다.
for (int i = 0; i < arr.length; i++) {
arr[i] = i + 1; //i = 0 ~ 999라서 + 1이 필요하다.
}
for (int num : arr) { //for-each 루프 사용
sum += num;
}
System.out.println(sum);
}
}
Java
복사
2.
1 ~ 100 숫자를 랜덤으로 받아 크기가 10인 배열에 넣고 최댓값 구하기
import java.util.Arrays;
public class ArrayDemo2 {
public static void main(String[] args) {
int[] arr = new int[10]; //크기가 10인 배열 생성
int max = 0; //최댓값을 구하기 위해 변수를 만든다.
for (int i = 0; i < arr.length; i++) {
arr[i] = (int)(Math.random() * 100) + 1; //Math.random()으로 100이하의 숫자를 랜덤으로 생성하고 0부터 시작했기에 + 1을 한다.
}
for (int num : arr) { //for-each 루프 사용
if (num > max) {
max = num;
}
}
System.out.println(Arrays.toString(arr));
System.out.println("Max: " + max);
}
}
Java
복사
3.
로또 번호 생성(중복 제거 포함)
import java.util.Arrays;
public class LottoDemo {
public static void main(String[] args) {
int[] Lotto = new int[6]; //크기가 6인 배열 생성
for (int i = 0; i < Lotto.length; i++) {
Lotto[i] = (int)(Math.random() * 45) + 1; //Math.random()으로 45이하의 숫자를 랜덤으로 생성하고 0부터 시작했기에 + 1을 한다.
//중복 제거
for (int j = 0; j < i; j++) {
if (Lotto[i] == Lotto[j]) //중복이 발생하면
i--;
}
}
System.out.println("로또 번호: " + Arrays.toString(Lotto));
}
}
Java
복사