[코딩은 처음이라 with 자바] –

배열이란 무엇입니까?

자바를 배울 때 여러 데이터를 한번에 처리하기 위해 배열이라고 합니다. 배열은 여러 데이터가 차례대로 배열되는 데이터 구조 모음의 기초입니다. 기본 배열과 다차원 배열이 있습니다.

배열 속성.

  • 동일한 유형의 데이터만 저장할 수 있습니다.
  • 인덱스는 0부터 시작합니다.
  • 배열을 선언할 때 인덱스의 길이를 지정합니다.
  • 한 번 생성된 배열의 길이는 변경할 수 없습니다.

자세히 보기: 1열


오라클 자바 문서

위의 이미지를 보면 길이 10의 배열이 선언되어 있고, 시작 인덱스는 0이고 끝 인덱스는 9입니다. 그리고 각 인덱스의 공간(요소)에는 값이 들어 있습니다. 위의 이미지는 다음과 같이 코드로 표현할 수 있습니다. 배열의 값이 int라고 가정합시다.

int() 테스트 = 새로운 int(10)

int 배열이 선언되고 배열의 길이와 크기가 10으로 설정됩니다.

배열을 정의할 때 new 키워드를 사용하는 이유는 무엇입니까?
배열도 객체입니다. 배열은 참조 데이터 유형이며 약간 다른 방식으로 클래스라고 부를 수 있습니다. 클래스의 인스턴스를 생성하는 프로세스는 new에 의해 생성됩니다. (건설자).

자세히: 다차원 배열


1차원 배열이 1차원 접근 방식이라면 2차원 배열에는 행이 하나 더 있는 2차원 접근 방식이 필요합니다.

간단히 말해, 0층에 0호실, 1호실, 2호실… 1층에 0호실, 1호실, 2호실… 2층에 0호실, 1호실, 2호실. .. 그렇게 이해해야합니다

위 이미지를 코드문으로 표현하면 다음과 같다.

int()() multiArray = new int(4)(3) // -> 행 4 열 3

코드 연습: 1차원 배열

학생의 코스 점수를 int 배열에 넣고 평균을 구하겠습니다.

1. 모두 더하고 길이로 나누어 평균을 구합니다.

public static void main(String() args) throws Exception {

    int() grades = {80, 90, 92, 72};

    double result = (double)(grades(0) + grades(1) + grades(2) + grades(3)) / grades.length;

    System.out.println("result >> " + result); // 83.5

}

2. for 문을 사용하여 모두 더한 다음 길이로 나누어 평균을 구합니다.

public static void main(String() args) throws Exception {
    int() grades = {80, 90, 92, 72};

    int total = 0;
    for(int i = 0; i < grades.length; i++) {
        total += grades(i);
    }

    System.out.println("average >> " + (double)total / grades.length); // 83.5
}

3. IntStream을 사용한 평균 계산

public static void main(String() args) throws Exception {

    int() grades = {80, 90, 92, 72};

    double average = IntStream.of(grades).average().orElse(0);

    System.out.println(average); // 83.5
}

코드 연습: 2D 배열

여러 학생의 과목 점수를 다차원 배열로 선언하고 각각의 평균 점수를 계산해 봅시다.

public static void main(String() args) throws Exception {

    int()() grades = {{80, 90, 92, 72}, {40, 98, 34, 58}};

    double() sequenceResult = new double(2);
    for(int i = 0; i < grades.length; i ++) {
        int total = 0;
        int length = 0;
        for(int num : grades(i)) {
            total += num;
            length++;
        }
        sequenceResult(i) = (double)total/length;
    }

    System.out.println(Arrays.toString(sequenceResult)); // (83.5, 57.5)
}

첫 번째 학생과 두 번째 학생의 평균 점수를 각각 구한 후 데이터를 이중 유형의 1차원 배열에 넣고 정리합니다.

첫 번째 for 루프는 행을 반복하고 두 번째 for 루프(확장 for 루프)는 열을 반복합니다.

참조