Minwoo Dev.

[Java] 배열 기본 본문

Java

[Java] 배열 기본

itisminu 2023. 11. 15. 12:42
728x90
반응형
SMALL

같은 자료형의 변수를 여러 개 사용할 때, 그 변수들이 비슷한 카테고리 상에 있다고 하면, 그 여러 변수들이 한꺼번에 묶여 있다면 더 편리하게 자료를 관리할 수 있을 것이다.

 

public class test {
    public static void main(String[] args) {
        int scoreA = 89;
        int scoreB = 77;
        int scoreC = 93;
    }
}

 

위의 코드는 세 학생의 점수를 나타내는 코드이다.

int형의 변수 세 개로 데이터를 저장했다.

 

public class test {
    public static void main(String[] args) {
        int[] score = new int[]{89, 77, 93};
    }
}

 

하지만 배열을 사용한다면 위처럼 간단하게 나타낼 수 있다. 

score이라는 배열 안에 세 값이 모두 존재하므로 데이터의 이름을 헷갈리지 않을 수 있다.

 

이처럼, 같은 자료형의 변수를 여러 개 사용할 때는 배열의 사용이 정말 좋은 방법이다.

 

Java에서 배열을 생성하는 방법에 대하여 설명하겠다.

 

  • 배열 생성
public class test {
    public static void main(String[] args) {
        int[] score = new int[4];
    }
}

 

위 코드는 정수형 배열 score을 선언한 모습이다.

그리고 나서 각 배열의 요소에 값을 추가해보겠다.

 

public class test {
    public static void main(String[] args) {
        int[] score = new int[4];
        score[0] = 73;
        score[1] = 86;
        score[2] = 83;
        score[3] = 96;
    }
}

 

위처럼 각 요소별로 하나하나 값을 추가하는 방법도 있지만, 더 손쉽게 중괄호({})를 이용하는 방법도 있다.

 

public class test {
    public static void main(String[] args) {
        int[] score = new int[] {73, 86, 83, 96};
    }
}

 

원래는 int[] score = new int[4]와 같이 마지막 new int 뒤에 대괄호로 배열의 크기가 들어가 있어야 하지만, 선언과 동시에 내부 값들을 정해줄 때에는 크기를 적지 않고 비워둔다. 뒤의 중괄호 안에 적어둔 값으로 알아서 계산하여 주기 때문이다.

 

또, 위 코드를 더 줄일수도 있다. 

public class test {
    public static void main(String[] args) {
        int[] score = {73, 86, 83, 96};
    }
}

 

new int[]를 사용하지 않아도 배열을 생성하는 데는 문제가 없다.

그리고, 배열은 인덱스값이 0부터 시작하기 때문에 배열에서의 첫번째 값을 의미하는 것은 score[0] 이다.

그리고 그 뒤로 2번째값은 score[1] , 3번째 값은 score[2] 4번째 값은 score[3] 이다. 

값이 4개가 전부이므로 score[4] 의 값은 존재하지 않는다.

 

이번엔 배열의 값들을 출력해 보겠다.

public class test {
    public static void main(String[] args) {
        int[] score = {73, 86, 83, 96};
        System.out.println(score[0]);
        System.out.println(score[1]);
        System.out.println(score[2]);
        System.out.println(score[3]);

    }
}

 

 

값 하나하나 출력하는 방법이 있다.

하지만 이렇게 출력한다면 너무 코드가 길어지고 비효율적이므로 for문을 주로 사용한다.

 

public class test {
    public static void main(String[] args) {
        int[] score = {73, 86, 83, 96};
        for (int i = 0; i < 4; i++) {
            System.out.println(score[i]);
        }
    }
}

 

 

반복문을 사용하면 더 간단하게 출력을 할 수 있다.

 

 다른 자료형들도 배열로 만들 수 있지만, 같은 자료형의 값들만 배열에 담을 수 있다.

public class test {
    public static void main(String[] args) {
        double[] d = {1.3, 2.1, 5.4, 8.11};
        int[] i = {2, 5, 3, 1, 6};
        String[] s = {"hi", "bye", "good", "bad", "meal", "oh"};
        
        int[] wrong = {2, 4, 1.3, ":hi"}; // 틀린 방법
        
    }
}

 

위의 wrong 배열처럼 정수형으로 배열을 선언하고 다른 자료형을 섞어쓴다면 오류가 발생한다.

 

 

만약 배열의 길이를 모르는 상황이라면, length를 사용할 수 있다.

public class test {
    public static void main(String[] args) {
        int[] score = {73, 86, 83, 96};
        for (int i = 0; i < score.length; i++) {
            System.out.println(score[i]);
        }
    }
}

 

score.length를 사용하면 배열의 길이를 출력하기 때문에 i < score.length 는 i<4 와 같은 셈이다.

 

 

Java에서는 for-each반복문을 사용하여 배열의 값을 편하게 출력할 수 있다.

  • for-each 반복문
for (for문 내에서 사용할 변수 : 불러올 배열 ) {
	... 실행 코드 ...
}

 

위처럼 코드를 작성한다면 배열에서 값을 차례로 하나씩 불러와서 변수에 하나씩 대입하여 실행 코드에서 변수를 사용한다.

public class test {
    public static void main(String[] args) {
        int[] score = {73, 86, 83, 96};
        for (int sc : score) {
            System.out.println(sc);
        }
    }
}

 

위처럼 코드를 작성하면 score 배열에서 차례로 값을 불러와 sc에 넣고, sc를 출력한 다음, score의 두번째 값을 sc에 넣고 출력하고를 반복하는 형식이다.

 

결과는 동일한 것을 알 수 있다.

728x90
반응형
LIST

'Java' 카테고리의 다른 글

[Java] 퀴즈 5 . 구매 가능 신발 사이즈 옵션  (0) 2023.11.15
[Java] 다차원 배열  (0) 2023.11.15
[Java] 퀴즈 4. 주차 요금 정산 프로그램  (0) 2023.11.14
[Java] Continue문  (2) 2023.11.14
[Java] Break문  (0) 2023.11.13