Java

[Java] Array

Bay Im 2024. 3. 13. 21:24

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를 안했기 때문)
  • 배열 객체의 초기화
    • 초기값을 부여하지 않는 경우 빈칸으로 존재
    • 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(참조변수명)
  • 배열의 정렬
    • 오름차순
      • 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 자료형[][] {{값, 값, 값}, {값, 값, 값}};
        • ex) int[][] a = new int[][]{{1, 2, 3}, {4, 5, 6}};
    • 대입할 값만 입력 ← (해당 방식을 많이 사용!)
      • 자료형[][] 참조변수명 = {{값, 값, 값}, {값, 값, 값}};
        • 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);
          	}
          }

'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