개발 한번 해블로그
[Java] 7. 배열(Array) 본문
지금까지 하나의 구조를 만들면서 새로운 자료형을 만들어봤다.
그럼 앞에서 만든 Book 배열이라고 할 수 있는가? 그럼 배열이 도대체 뭔디?
1. 배열
- 배열은 한 구조에 동일한 데이터를 여러 개를 저장할 수 있는 구조를 의미한다.
1)
1 | 2 | 3 | 4 | 5 |
이건 배열 맞음
2)
이름 | 15676 | 10.4564 | 가 | True |
이건 이질적인 구조로 배열 아님
3)
a | p | p | l | e |
이건 배열 맞음
- 해당 표들은 모두 1차원 배열이며, 행과 열이 있는건 2차원 배열이라고 한다.
- 1차원 배열의 형태는 예를 들어 int[] a=new int[행]; 이다.
- 2차원 배열의 형태는 예를 들어 int[][] a=new int[행][열]; 이다.
- 배열도 객체 취급하므로 객체배열이라고 한다.
- 그리고 배열의 인덱서 시작은 [1]이 아닌 [0]부터 시작
- 예시)
a | p | p | l | e |
a[0] | a[1] | a[2] | a[3] | a[4] |
Q. 그럼 왜 배열을 사용하는 걸까?(데이터를 개별로 만들면 문제점)
- 데이터를 개별로 만들면 반복문이 사용 불가
- 데이터를 개별로 만들면 이동이 불편
<일반배열 실습>
Q1. 정수 5개를 저장할 배열을 생성하고 모든 원소에 10 저장
- for문 간단 설명
- int i=0 : 어디서부터 시작해? i가 0부터 시작
- i<a.length : 언제까지 반복해? 마지막 조건보다 하나 적게까지(여기서 length는 배열의 길이를 알 수 있는 명령어)
- i++ : i가 1씩 증가
Q2. 정수 5개를 아채러첨 배열에 초기화하고 index 0번째와 index 3번째 값을 더하여 출력
- 첫번째 실습처럼 하나씩 넣어도 되지만 한꺼번에 기입하는 것도 가능. 이것을 초기화라고 함
Q3. 아래 char[] 배열에 APPLE이라는 문자가 저장되어있다. 대문자로 된 APPLE를 소문자 apple로 출력
<실습1>
Q1. 영화 3편을 저장할 배열을 생성하고 영화 3편의 데이터를 저장하고 출력(객체배열임)
2. 2차원 배열
- 만약 3명의 학생의 3개 과목 성적을 처리해야하는 경우에 1차원 배열을 사용할 수 있을까?
- NOOOO~~ 왜냐면 1차원 배열을 3개를 만들면 앞서서 말했던 데이터를 개별로 만드는 문제로 반복문 사용이 불가능하다
- 즉 2차원 배열 1개를 만들어 연속적인 구조로 반복문을 사용할 수 있게 만들어줘야 한다.
- 2차원 배열 1개를 생성했을 때 사실 모든 행이 붙어있는 구조가 아님. 아래와 같은 구조로 되어 있음
<실습2>
Q1. 2행 4열의 정수형 배열 생성
Q2. 2차원 배열의 초기화(행 단위로 초기화)와 반복문을 활용한 원소 접근
Q3. 서로 다른 열을 가진 가변 길이 배열 만들기
배열 누가 쉽다했누,, 근데 큰 산을 넘은 것 같지만 앞에는 더 큰 산이 있다고 한다 ^^!
하지만 주말동안 엄청 큰 대박적 사건이 있었다,,
그거슨 바로,, T1 롤드컵 우승,,, 상혁이가 이번 우승은 자신이 아닌 팀을 위한 것이라는 말을 듣고 1차 눈물,,
저녁 먹으면서 우승해도 눈물 안나올것 같다고 했지만 우승하면서 울 애기들 좋아하는거보자마자 2차 눈물,,
내 인생도 페이커처럼,,,,😢
티원 우승 축하해💕
'Java' 카테고리의 다른 글
[Java] 9. 사고력 키우기 2탄 (2) | 2023.11.23 |
---|---|
[Java] 8. 내 나이 2X살, 사고력을 키워보자 (0) | 2023.11.22 |
[Java] 6. i am 만들어요 사용자정의 자료형 (0) | 2023.11.17 |
[Java] 5. 자료형 이해하기 (2) | 2023.11.15 |
[Java] 4. 프로그래밍 3대 요소만 알면 끝 (0) | 2023.11.13 |