MultiDimensionalArray

ZiSoOm·2021년 5월 29일
0

기초자바

목록 보기
10/15

🎫2차원 배열

2차원 이상의 배열을 다차원 배열이라고 함

🎫선언 및 초기화

2차원 배열
ex) int[][] array2;

3차원 배열
ex) int[][][] array3;

2차원 배열 초기화
ex) int[][] arr = new int[2][3];

🎫2차원 배열 연습 1

int arr2[][] = new int[][] {{1,2,3},{4,5,6}};
int[] arr3[] = {{1,2,3},{4,5,6},{7,8,9}};
>
int[][] arr4 = new int[3][]; // 가변 배열 1차원만 초기화하고 2차원은 아직 초기화되지 않음
arr4[0] = new int[3];
arr4[1] = new int[4];
arr4[2] = new int[10];
>
int [][] arr = new int [2][3];
System.out.println(arr[0][1]); //[][]둘다 지정해줘야 출력할 수 있음
//arr[0] = 10; //1차원에는 값을 저장할 수 없음
arr[0] = new int[5]; //배열을 저장해야함
>
arr[0][0] = 10; //값을 저장하려면 2차원 인덱스까지 접근해야함
arr[0][1] = 20;
arr[1][0] = 100;
System.out.println(arr.length); //1차원 배열의 길이 : 2
System.out.println(arr[0].length); //2차원 배열의 길이  : 5
System.out.println(arr[1].length); //2차원 배열의 길이  : 3

//2차원 배열 => for문 2개
for(int i =0; i < arr.length; i++) {
	for(int j=0; j < arr[i].length; j++) {
		System.out.print(arr[i][j] + " ");
	}
}

🎫2차원 배열 연습2

3명의 학생이 과목별로 5개의 점수가 있다. 랜덤으로 점수를 넣어 합계와 평균을 출력하세요.

int[][] scores = new int[3][5]; //점수
int[] sum = new int[scores.length]; //합계
double[] avg = new double[scores.length]; //평균

for(int i=0; i < scores.length; i++) {
	for(int j=0; j < scores[i].length; j++) {
		scores[i][j] = (int)(Math.random() * 101); //0점부터 100점까지
		sum[i] += scores[i][j];
	}
	avg[i] = (double)sum[i]/scores[i].length;
	System.out.println("합계 : " + sum[i]+ ", 평균 : " + avg[i]);
}
System.out.println(Arrays.toString(sum));
System.out.println(Arrays.toString(avg));

0개의 댓글

관련 채용 정보