각진 세상에 둥근 춤을 추자
[Java] 배열 본문
프로그래밍을 하다 보면 변수를 각각 선언하는 것보다 여러 자료를 한 번에 처리할 수 있는 기능이 필요하다.
배열이란?
배열(array)은 여러 개의 변수를 하나로 묶어 넣은 것이다.
배열을 사용하면 같은 종류의 대량의 데이터를 한 번에 선언할 수 있다.
(1) 배열 선언하기
자료형 [] 변수이름 = new 자료형[개수];
자료형 변수이름 [] = new 자료형[개수];
(2) 배열 초기화하기
int [] studentIDs = new int [] {101,102,103};
int [] studentIDs = {101,102,103}; // new int [] 생략 가능
(3) 배열 사용하기
선언한 배열의 각 요소에 값을 넣을 때나 배열 요소에 있는 값을 가져올 때는 []을 사용한다.
배열의 첫 번째 요소에 값 10을 저장한다면 코드는 다음과 같다.
studentIDs[0] = 10;
배열의 길이가 n이라고 하면, 배열 순서는 [0]번 부터 [1],[2], ... ,[n-1]번까지이다.
정수 10개를 저장한 배열을 선언하고 for 반복문을 사용해 배열 요소 값을 하나씩 출력해 본다.
package ch07_1;
public class ArrayTest {
public static void main(String[] args) {
int [] num = new int [] {1,2,3,4,5,6,7,8,9,10};
for (int i=0; i<num.length; i++) {
System.out.print(num[i] + " ");
}
}
}
만약 배열의 길이보다 저장한 값의 길이가 작다면 어떻게 출력 되는 걸까?
double 자료형을 가진 data 배열의 길이를 5로 선언한다. -> data: [0], [1], [2], [3], [4]
배열의 각 요소에 유효한 값을 저장한다. -> data[0]=10.0 // data[1]=20.0 // date[3]=30.0
package ch07_1;
public class ArrayTest2 {
public static void main(String[] args) {
double [] data = new double [5];
data[0] = 10.0; // 첫 번째 요소에 값 10.0 대입
data[1] = 20.0; // 두 번째 요소에 값 20.0 대입
data[2] = 30.0; // 세 번째 요소에 값 30.0 대입
for (int i=0; i<data.length; i++) {
System.out.println(data[i]);
}
}
}
배열을 별도로 초기화하지 않고 선언한 배열의 요소 값은 0으로 초기화된다.
그렇다면 유효한 값이 저장된 배열 요소까지만 출력하는 프로그램을 만들어 본다.
package ch07_1;
public class ArrayTest3 {
public static void main(String[] args) {
double [] data = new double [5];
int size = 0; // 유효한 값이 저장된 배열 요소 개수를 저장할 수 있는 변수 선언
data[0] = 10.0;
size ++;
data[1] = 20.0;
size++;
data[2] = 30.0;
size++;
for (int i=0; i<size; i++) {
System.out.println(data[i]);
}
}
}
(4) 문자 저장 배열 만들기
문자를 저장하는 배열을 만들어 본다.
문자 자료형 배열을 만들고 알파벳 대문자를 A부터 Z까지 저장한 후 각 요소 값을 알파벳 문자와 정수 값 (아스키 코드 값)으로 출력해 본다.
이때, 문자 자료형 배열은 char[ ]로 선언한다.
package ch07_1;
public class CharArray {
public static void main(String[] args) {
char [] alphabets = new char[26];
char ch = 'A';
for (int i=0; i<alphabets.length; i++, ch++) {
alphabets[i] = ch; // 아스키 값으로 각 요소에 저장
}
for (int i=0; i<alphabets.length; i++) {
System.out.println(alphabets[i] + ", " + (int)alphabets[i]);
}
}
}
'Java' 카테고리의 다른 글
[Java] 배열 복사하기 (0) | 2022.09.19 |
---|---|
[Java] 객체 배열 (0) | 2022.09.18 |
[Java] Singleton (0) | 2022.09.18 |
[Java] 변수 유효 범위 (0) | 2022.09.17 |
[Java] static 변수 (0) | 2022.09.17 |