강의 내용
[1] 배열을 초기화하는 방법(실습)
[2] 기본 배열과 객체 배열(실습)
[1] 배열을 초기화하는 방법(실습)
초기화
기억 공간이 만들어짐(생성)과 동시에 값을 저장하는 것(기본값이 아닌 값)
배열은 생성하면 기억 공간 안에 기본적으로 기본값이 초기화 된다.
예) int의 기본값 : 0
int[] a = {10, 20, 30, 40, 50};
*초기화 리스트 : {10, 20, 30, 40, 50};
*a[ ] → [10|20|30|40|50]
변수를 만들고 바로 값을 넣을 때 초기화 리스트는 변수와 함께 한 줄에 적어줘야 함
new int[]를 하지 않더라도 초기화된다.
int[] a;
a = new int[]{10, 20, 30, 40, 50}; (O)
a = {10, 20, 30, 40, 50}; (X)
초기화 리스트를 한 줄에 적지 않는다면 new int[]를 적어줘야 함
초기화 리스트의 개수만큼 만들어져야 하기 때문에 대괄호는 비워둬야 함
초기화할 원소를 나열했기 때문에 대괄호 안에 길이는 지정하지 않아도 된다.
Q. 정수 5개를 배열에 초기화하고 index 0번째와 index 3번째 값을 더하여 출력하시오.
public class ArrayTest { public static void main(String[] args) { // Q. [정수 5개]를 [배열에 초기화]하고 index 0번째와 index 3번째 값을 더하여 출력하시오. int[] a = {10, 20, 30, 40, 50}; for (int i = 0; i < a.length; i++) { System.out.println(a[i]); } int sum = a[0] + a[3]; System.out.println("sum = " + sum); System.out.println(a.length); } }
Q. char[] 배열에 저장된 APPLE 문자를 소문자 apple로 출력하시오.
*대문자와 소문자의 아스키 코드 차이 : 32
char는 수치형 자료이므로 연산이 가능하다.
'A'(65) + 32 = 97
연산을 하게 되면 정수형이 되므로 문자로 출력하려면 char 형으로 형 변환해야 함
규칙을 찾아 반복문으로 적용하면 코드의 양을 줄일 수 있음(여러 문장을 하나의 문장으로 사용)
public class ArrayExam { public static void main(String[] args) { // Q. char[] 배열에 저장된 APPLE 문자를 소문자 apple로 출력하시오. char[] c = {'A', 'P', 'P', 'L', 'E'}; for (int i = 0; i < c.length; i++) { System.out.print((char)(c[i] + 32)); } } }
[2] 기본 배열과 객체 배열(실습)
기본 배열
기본 자료형(정수(int), 실수(float), 문자(char), 논리(boolean)을 다루는 배열
한 개의 데이터를 처리한다.
객체 배열
객체(책(Book), 회원(Member), 영화(Movie)...)를 다루는 배열
여러 개의 데이터를 처리한다.
Q. 책 3권을 저장할 배열을 생성한 다음 책 3권의 데이터를 저장하고 출력하시오.
객체 데이터를 저장하는 방법
(1) 객체 배열 생성
(2) 책 한 권의 데이터 생성
(3) 책 한 권의 데이터를 넣음
개별
Book b1, b2, b3;
b1 = new Book();
b2 = new Book();
b3 = new Book();
데이터를 각각 개별로 처리해야 하기 때문에 반복문을 사용할 수 없음
Book[] b = new Book[3];
b[0] = new Book();
b[1] = new Book();
b[2] = new Book();
데이터를 배열로(연속적) 만들면 반복문을 사용하여 쉽게 처리 가능
본 포스팅은 패스트캠퍼스 환급 챌린지 참여를 위해 작성하였습니다.