배열과 배열 사용하기

muz·2021년 3월 24일
0

Java

목록 보기
2/21
post-thumbnail

🤔 배열(Array)

배열은 관련있는 정보들을 Grouping하는 데에 사용한다. 대회에 참가하는 학생들을 학년에 따라 나눠보자. 총 10명이 참가하며 1학년은 3명, 2학년은 3명, 3학년은 3명이다.

1학년 = {HO,DH,WJ}
2학년 = {HM,GJ,WG}
3학년 = {MS,JW,JB}

x학년은 변수이고, {}안에 있는 학생은 이 변수에 포함되는 상수가 된다. 직접 배열을 선언하고 생성, 사용해보자.

배열의 생성

직접 배열을 생성하고 출력해보자.

public class sportsList {
    public static void main(String[] args) {
        String[] grade1 = {"HO", "DH", "WJ"};
        String[] grade2 = {"HM", "GJ", "WG"};
        String[] grade3 = {"MS", "JW", "JB"};
        System.out.println("대회에 출전하는 1학년은 " + grade1[0] + ", " + grade1[1]+ ", " + grade1[2] + " 입니다.");
        System.out.println("대회에 출전하는 2학년은 " + grade2[0] + ", " + grade2[1]+ ", " + grade2[2] + " 입니다.");
        System.out.println("대회에 출전하는 3학년은 " + grade3[0] + ", " + grade3[1]+ ", " + grade3[2] + " 입니다.");
    }
}

배열에 담겨있는 데이터를 꺼내올 때에는 배열명[index번호]를 이용한다.
이번에는 다른 방법으로 배열을 정의해보자.

public class sportsList {
    public static void main(String[] args) {
        String[] grade1 = new String[3];
        grade1[0] = "HO";
        grade1[1] = "DH";
        grade1[2] = "WJ";
        System.out.println("1학년은 총 " + grade1.length + "명이 출전합니다.");
        // ...
    }
}

위와 같이 배열의 길이를 정한 다음, 각각의 배열 안에 값을 입력해주는 방법도 있다. 배열에 담긴 각각의 데이터를 원소(Element)라고 하며, []안에 있는 값은 학생들 하나하나를 식별하는 식별자(index)이다. 배열이 담을 수 있는 원소의 개수를 배열의 길이(length)라고 말하며 다시말해 배열이 담을 수 있는 크기를 의미한다.

배열의 사용

배열을 사용해서 학생들의 대회 출전 순서를 알아보자. 이러한 경우 다음과 같은 순서를 따라야 한다.
1. 학생들을 대회 출전 순서대로 나열한다.
2. 대회에 출전한 학생 수를 기록하고, 대회에 출전할 때마다 1만큼 증가시킨다.
3. 모든 학생이 대회에 출전한 후에는 프로그램을 종료한다.

public class sportsList {
    public static void main(String[] args) {
        String[] students = {"JB","JW","MS","GJ","WG","HO","DH","WJ","HM"};
        for (int i = 0; i < students.length; i++) {
            String student = students[i]; 
            System.out.println(student + "은 " + i + "번째로 출전함");
        }
    }
}

위의 코드를 좀 더 간편하게 사용해보자.

public class sportsList {
    public static void main(String[] args) {
        String[] students = {"JB","JW","MS","GJ","WG","HO","DH","WJ","HM"};
        for (String e : students) {
            System.out.println(e +"이 출전했습니다. ");
        }
    }
}

위의 코드는 students 배열의 값을 변수 e에 담아서 {}안으로 전달해준다. 반복문의 종료조건이나 증감식을 내부적으로 감춘 것이다.

배열은 초기화할 때 그 크기가 정해지는 것이므로, 정해진 크기 이상의 값을 넣을 수 없다. 그러나 Java의 collection 기능을 이용하면 JavaScript의 배열처럼 유연하게 배열을 사용할 수 있긴 하다. Collection은 다음에 알아보자!

profile
Life is what i make up it 💨

0개의 댓글