[Java] 배열

MINJEE·2023년 12월 25일

SMHRD_8_Java

목록 보기
2/10
post-thumbnail

배열 (Array)

: 인덱스와 인덱스에 대응하는 데이터들로 이루어진 자료 구조
  • 같은 타입의 데이터들이 순차적으로 저장되는 공간
  • 고정된 크기를 가지며, 각 원소는 인덱스를 사용하여 접근 가능
  • 인덱스는 0부터 시작하고, 음수는 사용 불가능
    (파이썬은 인덱스를 음수를 사용하여 뒤에서부터 인덱싱이 가능하지만 자바는 불가능)
  • 배열 선언과 배열 생성 두 단계 필요

🔷 배열 선언과 생성

배열 선언

  • 타입 변수 []; 또는 타입[] 변수; : 배열에 대한 레퍼런스 변수 선언
    (ex. int intArray []; : 정수형 배열 선언)

배열 생성

  • 변수 = new 타입[원소개수]; : 이미 선언한 변수에 배열 생성
    (ex. intArray = new int [5]; : 크기가 5인 정수형 배열 생성)
  • 타입 변수[] = new 타입[원소개수]; : 배열 선언과 동시에 배열 생성
  • 타입 변수[] = {값1, 값2, 값3, …}; : 초기값으로 배열 생성

🔷 배열의 각 요소에 인덱스로 접근

인덱스는 0부터 시작하며, 배열의 길이보다 작은 값을 가져야함

  • 변수[인덱스] : 배열의 해당 인덱스 위치의 요소에 접근
  • 변수[인덱스] = 값; : 값 수정 또는 추가
  • 변수.length : 배열의 크기
// 초기값으로 배열 생성
int[] numbers = {1, 2, 3, 4, 5}; 

int firstNumber = numbers[0]; // 첫 번째 원소에 접근
System.out.println(firstNumber); // 출력: 1

int length = numbers.length;
System.out.println(length); // 출력: 5

🔷 for-each문으로 배열 요소 반복

  • for-each문 : 배열의 원소를 순차 접근하는 데 유용한 for문
// 기본 문법
for(int i : 레퍼런스변수) {
	반복문장;
}
// 예시 : 배열의 모든 요소 출력하기
int[] numbers = {1, 2, 3, 4, 5};

for (int number : numbers) {
    System.out.println(number);
}

//결과 :
//1
//2
//3
//4
//5

🔷 다차원 배열도 지원

다차원 배열은 배열의 배열로 구성된다.

🔹 2차원 배열

2차원 배열은 행과 열의 형태로 이루어진다.

2차원 배열 선언

  • 배열타입 변수[][]; 또는 배열타입[][] 변수; : 2차원 배열 선언

2차원 배열 생성

  • 변수 = new 배열타입[원소개수1][원소개수2]; : 2차원 배열 생성
  • 배열타입 변수[][] = new 배열타입[원소개수1][원소개수2]; : 2차원 배열 선언과 생성 동시에
  • 배열타입 변수[][] = {{값11, 값12, 값13,…}, {값21, 값22, 값23,…}, …}; : 배열 선언과 초기화 동시에
// 2차원 배열 선언과 초기화
int[][] matrix = new int[3][3]; // 3x3 크기의 2차원 배열 생성

// 2차원 배열에 초기값을 지정
int[][] matrix = {{1, 2, 3}, {4, 5, 6}, {7, 8, 9}}; // 초기값으로 2차원 배열 생성

2차원 배열의 개수

  • 변수.length : 첫번째 차원의 길이 (행의 개수)
  • 변수[인덱스].length : 두번째 차원의 길이 (열의 개수)
int[][] matrix = {{1, 2, 3}, {4, 5, 6}, {7, 8, 9}};

int element = matrix[1][2]; // 2행 3열의 원소에 접근
System.out.println(element); // 출력: 6

int rows = matrix.length; // 첫 번째 차원의 길이 (행의 개수)
int columns = matrix[0].length; // 두 번째 차원의 길이 (열의 개수)

System.out.println("행의 개수: " + rows); // 출력 : 행의 개수: 3
System.out.println("열의 개수: " + columns); // 출력 : 열의 개수: 3
profile
개발, 분석 배운 내용 정리하기!

0개의 댓글