정보처리기능사 필기 대비로 정리, 아래의 노션 링크에서 보면 좀 더 가독성 있게 볼 수 있습니다.
https://vigorous-chipmunk-cc6.notion.site/0250ab9401954bb5ae39efbcb7ad4c21?pvs=4
- 배열(array) : 같은 타입의 변수들로 이루어진 유한 집합
- 요소(element) : 배열을 구성하는 각각의 값
- 인덱스(index) : 배열에서 위치를 가리키는 숫자, 인덱스는 0부터 시작!
- 배열은 선언 형식에 따라 1차원, 2차원, 다차원 배열로 선언할 수 있으나 2차원 배열까지 많이 사용됨
배열 선언시
- 미리 공간의 갯수(길이)를 지정해야 함 →고정되어있게 설계되었으므로 미지정시 컴파일 오류 발생
- 배열의 타입 지정, 배열에 저장할 데이터의 자료형 명시
- 생성한 배열은 인덱스 번호를 통해 접근 가능하다
- 기본문법
- 선언
- 타입[] 배열이름; →될 수 있으면 이 방법을 사용
- 타입 []배열이름;
- 타입 배열이름[];
- 초기화
- 배열 선언시에는 메모리를 차지하지 않고 초기화로 사이즈를 정해주어야 메모리를 차지함
public static void main(String[] args) {
// 배열 선언 예제 (int 대신 다른 타입으로도 선언할 수 있다)
int[] score1;
int []score2;
int score3[];
// 배열 초기화
score1 = new int[3];
// score1 배열을 사이즈 3인 배열로 초기화
// int의 경우 기본값 0으로 세팅됨
}
배열 선언과 초기화를 동시에 할 수도 있다.
- 타입[] 배열이름 = new 타입[배열길이];
public static void main(String[] args) {
// 배열 선언 + 초기화 동시에
int[] score1 = new int[10];
int []score2 = new int[20];
int score3[] = new int[30];
// 사이즈는 각각 10, 20, 30으로 초기화되었으며
// 인덱스는 0부터 시작하므로 각각의 사이즈에 -1 (0~9, 0~19···)
// 사이즈만 선언하였고 값은 모두 0으로 세팅됨
}
선언과 사이즈 지정, 값 지정을 동시에 할 수도 있다.
- 타입[] 배열이름 = {값1, 값2, 값3, ···}
public static void main(String[] args) {
// 배열 선언 + 값 세팅하기
int[] score4 = {1, 2, 3, 4, 5}; // 사이즈는 5, 인덱스 범위는 0~4.
int[] score5 = {0, 0 ,0} // int[] score5 = new int[2]; 와 같다.
}
public static void main(String[] args) {
// for문을 활용해 배열에 값 넣어주기
int[] score = new int[5];
for(int i=0; i<score.length;i++) {
number[i] = i*10;
}
}
배열 출력
배열 관련 문제 풀기
pubilc class Test {
public static void main(String[] args) [
int i;
int num[] = {2, 1, 3, 7, 4, 9};
int numb[] = new int[10];
for (i=0; i<num.length; i++)
numb[i] = num[i];
for (i=0; i<numb.length; i++)
System.out.printf("%d", numb[i]);
}
}
문제 풀이
- 배열 num을 선언 및 초기값 지정 size = 6, index = 0~5.
- 배열 numb를 선언 size = 10, index = 0~9.
- 반복문 조건 ⇒ i는 0부터 시작하며, num.length보다 작고, 1씩 증가한다.
- numb의 i번째 값은 num의 i번째 값과 같다.
- i가 num.length 값과 같으면 반복문 중지.
- 반복문 조건 ⇒ i는 0부터 시작하며, numb.length보다 작고, 1씩 증가한다
- numb의 i번째 값을 반복문으로 출력
- i가 numb.length 값과 같으면 반복문 중지.
*.length는 배열 값의 갯수(길이를) 출력해주는 함수임
정답 : 213749000
- numb 초기화시에 모든 값이 자동으로 0이 됨
- 첫번째 for문에서 num.length인 6보다 작은 수로 반복하므로 numb의 인덱스 0번째부터 5번째까지 값을 넣어주면 numb[] = {2, 1, 3, 7, 4, 9, 0, 0, 0}가 된다
- numb의 i번째값을 numb.length인 10보다 작게 출력하는 마지막 반복문을 수행하면 213749000이 출력됨