변수는 값을 하나만 받는 반면에,
배열은 하나의 공간에 여러개의 값을 담을 수 있다.
단, '같은 자료형의 값들'이어야 한다.
정리를 하자면 같은 타입의 여러 변수를 하나의 묶음으로 다루는 것을 배열이라 한다.
=> 배열의 각 index 자리에 실제 값이 담긴 index(같은 크기로 인덱스를 만듦!)는 "0"부터 시작한다.
- 배열을 왜 써야 할까?
변수만 이용해서 프로그래밍을 한다면..?
0, 2, 3, 4, 5................... 값이 늘어날때마다 변수를 만들어서 기록하고싶을 때 노가다(?)수작업없이
좀더 용이하게 코딩을 할 수 있다.
1. 배열 선언
1) 자료형 배열명[];
ex. int arr[];
2. 자료형[] 배열명; => 요방법을 주로 사용!
ex. int[] arr;
2. 배열 할당
이 배열에 몇개의 값이 들어갈지 배열의 크기를 정해주는 과정
지정한 갯수만큼 값이 들어갈 방, index 공간이 만들어진다.
[표현법]
int [] arr; // 첫째줄에는 int형 배열 arr선언
arr = new int[5]; // 둘째줄에는 변수arr에 5칸짜리(0~4 index)배열을 할당
int[] arr = new int[5]; // 선언과 동시에 할당
배열도 참조형이다!
참조형 : new
3. 배열의 아쉬운 점
한번 지정한 배열의 크기는 변경 불가!!!!
=> 배열의 크기를 변경하고자 한다면?
어쩔 수 없이 배열을 다시 만들어야 한다~
배열 다시 만들기! => 할당만 다시 해주면 된다 => 배열의 이름만 가져다 쓰는것
반복문 써보기
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
|
public void method1() {
int[] arr = new int[5];
// 3. 배열의 각 인덱스 자리에 값 대입
/*
* [표현법]
* 배열 이름[인덱스 값] = 값; // ★0부터 시작!
*/
arr[0] = 1;
arr[1] = 2;
arr[2] = 3;
arr[3] = 4;
arr[4] = 5;
// 변수랑 차이가 없죠~
System.out.println(arr[0]); //1
System.out.println(arr[1]); //2
System.out.println(arr[2]); //3
// 배열의 가장 큰 장점 : 반복문을 사용가능
for(int i = 0; i <= 4; i++) {
System.out.println(arr[i]);
} // 1, 2, 3, 4, 5
}
|
cs |
최댓값, 최솟값 구하기
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
|
public void method3() {
// 사용자로부터 입력을통해 배열에 값을 담아서
// 해당 배열에서 가장 작은값 즉, 최댓값을 구하는 메소드를 만들어보자!
int[] arr = new int[5];
Scanner sc = new Scanner(System.in);
for (int i = 0; i <= arr.length-1; i++) {
System.out.print(" 정수 입력 > ");
arr[i] = sc.nextInt();
}
// 최댓값 max에 arr배열 인덱스0을 대입하자.
int max = arr[0];
// for문으로 arr의 인덱스 값을 돌려서 max에 대입되어있는
// 인덱스 0의 값과 비교한다.
for(int i = 0; i <= arr.length-1; i++) {
if(max < arr[i]) { // max보다 arr[i] 값이 크면
max = arr[i]; // max에 그 인덱스값을
}
}
System.out.println("최댓값 : " + max);
}
|
cs |
배열의 길이
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
|
public void method6() {
// 1. 배열 선언 + 할당
int[] iArr = new int[3]; // 0번, 1번, 2번
double[] dArr = new double[5]; // 0번, 1번, 2번, 3번, 4번
System.out.println(iArr.equals(dArr));
// 배열이름.length : 배열의 길이(크기) => 정수형 반환
System.out.println("iArr의 크기 : " + iArr.length); //3
System.out.println("dArr의 크기 : " + dArr.length); //5
System.out.println(iArr[0]); //0
System.out.println(dArr[0]); //0.0
}
|
cs |
배열의 모든 누적 합 구하기
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
|
public void method7() {
int[] arr = new int[5]; // 0, 1, 2, 3, 4
arr[0] = 5;
arr[1] = 15;
arr[2] = 156;
arr[3] = 20165;
arr[4] = 4894;
int sum = 0;
for(int i = 0; i <= arr.length-1; i++) {
sum +=arr[i];
}
System.out.println(sum); //25235
}
|
cs |
'*JAVA*' 카테고리의 다른 글
[java] 객체(Object) (0) | 2021.10.24 |
---|---|
[java] 배열복사(Array copy) (0) | 2021.10.24 |
[java] 분기문 - continue (0) | 2021.10.20 |
[java] 분기문 - break (0) | 2021.10.20 |
[java] do-while문 (0) | 2021.10.20 |