[Java] 다차원 배열

2022. 6. 23. 19:10· Programming/Java
목차
  1. 다차원배열

다차원배열

배열의 논리적 메모리 구조가 2차원 이상의 형태를 보이는 배열을 가리켜 '다차원 배열' 이라고한다.

즉 2차원배욜도 다차원 배열이고, 3차원 배열도 다차원 배열이다.

그러나 일반적인 프로그램에서는 2차원을 초과하는 구조의 배열을 잘 이용하지 않는다.

따라서 설명의 초점을 2차원 배열에 두고자 한다.

 

2차원 배열

1차원 배열은 그 이름이 의미하듯이 둘 이상의 변수가 '선의 형태' 로 존재하는 배열이다

반면 2차원 배열은 다수의 변수가 '면의 형태'로 존재하는 배열이다.

 

2차원 배열의 생성 방법

int[][] array4 = new int[3][4];

- int[][]은 int형 2차원 배열의 참조형 변수를 의미하고

- new int[3][4]에서 3은 배열의 세로 길이를, 4는 가로길이를 의미한다.

 

2차원 배열에 값을 저장하는 방법

array4[0][0] = 10;

- 만약 array4[1] =10; 이렇게 사용하면 오류!

- array4[1] 은 또 다른 1차원 배열을 가리 킬 수 있는 참조형 변수이기때문에 값을 담을수는 없다.

 

가변크기의 2차원 배열을 생성하는 방법

int[][] array5 = new int[3][];
    //위와 같이 선언하면 array5는 3개짜리 배열을 참조한다. 3개짜리 배열은 아직 참조하는 배열이 없다는 것을 의미.

    array5[0] = new int[1]; //정수를 하나 담을 수 있는 배열을 생성해서 array5 의 0 번째 인덱스가 참조한다.  
    array5[1] = new int[2]; //정수를 두개 담을 수 있는 배열을 생성해서 array5 의 1 번째 인덱스가 참조한다.  
    array5[2] = new int[3]; //정수를 세개 담을 수 있는 배열을 생성해서 array5 의 2 번째 인덱스가 참조한다.

 

선언과 동시에 초기화 하는 방법

int[][] array6 = {{1}, {2,3}, {4,5,6}};
    //위와 같이 선언할 경우 array6[0][0] 는 1이다. array6[1][0]은 2이다.

 

2차원 배열의 예시(구구단)

public class FinalTest3 {

	public static void main(String[] args) {

		int[][] gugudan = new int[10][16];   
		
		for (int i = 5; i <=7; i++) {
			System.out.println(i + "단");
			
			for (int j = 1; j < gugudan[i].length; j++) {        
				gugudan[i][j] = i * j;                                       
				                                                              
			System.out.print(i + "x" + j + "=" + gugudan[i][j] + "|");
				                          // 배열 출력
				if (j == 15 ) {
					System.out.println("");     // i x j(9)가 되면 줄 건너뛰기
				}
			}
		}
	}
}

- 위 코드는 5 * 1 부터 7 * 15까지의 곱을 나타내는 식이다.

- new int[10] 부분이 단수, new int[16]이 곱해지는 수의 배열이다. (위 상황에선 15까지의 곱을 나타내야 하므로 배열이 16이 된다.)

 

소스코드 결과 화면

 

저작자표시 (새창열림)

'Programming > Java' 카테고리의 다른 글

[JAVA] API Documentation 확인하기  (0) 2022.06.10
  1. 다차원배열
'Programming/Java' 카테고리의 다른 글
  • [JAVA] API Documentation 확인하기
po3nyo
po3nyo
po3nyo
공부기록장
po3nyo
전체
오늘
어제
  • 분류 전체보기 (208)
    • Programming (13)
      • HTML (0)
      • JavaScript (1)
      • CSS (1)
      • PHP (1)
      • Java (2)
      • Database (7)
      • Python (1)
      • C (0)
    • Web Hacking (28)
      • Web (14)
      • DVWA (12)
      • Bee-Box (0)
    • Reverse Engineernig (11)
      • study (11)
      • lena (0)
    • System Hacking (0)
    • Forensics (0)
    • Cryptography (0)
    • Wargame (58)
      • root-me.org (19)
      • webhacking.kr (0)
      • los.rubiya.kr (0)
      • TryHackMe (0)
      • HackerFactory.co.kr (0)
      • dreamhack.io (0)
      • picoctf.org (27)
      • Hackme.org (11)
      • CTF (1)
    • OS (6)
      • Windows (1)
      • LINUX (5)
    • Algorithm (22)
      • BOJ (22)
      • 기타 (0)
    • Tools (14)
    • Etc (7)
    • 알쓸신잡 (5)
    • 전공 (40)
      • 운영체제 (11)
      • 정보통신 (13)
      • 소프트웨어공학 (9)
      • 컴퓨터 구조 (7)

블로그 메뉴

  • 방명록

공지사항

인기 글

태그

  • html
  • order by절
  • 정보보호
  • OWASP
  • Python
  • SQL
  • Hackme.org
  • sql 조건문
  • 정보통신
  • 취약점
  • 침투
  • php
  • dvwa
  • rootme
  • sql 데이터타입
  • 웹해킹
  • mus1c
  • writeup
  • Hackmechallenge
  • sql 분법
  • wirteup
  • 정보보안
  • Infosec
  • 레코드 제한
  • picoCTF
  • ceate
  • 모의해킹
  • dvwa실습
  • 알쓸신잡
  • rootmeorg

최근 댓글

최근 글

🔒 · Designed By 정상우.v4.2.2
po3nyo
[Java] 다차원 배열
상단으로

티스토리툴바

단축키

내 블로그

내 블로그 - 관리자 홈 전환
Q
Q
새 글 쓰기
W
W

블로그 게시글

글 수정 (권한 있는 경우)
E
E
댓글 영역으로 이동
C
C

모든 영역

이 페이지의 URL 복사
S
S
맨 위로 이동
T
T
티스토리 홈 이동
H
H
단축키 안내
Shift + /
⇧ + /

* 단축키는 한글/영문 대소문자로 이용 가능하며, 티스토리 기본 도메인에서만 동작합니다.