1차원 배열
- 배열의 특징
- 동일한 자료형만 묶어서 저장 가능
- 생성 시 크기를 지정, 이후 크기는 변경 불가
- 배열의 선언
- 자료형[] 변수명; ← (해당 방식을 많이 사용!)
- ex) int[] a;
- 자료형 변수명;
- ex) int a[];
- 자료형[] 변수명; ← (해당 방식을 많이 사용!)
- 배열의 객체 생성
- 객체 생성 시 개수가 지정되어야 함.
- 힙(Heap) 메모리에 생성
- 선언과 동시에 객체 생성 가능
- ex) int[] a = new int[3];
- 배열 객체의 값 대입 및 읽기
- 값 대입
- 참조변수명[인덱스] = 값;
- ex) a[0] = 1;
- 참조변수명[인덱스] = 값;
- 값 읽기
- 참조변수명[인덱스]
- ex) sout(a[0]); ⇒ 1 출력
- 참조변수명[인덱스]
- 값 대입
- 배열의 생성과 동시에 값 대입
- 자료형[] 참조변수명 = new 자료형[]{값, 값, …, 값}ㅣ
- ex) int[] a = new int[]{3, 4, 5};
- 자료형[] 참조변수명 = {값, 값, …, 값}; ← (해당 방식을 많이 사용!)
- ex) int[] a = {3, 4, 5};
- 위의 두 방법의 차이점
- 첫 번째 방법은 선언과 값의 대입이 분리 가능하고, 두 번째 방법 불가능하다. (new를 안했기 때문)
- 자료형[] 참조변수명 = new 자료형[]{값, 값, …, 값}ㅣ
- 배열 객체의 초기화
- 초기값을 부여하지 않는 경우 빈칸으로 존재
- 0이나 null은 읽기 가능하지만 초기값은 읽기 불가능
- 참조 자료형의 배열 특징
- 변수 복사 시 값이 아닌 위치가 복사된다.
- 기본자료형은 값의 복사
- 배열의 길이
- 배열변수명.length 사용
- 배열 데이터 읽기
- for-each 문 이용
- for(자료형 변수: 묶음참조자료형) { … }
- 예시
- for (int num : arrNum1) { System.out.println(num); }
- for 문 이용
- 예시
- for (int i = 0; i < arrNum1.length; i++) { System.out.println(arrNum1[i]); }
- Arrays.toString() 이용
- Array.toString(참조변수명)
- for-each 문 이용
- 배열의 정렬
- 오름차순
- Array.sort(참조변수명); 이용
- 내림차순
- Integer 타입으로 변경 후 Arrays.sort(참조변수명, Collections.reverseOrder());
- 오름차순
2차원 배열
- 2차원(정방행렬) 배열
- 가로 세로 방향으로 정렬된 배열
- 2차원 배열의 선언
- 자료형[][] 변수명 ← (해당 방식을 많이 사용!)
- ex) int[][] a;
- 자료형 변수명[][]
- ex) int a[][];
- 자료형[] 변수명[]
- int[] a[];
- 자료형[][] 변수명 ← (해당 방식을 많이 사용!)
- 2차원 배열의 객체 생성
- 배열 객체의 생성 이후 값 대입
- 자료형[][] 참조변수명 = new 자료형[행의길이][열의길이];
- ex) int[][] a = new int[2][3];
- a[0][0] = 1;
- 자료형[][] 참조변수명 = new 자료형[행의길이][열의길이];
- 행과 열의 값을 따로 생성
- 자료형과 대입할 값만 입력
- 자료형[][] 참조변수명 = new 자료형[][] {{값, 값, 값}, {값, 값, 값}};
- ex) int[][] a = new int[][]{{1, 2, 3}, {4, 5, 6}};
- 자료형[][] 참조변수명 = new 자료형[][] {{값, 값, 값}, {값, 값, 값}};
- 대입할 값만 입력 ← (해당 방식을 많이 사용!)
- 자료형[][] 참조변수명 = {{값, 값, 값}, {값, 값, 값}};
- ex) int[][] a = {{1, 2, 3}, {4, 5, 6}};
- 자료형[][] 참조변수명 = {{값, 값, 값}, {값, 값, 값}};
- 배열 객체의 생성 이후 값 대입
- 2차원 배열의 길이
- 행의 길이
- 2차원배열.length
- 열의 길이
- 2차원배열[0].length
- 행의 길이
- 2차원 배열의 출력
- for 문 이용
- 예시
-
for (int i = 0; i < nums.length; i++) { for (int j = 0; j < nums[i].length; j++) { System.out.print(nums[i][j] + " "); } System.out.println(); }
-
- 예시
- for-each 문 이용
- 예시
-
for(int[] m: a) { for(int n: m) { System.out.println(n); } }
-
- 예시
- for 문 이용
'Java' 카테고리의 다른 글
[Java] static, void, this (0) | 2024.03.13 |
---|---|
[Java] 객체(Object), Class, Method (0) | 2024.03.13 |
[Java] 임의의 정수 출력 방법 (0) | 2024.03.11 |
[Java] 제어문 (0) | 2024.03.11 |
[Java] Scanner 클래스 (0) | 2024.03.11 |