일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 자바스크립트
- html/css
- JSP/Servlet
- 상속
- 자바 실습
- 오블완
- c언어
- 파이썬
- 머신러닝
- 디버깅
- 자바스크립트심화
- 정보처리기사필기
- 데이터베이스
- 자바
- 순환신경망
- 중학수학
- 딥러닝
- rnn
- CSS
- 혼공머신
- 컴퓨터비전
- 정보처리기사실기
- SQL
- 데이터분석
- JDBC
- 컴퓨터구조
- JSP
- 중학1-1
- 연습문제
- 개발일기
- Today
- Total
클라이언트/ 서버/ 엔지니어 "게임 개발자"를 향한 매일의 공부일지
배열 1 - 배열 기초 본문
남은 시간 동안 배열 학습을 진행해 보기로 했다. 오늘 저녁에 for문과 배열 보충 수업이 있으니 그전에 배열을 어느 정도 알고 가야 좋을 것 같았다. C 언어에서도 배열 학습을 진행했지만 거의 이해를 하지 못했다.
이 시간을 통해 배열을 확실히 짚고 넘어가야겠다. 기본 개념은 어느 정도 잡히겠지.
이론 1 - 배열
배열은 변수가 여러 개이고, 여러 개의 값을 가질 수 있는 변수이다. 이 성적들의 공통점은 무엇일까?
전체를 변수로 싶을 때 배열을 선언한다.
동일한 자료형의 값을 여러 개 저장하는 것이다.
배열을 선언할 때는 숫자를 명시해서는 안된다. 선언이 아닌 생성과만 관련이 있다. 이렇게 하면 오류가 발생한다.
scanner에서 처럼 new라는 키워드를 사용한다. 이 둘은 공통점이 있다. 둘 다 객체이기 때문에 생성을 해야 하는 것이다. 이 개념은 OPP에서 본격적으로 배우게 된다.
어제부터 OPP를 나갔는데 정말 어려웠다. 이 공부를 마치면 자바2에서 이런 부분을 학습해 볼 생각이다.
선언을 할 때는 배열의 길이를 명시하지 않지만, 생성을 할 때는 명시해준다.
우리가 설정하지 않아도 자동으로 초기값이 들어간다.
초기값은 자료형마다 다른데, 문자열에서 null은 다음과 같은 뜻을 내포한다.
- 할당되지 않았다
- 값이 없다
문자열은 맨 처음에 null로 초기화된다.
배열을 사용하기 위해서는 인덱스가 필요하다. 3개의 값을 직접적으로 접근할 때는 0부터 시작한다.
자료형 별로 이렇게 배열이 생성된다.
data[0] = 123; 첫 번째 값이다. 이것은 배열의 첫번째 칸에 123을 넣겠다는 의미이다.
배열의 변수 이름은 복수형을 사용하는 것이 좋다. 값을 입력 또는 할당하여 이런 식으로 표현할 수 있다.
값을 넣지 않은 배열은 null 값이 된다.
변수를 사용하는 사람은 몇 개인지 모르므로 배열의 길이를 출력해 볼 수 있다. length는 속성, 필드라고 한다.
배열의 길이가 170이므로 배열은 0부터 169까지 된다.
다른 방법으로 배열 사용하기
배열의 선언, 생성, 초기화를 한 번에 할 수 있다
예시에서는 new int[5] 등이 생략되었다. 이렇게 쓰면 변수의 타입을 바로 알 수 있고, 개수를 세지 않아도 컴파일러가 자동으로 계산해 준다. 그리고 값까지 초기화를 하여 한 줄에 표시할 수 있다.
이번 영상은 정말 길었지만 배열의 기본을 다룰 수 있는 정말 중요한 내용이었다.
퀴즈 1 - 배열에 대한 설명으로 옳은 것은?
- 맞다. 초기값을 따로 정해주지 않아도 0으로 자동 초기화된다.
- 하나의 자료형만 담을 수 있으며, 여러 자료형을 담는 것은 구조체이다.
- 선언할 때는 길이를 명시해서는 안된다.
- int date[] = new int[3];이라고 써야 한다.
- 배열의 인덱스는 0부터 시작한다.
처음에는 0이 아니라 아무것도 들어있지 않은 거였다. 0인 줄 알았다. 이 배열 선언 방법은 맞다고 한다.
배열의 선언과 생성 방법을 다시 한번 숙지해야 할 것 같다. 선언과 초기화가 헷갈린다. 선언은 그냥 자료형이 있다고 말해주는 거고, 초기화는 값을 넣어주는 것 같다.
실습 1 - 배열 생성과 출력
조금 어려웠지만 배운 것을 다시 훑어보며 혼자서 문제를 풀었다~
실습 2 - 배열 길이 확인하기
문제 풀기
1번은 맞았지만 2번은 틀렸다. 어떻게 푸는지 몰라서 영상을 참고해 보았다. 난 그냥 배열의 마지막 길이를 뺀 거였다. 이게 아니고 값을 구해야 한다.
이 문제는 다음에 다시 한번 풀어야겠다. 아직 혼자서 푸는 건 어려우니 연습을 많이 해야 할 것 같다~
학습을 마치고
오늘 새벽에는 이렇게 배열 첫 번째 단원까지 학습해 보았다. 배열과 반복문, for문 등이 있는데 이 부분은 보충수업 끝나고 집에 와서 공부해 봐야겠다. 이제 배열이 무엇인지 조금 알 것 같다.
그동안 배열을 공부하지 않은 게 아니고 수업도 듣고 책도 보며 동영상도 진짜 많이 시청하며 학습했는데 왜 아직까지도 배열을 알지 못했나 의문이 들었다.
그건 아마도 이해보다는 기억해서 문제를 풀고 코딩하는데 집중했기 때문인 것 같다. 개념을 확실히 짚지 않고 그저 문제만 푸는 것은 별 의미가 없다. 새로운 문제가 나왔을 때 풀지 못할 가능성이 크다. 이제 나머지 시간에는 얼마 남지 않았지만 어제 배운 HTML 공부를 해볼 것이다.
'프로그래밍 언어 > 자바' 카테고리의 다른 글
배열 3 - 이차원 배열 (0) | 2024.08.06 |
---|---|
배열 2 - 배열과 반복문 (0) | 2024.08.06 |
코드 흐름 제어 5 - 미션 문제 풀고 단원 마무리하기 (0) | 2024.08.06 |
코드의 흐름 제어 4 - 반복문 더 알아보기 (0) | 2024.08.06 |
코드의 흐름 제어 3 - 반복문 (0) | 2024.08.06 |