*이 글은 개인적인 공부/기록 목적으로 올립니다.
부족하다고 느껴질 수 있는 글이니 양해 부탁드립니다.*
참고도서
http://www.yes24.com/Product/Goods/24259565
Java의 정석 - YES24
최근 7년동안 자바 분야의 베스트 셀러 1위를 지켜온 `자바의 정석`의 최신판. 저자가 카페에서 12년간 직접 독자들에게 답변을 해오면서 초보자가 어려워하는 부분을 잘 파악하고 쓴 책. 뿐만 아
www.yes24.com
■ 배열이란
배열이란 같은 타입의 여러 변수를 하나의 묶음을 얘기하는 데
많은 양의 데이터를 다룰 때 유용하게 쓰일 수 있고 배열의 각 요소는 서로 연속적이다.
int score1 = 0, score2 = 0, score3 = 0, score4 = 0, score5 = 0;
배열이 없었다면 코드를 짤 때 같은 타입의 변수를 이렇게 선언해야 할 수 있다.
int[] score = new int[5]; // 5개의 int 값을 저장할 수 있는 배열을 생성한다.
배열을 선언하면 이런 형태로 코드를 짤 수 있다.
■ 배열의 선언과 초기화
배열을 선언하고 바로 값을 적으면 안되는데 그 이유는 배열을 선언한다고 해서 값을 저장할 공간이
생성되는 것이 아니라 배열을 다루는데 필요한 변수가 생성되어야 하기 때문이다.
그래서 초기화 작업이 필요한데 초기화란 생성된 배열에 처음으로 값을 저장하는 것을 말한다.
int[] score; // 배열을 선언한다.
score = new int[5] // 배열을 생성한다.
-------------------------------------------------------------
int[] score = new int[5] // 위의 두 코드를 줄여서 쓸 수 있다.
score[0] = 100;
score[1] = 90
socre[2] = 80;
score[3] = 70;
score[4] = 60;
■ 배열의 활용
배열이 생성되고 다양하게 활용 가능한데 크게 2가지를 쓸 수 있다.
첫 번째는 배열에 값을 저장하고 읽어올 수 있다.
score[3] = 100; // 배열 score의 4번째 요소에 100을 저장한다.
int value = score[3]; // 배열 score의 4번째 요소에 저장된 값을 읽어서 value에 저장.
두 번째는 '배열이름.length'는 배열의 크기(길이)를 알려준다.
int[] score = {100, 90, 80, 70, 60, 50};
// 변경 전
for (int i = 0; i < 6; i++) {
System.out.println(score[i]);
}
// 변경 후
for (int i = 0; i < score.length; i++) {
System.out.println(score[i]);
}
■ 다차원 배열의 선언과 생성
다차원 배열은 '[]'의 갯수가 차원의 수를 의미한다.
int[][] score = new int[5][3]; // 5행 3열의 2차원 배열을 생성한다.
int[][] score = {
{100, 100, 100},
{20, 20, 20},
{30, 30, 30},
{40, 40, 40},
{50, 50, 50},
};
for (int i = 0; i < score.length; i++) {
for (int j = 0; j < score[i].length; j++) {
score[i][j] = 10;
}
오늘은 배열에 대해서 정리하게 되었는데 자바를 공부하면서 배열이 정말 많이 쓰게 될 줄은 몰랐다.
추후에 코딩 테스트 준비로 자바를 이용하겠지만 더 열심히 공부해야겠다고 생각이 들었다.
'코딩공부 > 자바' 카테고리의 다른 글
자바의 정석(6) - 자바의 여섯 번째 이야기, 객체지향(2) (0) | 2023.02.09 |
---|---|
자바의 정석(6) - 자바의 다섯 번째 이야기, 객체지향(1) (0) | 2023.02.08 |
자바의 정석(5) - 자바의 세 번째 이야기, 조건문과 반복문 (0) | 2023.02.06 |
자바의 정석(4) - 자바의 두 번째 이야기, 연산자 (0) | 2023.01.30 |
자바의 정석(3) - 자바의 첫 번째 이야기, 변수 (0) | 2023.01.27 |