본문 바로가기
언어의 기초/자바(JAVA)

[JAVA]배열

by 지에스정 2022. 1. 11.

배열

 

같은 자료형의 여러 변수를 나열해 놓은 것

 

 배열의 선언

 

자료형[] 배열명 = {값1, 겂2, ...};
자료형[] 배열명 = new 자료형[칸수];

 

배열의 사용 이유

 

1.  여러 같은 의미의 값들을 하나의 이름과 인덱스로 관리하기 위해서

2.  다른 의미의 값들에 의미부여를 해서 하나로 관리하기 위해서

String[] arMsg = {"자바", "꽃", "hello"}
		//  0     1       2

 

배열의 인덱스 번호

 

실제 값들이 저장되어 있는 공간이 할당되면 이름은 존재하지 않고 주소만 존재한다

따라서 시작 주소를 배열명 변수가 기억하고 있고, 주소연산(추가이동)을 통해 다음 주소로 이동한다

시작 주소에서 연산된 정수 (이동한 횟수)가 인덱스 번호가 되고 첫번쨰 방은  배열명 변수가 가지고 있는 시작 주소에서 0번 이동해야 하므로 인덱스 번호는 0번부터 시작한다

 

배열의 사용

 

data = 10; // 공간
System.out.println(data); // 값
배열명[idx] = 값; // 공간
System.out.println(배열명[idx]); //값

 

배열의 길이

 

배열명.length

 

기타제어

 

break

continue : 다음 반복으로 넘어가기 / 반복시 해야할 행위들은 함

(while : 조건식 검사 / for: 증감식, 조건식 검사)

 

2차원 배열

 

배열 안에 배열

 

2차원 배열 선언

 

자료형[][] 배열명 = {{값1, 값2, ...}, {값3, 값4, ...}, ....} ;
자료형[][] 배열명 = new 자료형[행수][열수];

정방배열 : 각 행마다 열의 개수가 모드 같은 배열

비정방배열 : 각 행마다 열의 개수가 다른 배열

 

2중 for문(nested for문)

 

for문 안에 for문이 있는 형태

바깥쪽에 있는 i for 문은 다음 반복으로 넘어가기 위해서 자신 내부에 있는 수행할 문장들을 모두 마쳐야 한다

안쪽에 수행할 문장으로 j for문이 있으므로, 그 j for문이 완벽히 모두 완료되어야 i for문 입장에서 내부에 수행할 문장을 마친 것이 된다

따라서 j for 문이 완전히 끝나면 그제서야 i for문은 다음 반복으로 넘어가게 되고 다시 수행할 문장으로 j for문을 만나면 위의 과정을 반복하게 된다.

가장 안쪽에 있는 문장은 (i for문 반복횟수 ) \* (j for 문 반복횟수) 만큼 수행된다