📌 배열(Array)이란?
- 배열은 동일한 타입의 변수들을 한 곳에 저장해서 관리하는 것을 말한다.
- 배열을 이용하면 하나의 변수에 여러 정보를 담을 수 있고, 반복문과 결합하면 많은 정보도 효율적으로 처리할 수 있습니다.
📌 배열의 특징
- 연속된 자료구조이다.
- 배열의 값을 element라고 하고, 그 순서를 index라고 한다.
- 배열에 저장되는 값은 모두 같은 데이터의 유형이다. (int는 int 만, String 은 String)
- 배열의 index 순서는 1부터가 아닌 0부터 시작이다.
- 배열의 맨뒤의 대괄호 안에는 배열의 크기를 지정한다.
📌 배열의 사용법
// 선언 방법 1
int[] arr = new int[5]; // 크기 5의 배열
String[] strArr = new String[10]; // 크기 10의 배열
// 선언 방법 2
// 배열을 생성할 때 값을 직접 할당해서 생성이 가능하다.
int[] arr1 = new int[]{1,4,2,3,6};
String[] strArr1 = new String[]{"a","b","c","d","e"};
// 선언 방법 3
int[] arr2 = {1,2,3,4,5};
String[] strArr2 = {"a","b","c","d","e"};
- 1, 4, 2, 3, 6 순서 대로 0번째는 1, 1번째는 4, 2번째는 2의 값이 된다.
- 종종 인덱스 실수할 때가 있으니 항상 인덱스를 생각해야 한다.
int[] arr = new int[5]; // 크기 5의 배열
// 배열에 값 넣기
arr[0] = 1;
arr[1] = 2;
arr = new int[5];
// for문을 통해서 값 넣기
for (int i = 0; i < arr.length; i++) {
arr[i] = i + 1;
}
// 배열 출력
System.out.println(arr[0]); // 1
System.out.println(arr[2]); // 3
📌 2차원 배열
int[][] arr = new int[2][2]; // 2 x 2 의 배열이다.
arr[0][0] = 1;
arr[0][1] = 2;
arr[1][0] = 3;
arr[1][1] = 4;
// 이런 식으로도 선언이 가능하다.
int[ ][ ] = {{ 10, 11, 12 },{ 20, 21, 22 }};
📌 참조형 배열 (객체 배열)
- 배열에 객체를 담을 수 있다.
- 객체 배열을 담기 위해서는 아래와 같이 객체를 생성해 주어야 한다.
public class Student {
String name;
int age;
public Student() { } // 기본 생성자
public void show() {
System.out.println(name + "이름은" + age + "세 입니다.");
}
}
public class Main {
public static void main(String[] args) {
Student[] students = new Student[3]; // 객체 배열 선언 및 생성
for (int i = 0; i < students.length; i++) {
students[i] = new Student();
}
students[0].name = "홍길동";
students[0].age = 20;
students[1].name = "아낙네";
students[1].age = 30;
students[2].name = "이순신";
students[2].age = 19;
for (int i = 0; i < students.length; i++) {
students[i].show();
}
}
}
'Java' 카테고리의 다른 글
[Java] JDBC(Java DataBase Connectivity) 알아보기 (1) | 2023.06.16 |
---|---|
[Java] 추상 클래스 & 인터페이스 (0) | 2022.06.03 |
[Java] Call by value ? & Call by Reference ? (0) | 2022.05.31 |
[Java] Enum ? 열거형 (Enumeration) (0) | 2022.05.27 |
[Java] 객체지향 5원칙 SOLID (0) | 2022.05.24 |