[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

댓글