1. 다차원 배열(Array)
- 2,3차 배열
- 배열 초기화 리스트
- 2차 배열 5x5 만들기
2. 클래스(Class)
- 클래스 사용 이유?
- 클래스 사용
- 배열과 클래스의 차이점
1. 다차원 배열(Array)
(1) 2,3차 배열
- 2차원 배열
int[][] arr = new int[2][3]; // 2x3 => 6개의 방[] 생성
arr[0][0] = 10;
arr[0][1] = 20;
arr[0][2] = 30;
arr[1][0] = 40;
arr[1][1] = 50;
arr[1][2] = 60;
//2차원 배열 -> 2중 for문
for(int i=0; i<arr.length; i++) {
for(int j=0; j<arr[i].length; j++) {
System.out.printf("%5d",arr[i][j]);
}
}
//output
---> 10 20 30
40 50 60
- 3차원 배열
int[][][] arr = new int[2][3][2]; // 2x3x4 = 24개 방[] 생성
arr[0][0][0] = 10;
arr[0][0][1] = 20;
arr[0][0][2] = 30;
arr[0][0][3] = 40;
arr[0][1][0] = 50;
arr[0][1][1] = 60;
arr[0][1][2] = 70;
arr[0][1][3] = 80;
arr[0][2][0] = 90;
arr[0][2][1] = 100;
arr[0][2][2] = 110;
arr[0][2][3] = 120;
arr[1][0][0] = 130;
arr[1][0][1] = 140;
arr[1][0][2] = 150;
arr[1][0][3] = 160;
arr[1][1][0] = 170;
arr[1][1][1] = 180;
arr[1][1][2] = 190;
arr[1][1][3] = 200;
arr[1][2][0] = 210;
arr[1][2][1] = 220;
arr[1][2][2] = 230;
arr[1][2][3] = 240;
//3차원 배열 -> 3중 for문
for(int i=0; i<arr.length; i++) {
for(int j=0; j<arr[i].length; j++ {
for(int k=0; k<arr[i][j].length; k++ {
System.out.printf("%5d", arr[i][j][k];
}
System.out.println();
}
System.out.println();
}
//output
----> 10 20 30 40
50 60 70 80
90 100 110 120
130 140 150 160
170 180 190 200
210 220 230 240
(2) 배열 초기화 리스트
//1차원 배열
int[] num1 = new int[] {10,20,30,40,50};
//2차원 배열 (2x3)
int[][] num2 = new int[][] {{10,20,30}, {40,50,60}};
//3차원 배열 (2x3x4)
int[][][] num3 = new int[][][] {{{10,20,30,40}, {10,20,30,40}, {10,20,30,40}},
{{10,20,30,40}, {10,20,30,40}, {10,20,30,40}},
{{10,20,30,40}, {10,20,30,40}, {10,20,30,40}}};
(3) 2차 배열 5x5 만들기
int[][] arr = new int[5][5];
int n = 1;
//5x5 방에 1부터25까지 숫자 넣기
for(int i=0; i<arr.length; i++) {
for(int j=0; j<arr[i].length; j++) {
arr[i][j] = n;
n++;
System.out.printf("%3d", arr[i][j]);
}
}
//output
----> 1 2 3 4 5
6 7 8 9 10
11 12 13 14 15
16 17 18 19 20
21 22 23 24 25
2. 클래스(Class)
(1) 클래스 사용 이유?
- 클래스(Class) : 코드의 집합
- 데이터 집합의 필요성
- 행동 집합의 필요성
- 데이터 + 행동 집합의 필요성
(2) 클래스 사용
- 클래스 선언하기(정의) --> 객체 생성하기 --> 객체 사용하기
- 형식)
class Test { //클래스 헤더 --> 식별자 + 규칙정의
// 클래스 바디 -> 구현부
// 클래스 멤버를 구현한다.
// - 멤버 변수
// - 멤버 메소드
int a; //멤버 변수
public static void test() { //멤버 메소드
}
}
(3) 배열과 클래스의 차이점
- 배열 : 같은 자료형 + 같은 의미
- 클래스 : 다른 자료형(다른의미) + 하나의 집합(각각의 다른 데이터가 결론적으로 목적이 같음)
- 예시)
//예시1
지도의 좌표를 저장하고 싶다? --> 클래스
//예시2
학생의 국어점수를 저장하고 싶다? --> 배열
//예시3
학생의 정보를 저장하고 싶다(학생정보 : 이름, 키, 몸무게)? --> 클래스
MEMO>
# 다차원 배열은 아파트, 단지, 동, 호수로 생각하면 이해가 편하다
# 다차원 배열은 어렵지만, 1차원 배열을 잘 이해한다면 이해하기 쉽다.
# 공부량 : 다차원배열 <<<< 1차원 배열
# 배열은 제어문(for,while,if ...)을 잘 사용하면 할수록 잘 쓸 수있다!
# 배열과 클래스는 비슷하지만 다른점이 있으며 그 다른점을 잘 파악해서 선택을 잘하자!
# 클래스는 매우 어렵다. 조급해 하지말고 천천히 이해하자
'인천일보아카데미 > - 학습일지' 카테고리의 다른 글
[학습일지]JAVA교육일지 27일차 (0) | 2022.06.08 |
---|---|
[학습일지]JAVA교육일지 26일차 (0) | 2022.06.08 |
[학습일지]JAVA교육일지 23일차 (0) | 2022.06.04 |
[학습일지]JAVA교육일지 22일차 (0) | 2022.06.04 |
[학습일지]JAVA교육일지 21일차 (0) | 2022.06.02 |