시작하며
여러분 안녕하세요!
DreamHanks의254cm입니다.
이번 시간에는 배열에 대해서 설명하도록 하겠습니다.
Java의 전체 기사는 여기를 클릭해 주세요.
이전 기사는 [Java 개발] 제7회 상속에 대해서 배워봤습니다.
배열
・배열이란?
같은 데이터 형 값을 묶어서 하나의 변수로 취급하기 위해서 사용하는 것입니다.
배열 값은 순서대로 나열되어 있어서, 특정한 위치 값을 꺼낼 수도 있다.
1에서 5까지의 값을 java 프로그램으로 나타내면
1 2 3 4 5 |
int value1 = 1; int value2 = 2; int value3 = 3; int value4 = 4; int value5 = 5; |
위와 같습니다.
위의 경우는 변수가 5개이기 때문에 충분히 나타낼 수 있지만,
100개, 1000개를 나타내는 경우는 상당히 어렵고 귀찮습니다.
그러나 위의 샘플을 배열로 나타내면
1 |
int[] numbers = {1, 2, 3, 4, 5}; |
한줄로 간단하게 나타낼 수 있었습니다.
・배열의 쓰는 법
배열 선언과 인스턴스화
1 2 3 |
데이터형 배열 변수명[] = new 데이터형[요소수]; 데이터형[] 배열 변수 이름 = new 데이터형[요소수]; |
위와 같이 두 가지 방법이 있는데, 어느 방법을 사용하든 상관없습니다.
샘플
길이가 3인 정수형 배열을 선언하고 초기화하면,
1 |
int values[] = new int[3]; |
위와 같습니다.
다른 방법으로 똑같이 선언을 해보자면,
1 |
int[] values = new int[3]; |
위와 같습니다.
선언과 동시에 초기화
1 |
데이터형 배열 변수명[] = {값 1, 값 2, ... }; |
변수선언과 마찬가지로 선언과 초기화를 동시에 할 수 있습니다.
물론, 선언과 초기화를 따로 할 수도 있습니다.
샘플
선언과 초기화를 동시에 할 경우에는
1 |
int[] foo = {1, 2, 3, 4, 5}; |
위와 같습니다.
선언과 초기화를 따로 실시하는 경우에는
1 2 3 |
int[] foo = new int[5]; foo = {1, 2, 3, 4, 5}; |
앞의 샘플과 같이 요소를 한방에 초기화할 수도 있고,
1 2 3 4 5 6 7 |
int[] foo = new int[5]; foo[0] = 1; foo[1] = 2; foo[2] = 3; foo[3] = 4; foo[4] = 5; |
위와 같이 하나 하나 초기화 할 수 있습니다.
그러나 평소에는 위와 같이 일일이 쓰지 않고 루프를 사용하여 처리합니다.
・배열 인덱스
배열의 인덱스는 배열 요소의 위치를 나타내는 숫자입니다.
배열의 인덱스는「0부터 배열의 길이-1」까지 존재합니다.
샘플
1 |
int a[]= {12, 4, 6, 23, 99}; |
위의 배열은 길이가 5이므로, 인덱스는 0부터 4까지 존재합니다.
즉, 위의 배열은
1 2 3 4 5 |
인덱스 0 번째 : 12 인덱스 1 번째:4 인덱스 2 번째:6 인덱스 3 번째:23 인덱스 4 번째:99 |
위와 같습니다.
・배열 요소 사용법
배열의 각 요소는 인덱스로 지정하여 내보냅니다.
쓰는 법
1 |
배열 변수 이름 [내고 싶은 요소의 인덱스]; |
샘플
1 2 3 4 5 6 7 |
int a[]= {12, 4, 6, 23, 99}; System.out.println(a[0]); System.out.println(a[1]); System.out.println(a[2]); System.out.println(a[3]); System.out.println(a[4]); |
위의 샘플을 실행해보면,
1 2 3 4 5 |
12 4 6 23 99 |
위와 같습니다.
샘플 2
1 2 3 4 5 6 7 8 9 10 |
public class ArraySample { public static void main(String[] args) { String[] colors = {"red","orange","yellow","green","blue","navy","purple"}; for(int i = 0 ; i < colors.length; i++) { System.out.println(colors[i]); } } } |
위 샘플의 실행 결과는
1 2 3 4 5 6 7 |
red orange yellow green blue navy purple |
이 됩니다.
위의 결과가 역순으로 출력되도록 샘플을 수정합니다.
샘플 3
1 2 3 4 5 6 7 8 9 10 |
public class ArraySample { public static void main(String[] args) { String[] colors = {"red","orange","yellow","green","blue","navy","purple"}; for(int i = colors.length -1; i >= 0; i--) { System.out.println(colors[i]); } } } |
출력 결과는
1 2 3 4 5 6 7 |
purple navy blue green yellow orange red |
이 됩니다.
샘플 4
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 |
public class ArraySample { public static void main(String[] args) { int[] arr = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10}; int sum = 0; for(int i = 0; i < arr.length; i++) { if(i == 2) { continue; } sum += arr[i]; } System.out.println(sum); } } |
위의 샘플을 실행해보면
1 |
52 |
이 됩니다.
・length
length 는 배열에 내장되어 있는 메서드로, 배열의 길이를 반환합니다.
1 2 3 4 5 6 7 |
public class Array04 { public static void main(String[] args) { int[] foo = new int[10]; System.out.println("배열 요소 수: " + foo.length); } } |
위의 샘플을 실행해보면
1 |
배열 요소 수: 10 |
이 됩니다.
끝으로
이번 기사는 이상입니다.
다음 시간에는 자바의 다차원 배열을 배워보겠습니다.
방문해 주셔서 감사합니다.
コメント