For Programmer
4. 배열 본문
728x90
같은 데이터 타입을 가지는 서로 다른 값들이 하나의 변수로 처리되는 자료 구조이다. 배열도 객체다. 배열은 Resizing이 안 된다.
생성
배열이름 = new 자료형[길이];
배열을 생성해야 비로소 값을 저장할 수 있는 공간이 만들어진다.
배열을 생성하기 위해서는 new 예약어와 함께 배열의 자료형과 길이를 지정한다.
배열의 길이는 값을 저장할 수 있는 공간의 개수다.
0을 포함한 양의 정수만 올 수 있다.
자료형[] 배열이름 = new 자료형[길이];
대부분 배열과 선언을 동시에 한다.
String[] weekday = new String[10];
선언 및 초기화 + 출력
int[] odds = {1,2,3,4,5}; //배열 선언 및 초기화
String[] weeks = {"월","화","수","목","금"}; //배열 선언 및 초기화
for(int i=0;i<odds.length;i++) //배열출력
System.out.println(odds[i]);
메모리
Stack : 아직 값은 모르는 배열 변수가 들어간다.
Heap : 배열 개수만큼 default 값으로 들어간다. 주소값이 지정된다
- 할당된 주소값은 Stack에 있는 배열 변수에 들어간다.
- Heap에 있는 값들을 배열 변수로 가져올 수 있다.
- 배열 변수는 첫 번째, 두 번째... 순서가 있다.
순서가 있는 것들은 내부적으로 index로 관리 - 마지막 요소 : 마지막 수 -1
다차원 배열
2차원 이상의 배열. 지도, 게임, 평면 등을 구현할 때 이차원 배열을 활용한다.
삼차원 배열은 주로 공간을 나타내는 프로그램에서 활용한다.
이차원 배열
자료형[][] 배열이름 = new 자료형[행개수][열개수];
가변 배열로 사용하려면 열 개수를 지정하지 않고 각 행마다 다른 길이의 배열을 생성할 수 있다.
int[][] arr2 = new int[2][]; // 선언할때는 행은 꼭 지정해야한다.
-> 배열을 선언하기 위해서 행은 꼭 지정해주어야 한다.
int[][] arr = {{1,2,3},{4,5,6},{7,8,9}};
for(int i= 0; i < arr.length; i++) {
for(int j =0 ; j< arr[i].length ; j++) {
System.out.print(arr[i][j]); //2차원 배열 출력방법
}
System.out.println();
}
또다른 배열 출력방법
int[][] arr = {{1,2,3},{4,5,6},{7,8,9}};
System.out.println(Arrays.toString(arr[0]));
System.out.println(Arrays.toString(arr[1]));
System.out.println(Arrays.toString(arr[2]));
728x90
'Programming language > Java' 카테고리의 다른 글
6. 클래스 (0) | 2021.08.13 |
---|---|
5. 제어문(가정문,반복문) (0) | 2021.08.12 |
3. 연산자 (0) | 2021.08.11 |
2. 출력 함수(printf,println) (0) | 2021.08.10 |
1. 자료형 (0) | 2021.08.10 |
Comments