일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
- rnn
- JSP/Servlet
- JSP
- c언어
- 데이터분석
- 상속
- 자바스크립트심화
- 혼공머신
- 자바
- 컴퓨터비전
- 파이썬
- 딥러닝
- 정보처리기사실기
- html/css
- 개발일기
- 컴퓨터구조
- SQL
- 데이터베이스
- ChatGPT
- 자바 실습
- CSS
- 디버깅
- 머신러닝
- 정보처리기사필기
- 연습문제
- 중학1-1
- 자바스크립트
- JDBC
- 중학수학
- 순환신경망
- Today
- Total
클라이언트/ 서버/ 엔지니어 "게임 개발자"를 향한 매일의 공부일지
반복문과 배열 그리고 예외 처리 17 - 이차원 배열 기초 개념 본문
엘리스로 이차원 배열까지 학습을 마쳤으나 이제는 수업 영상을 들으면서 좀 더 심화적인 내용을 학습해 보려고 한다. 새벽 내내 실력 확인 테스트로 배열 문제를 많이 풀어보았으니 내용이 많이 어렵지는 않을 것 같다.
2차원 배열
1. 이차원 배열 개념
이전에는 이렇게 하면 값이 출력이 되었지만 2차원 배열에서는 이렇게 해도 주소값이 출력되며 나오지 않는다.
2차원 배열을 하나씩 할당해주면 이와 같다.
arr2[0]에서는 전체 길이가 5이고, 0번 배열에 5였다면, arr에서는 전체 길이가 5이고 arr[0] 배열의 길이는 3이 된다. 이렇게 각각의 배열에 따라 할당되는 내부 배열이 다르기 때문이다.
조금 전에 5번 반복했던 arr2를 for문을 사용하여 줄일 수 있다. 하지만 여기서는 5라고 배열의 길이를 지정해 주었지만 arr2.length로 하면 어떤 길이에서든지 변할 수 있는 배열이 만들어진다.
for문에서 arr2의 첫번째 배열 공간만 다르고 두 번째부터는 모두 같게 반복이 되고 있음을 알 수 있다.
반복되는 부분을 for문으로 묶게 되면 다음과 같이 줄일 수 있다.
이제 이 5줄의 숫자를 출력하는 코드를 만들어보기로 하자.
어떻게 하면 5줄이 모두 출력될 수 있을까?
앞의 숫자가 바뀜에 따라 배열의 값도 이렇게 바뀌게 된다.
j 변수를 하나 추가해주었지만 같은 행이 반복되고 있다. 앞의 인덱스를 j로 바꾸어주면 이렇게 잘 출력이 된다.
여기까지 오는데 참으로 많은 단계를 거쳤다. 사실 마지막 문장 이것만 보고 지금까지 잘 이해하지 못했으나 이렇게 강의 영상을 들으며 확실히 이해할 수 있었다.
2. 이차원 배열 출력하기
앞에서 비슷한 문제를 풀어보았으니 이 문제는 가능하면 혼자서 풀어보기로 했다.
이렇게 잘 출력이 되고 있다. 조금 전까지만 해도 실력 확인 테스트에서 이러한 배열 문제를 정말 어려워했는데 이제는 충분히 풀 수 있게 되었다.
학습을 마치고
이제 다음 포스트에서 이차원 배열을 다루는 더 많은 예제들을 학습해 볼 것이다. 기본 개념은 이 정도도쯤 하면 충분했다. 이차원 배열을 그동안 정말 어렵게 생각했는데 학습해 보니 별로 그렇지 않았다.
'프로그래밍 언어 > 자바' 카테고리의 다른 글
반복문과 배열 그리고 예외 처리 19 - 다차원 배열과 비정방형 배열 (0) | 2024.08.13 |
---|---|
반복문과 배열 그리고 예외 처리 18 - 이차원 배열 이어서 (0) | 2024.08.13 |
자바 1 실력 확인 테스트 문제 풀기 (0) | 2024.08.13 |
배열 7 - 이차원 배열과 미션 문제 실습 (0) | 2024.08.13 |
반복문과 배열 그리고 예외 처리 16 - for-each 문 (0) | 2024.08.12 |