배열
- 같은 자료형의 여러 변수를 나란히 나열해 놓은 것
- 여러 값들을 하나의 이름과 인덱스로 관리하기 위해서 사용
배열의 선언
자료형 [] 배열명 = {값1, 값2, 값3, 값4, ...};
자료형 [] 배열명 = new 자료형[값의 개수]
int [] arData = {10,20,30,40,50};
배열의 인덱스 번호
- 실제 값들이 저장되어 있는 공간이 할당되면 이름은 존재하지 않고, 주소값만 존재한다.
- 시작 주소값을 배열명 변수가 가지고 있다.
- 주소연산을 통해 다음 주소값으로 이동한다. 시작주소에서 이동한 횟수가 인덱스 번호가 되고, 첫번째 방은 배열명이 가지고 있는 주소에서 0번 옮겨야 하므로 인덱스 번호는 0번부터 시작한다.
배열의 길이
배열명.length
2차원 배열
배열 안의 배열이 존재하는 형태
자료형[][] 배열명 = {
{값1, 값2, ..},
{값3, 값4, ..},
...
};
int[][] arrData = {
{10,20,30},
{40,50,60}
};
자료형[][] 배열명 = new 자료형[행수][Optional(열수)]
각각의 소배열의 주소값을 큰배열의 원소가 가지고 큰 배열의 주소값을 배열명 변수가 가짐.
각각 소배열들은 행을 나타내고, 그 안의 값들의 방번호는 열을 나타낸다.
2차원 배열을 사용할 때에는 두번 접근을 해야하고 대괄호가 두개이다.
이중 For 문과 2차원 배열
for(int i = 0; i < arrData.length; i++){
for(int j = 0; j < arrData[i].length; j++){
System.out.print(arrData[i][j]);
}
}
결과:
10
20
30
40
50
60
2중 for문(nest for 문)
- for 문안에 for 문이 존재
- 바깥쪽에 있는 i; for 문은 다음 반복으로 넘어가기 위해서 안쪽에 있는 모든 문장들을 마쳐야 한다.
- 안에 있는 수행할 문장 중 j for 문이 있으므로, 그 j for 문이 모두 완료되어야 i for 문 입장에서 모든 수행할 문장을 마친 것이 된다.
- 그 이후에 i 값이 변하며 다음 반복으로 넘어가게 된다.
- 가장 안쪽에 있는 문장은 (i for 문 반복횟수) * (j for문 반복 횟수) 만큼 수행한다.
i | j |
---|---|
0 | 0 1 2 |
1 | 0 1 2 |
'Java > Java(base)' 카테고리의 다른 글
[Java] storage class(저장 기억 부류) : 변수 종류 //지역변수 전역변수 정적 변수 (0) | 2021.11.29 |
---|---|
[Java] 메소드 Method (0) | 2021.11.29 |
[Java]반복문 : For 문 (0) | 2021.11.29 |
[Java] 반복문1 : while 문, do-while 문 (0) | 2021.11.29 |
[Java] 연산자 - 누적 대입 연산자, 증감연산자 (0) | 2021.11.29 |