반응형
배열
성격과 크기가 일치하는 여러개의 기억 장소에 대해 대표명을 주고 첨자로 각 기억장소를 구분
반복처리에 효과적이다 !
배열 선언
방법1) 데이터 타입[] 배열 변수명 방법2) 데이터 타입 배열 변수명[]; ex) String[] name; ex) int num[]; |
배열 생성
배열은 자바에서 객체 취급한다.
new 연산자에 의해 객체를 생성하고 할당받을 때는 배열의 크기를 정해준다.
데이터는 배열의 크기만큼 사용 가능하고
배열의 크기는 지정 이후 변경이 어렵습니다.
ex) name = new String[5]; ex) num = new int[10]; |
소스를 통해 알아보겠습니다.
변수 ar에 크기 5에 할당하는 배열을 주었습니다.
알아두면 유용한 문법 !
배열변수명.length : 배열의 크기를 알 수 있습니다 ! |
ar[1] 의 값은 20 으로 할당해주었습니다.
ar[4] 의 값은 ar[0] 과 ar[1]의 데이터 값을 더한 값이므로 40
ar[3] 은 설정해준 값이 없으므로 0을 출력합니다.
1
2
3
4
5
6
|
int ar[] = new int[5]; // 배열의 크기를 5로 할당
System.out.println("ar의 크기 : " + ar.length);
ar[0] = 10; ar[1] = 20;
ar[4] = ar[0] + ar[1];
System.out.println("ar[4]의 크기 : " + ar[4]); // ar[0]의 10과 ar[1]의 20을 더하여 30 출력
System.out.println("ar[3]의 크기 : "+ar[3]); // ar[3]은 정해준 데이터 값이 없어 0 출력
|
1
2
3
|
ar의 크기 : 5
ar[4]의 크기 : 30
ar[3]의 크기 : 0
|
다차원 배열
int num[][] = new int[][]; // 2차원 배열 - [행][열] |
차원이 늘어갈수록 for는 다중으로 입력해주어야한다.
ex) 2차원 배열은 for문 2개
su 배열에 3행 4열의 크기를 주었습니다.
num은 10으로 for문을 통해 해당하는 배열의 행과열에 num 값을 1씩 증가시켜서 저장했습니다.
1
2
3
4
5
6
7
8
9
10
11
12
13
|
int su[][] = new int[3][4];
int num = 10;
for(int i=0; i <su.length; i++) {
for(int j=0; j<su[i].length; j++) {
su[i][j] = num++;
System.out.print(su[i][j] + " ");
}
System.out.println();
}
|
출력 결과
1
2
3
4
|
10 11 12 13
14 15 16 17
18 19 20 21
|
가변배열
예를 들어 설명하겠습니다.
int[][] scores = new int[2][] 으로 열은 따로 설정되어있지 않습니다.
이같은 열을
2,3번째 줄과 같이 유동적으로 설정이 가능합니다. 이것을 가변배열이라고합니다.
1
2
3
4
|
int[][] scores = new int[2][];
scores[0] = new int[2];
scores[1] = new int[3];
System.out.println(scores.length + " " + scores[0].length + " " + scores[1].length);
|
4번째 줄을 출력하면 다음과 같은 결과값이 나옵니다.
1
|
2 2 3
|
해당 관련 연습문제
2020/03/03 - [JAVA/JAVA 프로그래밍 응용] - 배열을 이용한키보드로 5개의 점수를 입력받아 출력하기
반응형
'JAVA > JAVA' 카테고리의 다른 글
7 - 메소드 (0) | 2020.03.04 |
---|---|
6 - 클래스 ( class ) (0) | 2020.03.03 |
4 - 조건문 if & switch (0) | 2020.03.03 |
3 - 반복문 for & while (0) | 2020.03.03 |
2 - 연산자 (0) | 2020.03.03 |