일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- C++
- numpy/pandas
- 코딩테스트
- 컴퓨터구조
- 정보처리기사실기
- CSS
- 혼공머신
- 데이터입출력구현
- 딥러닝
- 자바
- 데이터베이스
- SQL
- pandas
- 영어공부
- 파이썬
- 정보처리기사필기
- 데이터분석
- JSP/Servlet
- 운영체제
- 머신러닝
- html/css
- 중학수학
- 파이썬라이브러리
- 컴퓨터비전
- 텍스트마이닝
- 중학1-1
- 정수와유리수
- 자바 실습
- CNN
- 연습문제
- Today
- Total
클라이언트/ 서버/ 엔지니어 "게임 개발자"를 향한 매일의 공부일지
반복문과 배열 그리고 예외 처리 16 - 이차원 배열 기초 개념 본문
엘리스로 이차원 배열까지 학습을 마쳤으나 이제는 수업 영상을 들으면서 좀더 심화적인 내용을 학습해 보려고 한다. 새벽 내내 실력 확인 테스트로 배열 문제를 많이 풀어보았으니 내용이 많이 어렵지는 않을 것 같다.
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. 이차원 배열 출력하기
앞에서 비슷한 문제를 풀어보았으니 이 문제는 가능하면 혼자서 풀어보기로 했다.
이렇게 잘 출력이 되고 있다. 조금 전까지만 해도 실력 확인 테스트에서 이러한 배열 문제를 정말 어려워했는데 이제는 충분히 풀 수 있게 되었다.
학습을 마치고
이제 다음 포스트에서 이차원 배열을 다루는 더 많은 예제들을 학습해볼 것이다. 기본 개념은 이 정도도쯤 하면 충분했다. 이차원 배열을 그동안 정말 어렵게 생각했는데 학습해보니 별로 그렇지 않았다.
'프로그래밍 언어 > 자바' 카테고리의 다른 글
반복문과 배열 그리고 예외 처리 18 - 다차원 배열과 비정방형 배열 (0) | 2024.08.13 |
---|---|
반복문과 배열 그리고 예외 처리 17 - 이차원 배열 이어서 (0) | 2024.08.13 |
자바 1 실력 확인 테스트 문제 풀기 (0) | 2024.08.13 |
배열 7 - 이차원 배열과 미션 문제 실습 (0) | 2024.08.13 |
반복문과 배열 그리고 예외 처리 15 - for-each 문 (0) | 2024.08.12 |