배열을 생성하는 이유는 하나의 변수에 여러가지 값을 저장할 수 있기때문이다.
배열
- 같은 타입의 데이터의 집합
배열 이름
- 실제 배열이 존재하는 주소값을 담기 위한 공간
new 연산자를 통해 배열을 생성 할 수 있음.
배열의 단점
- 같은 데이터 타입 밖에 넣을 수 없다.
- 한번 생성된 배열은 그이상 늘어나지 않는다.
배열은 레퍼런스 타입 = 참조타입
레퍼런스타입 - 실제 데이터값이 들어가있는것이 아니라 주소값이 들어가있기 때문이다.
배열을 생성하는방법
주소값을 갖고있는건 어떤의미
- 실제 메모리상의 배열을 가리킬수 있다.
힙 메모리 영역에 할당된 공간을 참조할수있다
heap 영역
- new : 주소를 던져 주는 연산자
- new로 생성한 것들이 존재하는 영역
2차원배열 n명의 학생 점수 총점 평균 구하기
- package mission;
- import java.util.Scanner;
- public class Mission7 {
- public static void main(String[] args) {
- Scanner sc = new Scanner(System.in);
- int score[][] = new int[3][5];
- String str[] = {"국어", "수학", "영어"};
- for(int i=0; i<3; i++){
- for(int j=0; j<3; j++){
- System.out.print((i+1)+"번 학생의 "+str[j]+" 점수 입력 : ");
- score[i][j] = sc.nextInt();
- score[i][3] += score[i][j];
- }
- score[i][4] = score[i][3]/3;
- }
- System.out.println("\t국어\t수학\t영어\t총점\t평균");
- for(int i=0; i<3; i++){
- System.out.print((i+1)+"\t");
- for(int j=0; j<5; j++){
- System.out.print(score[i][j]+"\t");
- }
- System.out.println();
- }
- }
- }
배열 이용 학생의 점수 구하기.
- package mission;
- import java.util.Scanner;
- public class Mission5 {
- public static void main(String[] args) {
- Scanner sc = new Scanner(System.in);
- int sum = 0;
- int arr[] = new int[5];
- String str[] = { "국어", "수학", "영어", "총점", "평균" };
- for (int i = 0; i < 3; i++) {
- System.out.print(str[i] + " 입력 : ");
- arr[i] = sc.nextInt();
- arr[3] += arr[i];
- }
- arr[4] = arr[3] / 3;
- for (int i = 0; i < str.length; i++) {
- System.out.print(str[i] + "\t");
- }
- System.out.println();
- for (int i = 0; i < arr.length; i++) {
- System.out.print(arr[i] + "\t");
- }
- }
- }
배열을 복사하는법
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 |
댓글