[JAVA] 배열, 2차원배열 n명의 학생 점수 총점 평균 구하기, 배열 이용해 학생 점수 구하기

    배열을 생성하는 이유는 하나의 변수에 여러가지 값을 저장할 수 있기때문이다.

    배열
     - 같은 타입의 데이터의 집합

    배열 이름
     - 실제 배열이 존재하는 주소값을 담기 위한 공간

    new 연산자를 통해 배열을 생성 할 수 있음.

    배열의 단점
     - 같은 데이터 타입 밖에 넣을 수 없다. 
     - 한번 생성된 배열은 그이상 늘어나지 않는다.


    배열은 레퍼런스 타입 = 참조타입
    레퍼런스타입 - 실제 데이터값이 들어가있는것이 아니라 주소값이 들어가있기 때문이다.

    배열을 생성하는방법
    주소값을 갖고있는건 어떤의미
     - 실제 메모리상의 배열을 가리킬수 있다.
    힙 메모리 영역에 할당된 공간을 참조할수있다

    heap 영역
    - new : 주소를 던져 주는 연산자
    - new로 생성한 것들이 존재하는 영역




        2차원배열 n명의 학생 점수 총점 평균 구하기

    1. package mission;

    2. import java.util.Scanner;

    3. public class Mission7 {

    4.      public static void main(String[] args) {
    5.            Scanner sc = new Scanner(System.in);
    6.            int score[][] = new int[3][5];
    7.            String str[] = {"국어", "수학", "영어"};

    8.            for(int i=0; i<3; i++){
    9.                 for(int j=0; j<3; j++){
    10.                      System.out.print((i+1)+"번 학생의 "+str[j]+" 점수 입력 : ");
    11.                      score[i][j] = sc.nextInt();
    12.                      score[i][3] += score[i][j];
    13.                 }
    14.                 score[i][4] = score[i][3]/3;
    15.            }

    16.            System.out.println("\t국어\t수학\t영어\t총점\t평균");
    17.            for(int i=0; i<3; i++){
    18.                 System.out.print((i+1)+"\t");
    19.                 for(int j=0; j<5; j++){
    20.                      System.out.print(score[i][j]+"\t");
    21.                 }
    22.                 System.out.println();
    23.            }

    24.      }
    25. }




       배열 이용 학생의 점수 구하기.

    1. package mission;

    2. import java.util.Scanner;

    3. public class Mission5 {
    4.      public static void main(String[] args) {
    5.            Scanner sc = new Scanner(System.in);

    6.            int sum = 0;
    7.            int arr[] = new int[5];
    8.            String str[] = { "국어", "수학", "영어", "총점", "평균" };

    9.            for (int i = 0; i < 3; i++) {
    10.                 System.out.print(str[i] + " 입력 : ");
    11.                 arr[i] = sc.nextInt();
    12.                 arr[3] += arr[i];
    13.            }

    14.            arr[4] = arr[3] / 3;

    15.            for (int i = 0; i < str.length; i++) {
    16.                 System.out.print(str[i] + "\t");
    17.            }
    18.            System.out.println();

    19.            for (int i = 0; i < arr.length; i++) {
    20.                 System.out.print(arr[i] + "\t");
    21.            }

    22.      }
    23. }



    배열을 복사하는법


    int oldArr[] = new int[5];
                  oldArr[0] = 10;
                  oldArr[1] = 20;
                  oldArr[2] = 30;

                  int newArr[] = new int[3];
                  System.arraycopy(oldArr, 0, newArr, 0, newArr.length);

    '개발 > JAVA' 카테고리의 다른 글

    [JAVA] 상속에 대해  (0) 2019.01.21
    [JAVA] 메소드 오버로딩, 메소드 오버라이딩  (0) 2019.01.16
    [JAVA] 접근제어자  (0) 2019.01.13
    [JAVA] 객체, 생성자  (0) 2019.01.11
    [JAVA] 선택정렬, 버블정렬  (0) 2019.01.11

    댓글