쏭식
Ssongcode;
쏭식
전체 방문자
오늘
어제
  • 분류 전체보기 (106)
    • JAVA (21)
      • Basic (21)
    • Kotlin (14)
      • Basic (14)
    • Android (64)
      • Basic (24)
      • JETPACK (30)
      • Compose (8)
      • 파고들기 (2)
    • Project (4)
    • etc (3)

블로그 메뉴

  • 홈
  • 태그
  • 방명록

공지사항

인기 글

태그

  • Android
  • 코딩테스트
  • 자료구조
  • 프로젝트회고
  • 리사이클러뷰
  • 백준
  • 자바
  • Adapter
  • 코틀린코테
  • Room
  • ViewModel
  • mvvm
  • 코드업100제
  • 코틀린
  • livedata
  • Jetpack
  • 코테
  • 배열
  • 객체지향
  • 메소드
  • compose
  • DataBinding
  • 기초100제
  • 컴포즈
  • 알고리즘
  • AAC
  • 상속
  • workmanager
  • 변수
  • Kotlin

최근 댓글

최근 글

티스토리

hELLO · Designed By 정상우.
쏭식

Ssongcode;

[JAVA-basic] 다차원 배열
JAVA/Basic

[JAVA-basic] 다차원 배열

2021. 8. 9. 00:17

다차원 배열

전 글에서 다뤘던 배열은 1차원 배열인데, 2차원 이상의 배열

즉, 다차원 배열도 선언해서 사용할 수 있다.

 

2차원 배열의 선언하는 방법은 1차원 배열과 같다.

선언 방법 선언 예
타입[][] 변수이름; int[][] a;
타입 변수이름[][]; int a[][];
타입[] 변수이름[]; int[] a[];

2차원 배열은 주로 테이블 형태의 데이터를 담는데 사용되며,

만일 4행 3열의 데이터를 담기 위한 배열을 생성하려면 다음과 같이 한다.

int[][] score = new int[4][3];
int[0][0] int[0][1] int[0][2]
int[1][0] int[1][1] int[1][2]
int[2][0] int[2][1] int[2][2]
int[3][0] int[3][1] int[3][2]

위의 그림처럼 4행 3열의 데이터, 모두 12개의 int값을 저장할 수 있는 공간이 마련된다.

2차원 배열의 초기화

2차원 배열도 괄호{ }를 사용해서 생성과 초기화를 동시에 할 수 있다.

다만, 1차원 배열보다 괄호{ }를 한번 더 써서 행별로 구분해준다.

int[][] arr ={
                   {1, 2, 3},
                   {4, 5, 6}
               };

크기가 작은 배열은 간단히 한 줄로 써주는 것도 좋지만,

가능하면 행별로 줄 바꿈 해주는 것이 보기도 좋고 이해하기 쉽다.

 

만일 위에 arr배열처럼 선언을 해주었다면 1차원배열에서 자주썼던 배열의 길이 arr.length는 얼마일까?

배열 참조변수 arr이 참조하고있는 배열의 길이가 얼마인가를 세어보면 될 것이다.

즉, 2이다. arr.length는 2가 되지만, arr[0].length는 3이 된다.

arr[0]이 참조하고 있는 배열의 길이는 3이기 때문이다.

같은 이유로 arr[1].length도 3이다.

 

다음은 2차원 배열을 활용한 예제 프로그램이다.

각 과목의 총점과 평균구하기
위 그림의 결과

다차원 배열의 활용

1. 빙고판을 만들고 입력받은 숫자를 빙고판에서 지우는 프로그램을 살펴보자.

빙고맞추기 프로그램
위 그림의 결과

먼저 5*5의 빙고판을 만들기 위해서 2차원배열 행과 열 모두 5로 설정한다.

그 다음, 1~25까지 배열의 값에 저장을 해준 다음,

Math.random * 5를 통해 0~4까지의 랜덤값을 bingo[x][y]로 설정한다음,

tmp를 이용해 1~25까지 설정해놨던 값을 뒤섞어준다.

 

그럼 위 그림의 결과 처럼 1~25까지의 숫자가 섞이게 되고,

입력값을 받은 다음 입력값이 있을 경우 값을 0으로 바꾸어준다.

 

2. 영어 단어를 보여주고, 뜻을 맞추는 프로그램을 살펴보자.

단어 맞추기
위 그림의 결과

이 프로그램은 위의 프로그램보다 간단하다.

처음에는 words[i][0]번째 들만 출력하여, 영단어를 보여주고

입력받은 값을 통해 그 값이 words[i][1]과 맞으면 정답이고,

그게 만일 틀린다면 위 그림의 결과처럼 정답을 출력해주는 간단한 프로그램이다.

 

 

저작자표시 (새창열림)

'JAVA > Basic' 카테고리의 다른 글

[JAVA-basic] 변수와 메소드  (0) 2021.08.11
[JAVA-basic] 클래스와 객체  (0) 2021.08.11
[JAVA-basic] String배열  (0) 2021.08.06
[JAVA-basic] 배열  (0) 2021.08.04
[JAVA-basic] 형변환  (0) 2021.07.28
    'JAVA/Basic' 카테고리의 다른 글
    • [JAVA-basic] 변수와 메소드
    • [JAVA-basic] 클래스와 객체
    • [JAVA-basic] String배열
    • [JAVA-basic] 배열
    쏭식
    쏭식

    티스토리툴바