01. 배열
1) 배열 만들기
배열의 선언
// 데이터타입 뒤에 '[]'를 명시.
int[] a;
배열의 할당
- '[ ]'안에 입력되는 값은 배열의 칸을 의미
// new 예약어 뒤에 데이터 타입과 배열의 칸 수를 []안에 입력.
a = new int[3];
// 선언과 할당을 한번에
int[] a = new int[3];
2) 배열의 활용
값 저장하기
-
크기가 결정된 배열은 0부터 시작하는 인덱스를 갖는다.
아래와 같이 인덱스 번호마다 값을 저장
// 인덱스가 0인 칸에 10을 대입
a[0] = 10;
// 인덱스가 1인 칸에 20을 대입
a[1] = 20;
// 인덱스가 2인 칸에 30을 대입
a[2] = 30;
- 실행 결과
0 | 1 | 2 |
---|---|---|
10 | 20 | 30 |
배열에 저장된 값 사용
- 인덱스 번호를 사용한다는 점을 제외하고는 일반 변수의 사용과 동일.
// 다른변수에 복사
int k = a[0]; // k에 10이 복사됨
// 출력
System.out.println(a[1]); // 20이 출력됨.
// 연산
a[2] = a[0] * a[1]; // a[2]자리에 200이 대입됨.
선언, 할당, 값대입 일괄처리
- 배열 할당시 사이즈를 지정하지 않고 중괄호 '{ }'로 원소들을 직접 나열.
int[] a = new int[] {10, 20, 30, 40};
// new int[] 생략 가능.
int[] a = {10, 20, 30, 40};
- 실행 결과 (실제로 아래표와 같이 출력되지는 않음.)
0 | 1 | 2 | 3 |
---|---|---|---|
10 | 20 | 30 | 40 |
3) 배열의 크기
- '배열이름.length'는 배열의 칸 수를 의미.
int[] a = new int[7];
System.out.println(a.length); // 7이 출력됨
4) 배열의 원소 나열(반복문을 통한 활용)
- 파이썬과 다르게 자바는 배열의 원소들을 출력할때에는 반복문을 통해 출력해야 함.
public class Note1
{
public static void main(String[] args)
{
int[] a = {10, 20, 30, 40};
for (int i=0; i<a.length; i++) // 배열의 칸 수 만큼 반복
{
System.out.println(a[i]);
}
}
}
// 실행결과
10
20
30
40
5) 예제
원소의 합 구하기
public class Note2
{
public static void main(String[] args)
{
int[] a = {10, 20, 30};
// 합을 더할 sum변수 생성
int sum = 0;
// 배열의 칸 수 만큼 반복
for (int i = 0; i < a.length; i++)
{
// 원소들을 sum에 합산.
sum += a[i];
}
System.out.println(sum);
}
}
// 실행결과
60
원소 중 가장 큰 값 구하기
public class Note3
{
public static void main(String[] args)
{
// 무작위 원소 배열
int[] a = {1, 9, 5, 4, 2};
// 최대값을 출력하기 위한 변수 생성
int max = 0;
// 배열의 원소 수 만큼 반복
for (int i = 0; i < a.length; i++)
{
// max가 data의 i번째보다 작다면 i번째 원소를 max에 복사
if (max < a[i])
{
max = a[i];
}
}
System.out.println("최대값 = " + max);
}
}
// 실행결과
최대값 = 9
배열 순서 뒤집기
-
반복횟수 : '배열의 길이 / 2' 를 이용한다.
-
교환 될 원소의 인덱스 : '배열의길이 + i + 1'
public class Note4
{
public static void main(String[] args)
{
int[] a = {5, 3, 2, 7, 6};
// 반복횟수 : 배열의길이 / 2
for (int i=0; i<a.length/2; i++)
{
// 반대쪽 원소의 인덱스 생성
int k = a.length - i - 1;
// i번째 원소와 k번째 원소 교환
int tmp = a[i];
a[i] = a[k];
a[k] = tmp;
}
for (int i=0; i<a.length; i++)
{
System.out.println(a[i]);
}
}
}
// 실행결과
6
7
2
3
5
'JAVA' 카테고리의 다른 글
JAVA(메서드) (0) | 2020.06.03 |
---|---|
JAVA(2차 배열) (0) | 2020.06.02 |
JAVA(기본문법 활용) (0) | 2020.06.01 |
JAVA (조건문, 반복문) (0) | 2020.06.01 |
JAVA (기본_입출력) (0) | 2020.06.01 |
댓글