- 같은 타입의 여러 변수를 하나의 묶음으로 다루는 것
- 많은 양의 값(데이터)을 다룰 때 유용
- 배열의 각 요소는 서로 연속적
배열을 선언한다고 해서 값을 저장할 공간이 생성되는 것이 아니라 배열을 다루는데 필요한 변수가 생성된다.
주석으로 설명..
package ch05;
public class S01 {
public static void main(String[] args) {
// 배열선언 + 초기화
int[] intArray = new int[5];
// 배열의 요소 값 가져오기
// int 배열은 초기화 할 때 값을 넣지 않으면
// 모두 0으로 초기화한다
System.out.println(intArray[0]); // 0
// 배열의 값 바꾸기
intArray[0] = 5;
System.out.println(intArray[0]); // 0 5
// 범위를 넘어서 요소 가져오기
// 에러가 발생한다
// IndexOutOfBoundsException
// Index 5 out of bounds for length 5
// System.out.println(intArray[5]); //에러
}
}
주석으로 설명..
package ch05;
public class S02 {
public static void main(String[] args) {
// 배열의 값을 교환하기
int[] intArray = new int[2];
intArray[0] = 1;
intArray[1] = 2;
// 임시저장 int
int temp = intArray[0];
// 기존에 있던 값이 1이 사라지게 되니까 임시저장을 해줘야한다
intArray[0] = intArray[1];
intArray[1] = temp;
}
}
주석으로 설명..
package ch05;
public class S03 {
public static void main(String[] args) {
// 배열 생성시 값을 넣는 방법
// int[] intArray = {10, 20, 30, 40};
// int[] intArray1 = new int[] {10, 20, 30, 40};
// int[] intArray;
// intArray = {10, 20, 30, 40}; // 값을 참조함 // 에러 발생함
// int[] intArray1;
// intArray1 = new int[] {10, 20, 30, 40}; // new는 주소를 참조함
System.out.printf("%d / %d", 10,20);
}
}
주석으로 설명..
package ch05;
public class S04 {
public static void main(String[] args) {
String[] strArray = {"바나나", "사과", "멜론"};
System.out.println(strArray.length); // 3
for (int i = 0; i < strArray.length; i++) {
System.out.println(strArray[i]); // 바나나 사과 멜론
}
}
}
주석으로 설명..
package ch05;
public class S05 {
public static void main(String[] args) {
// 기본형은 값을 대입한다.
int a = 1;
int b = a;
b = 5;
System.out.println(a); // 1
System.out.println(b); // 5
// 참조형은 주소를 대입한다.
// int[] intArray = {10, 20};
// int[] intArray1 = intArray;
// intArray1[0] = 30;
// System.out.println(intArray[0]);// 30
// System.out.println(intArray1[0]);// 30
// 배열복사
int[] intArray = {10, 20};
int[] intArray1 = new int[intArray.length];
for (int i = 0; i < intArray1.length; i++) {
intArray1[i] = intArray[i];
System.out.println(intArray1[i]);// 10 20
}
}
}
주석으로 설명..
package ch05;
public class S06 {
public static void main(String[] args) {
// 이중배열
// new int[][]를 생략할 수 있다.
int[][] intArray = new int[][]{
{10, 20, 30},
{40, 50, 60}
};
// int[][] intArray1 = new int[2][3];
// intArray1[0] = new int[] {10, 20, 30};
// intArray1[1] = new int[] {40, 50, 60};
for (int i = 0; i < intArray.length; i++) {
// System.out.println(intArray[i][0]);
// System.out.println(intArray[i][1]);
// System.out.println(intArray[i][2]);
for (int j = 0; j < intArray[i].length; j++) {
System.out.println(intArray[i][j]);
}
}
}
}