-
CHAPTER 5. (1) 배열이란?java/ㄴ CHAPTER 5. 배열 2020. 3. 17. 20:26
변수는 값을 하나밖에 담지 못함
- 만약 10000개 데이터 저장하기 위해 같은 수의 변수를 선언해야 한다면 매우 힘듬= 이럴때 사용하는 것이 배열
배열
같은 타입 여러 변수를 하나의 묶음으로 다루는 것
특징
- 같은 타입만 묶음 가능 (다른 타입은 묶을 수 없음)
- 각 저장공간이 연속적으로 배치됨
★ 만들어진 변수는 배열을 다루는데 필요한 참조변수 (저장 공간 아님)
- index로 상수 대신 변수, 수식 사용 가능
- JVM이 모든 배열 길이를 별도 관리
- 생성시 길이 변경 불가 (값 읽기만 가능, 변경 불가)
실제 자바 프로젝트 배열 많이 안씀
- 불편함 (훨씬 편리한 게 있음)
(실제에선 배열보다 리스트를 많이 쓸 거임)
배열 선언
ㄴ 타입[] 변수이름;
ex. int[] a;
배열 생성
ㄴ 변수이름 = new 타입[길이];
ex. a = new int[5];
배열 선언, 생성 동시
ex. int[] a = new int[5];
ㄴ bl, char는 배열로 자주 만들지 않음
요소element
- 생성된 배열의 각 저장공간
인덱스index
- 배열의 요소마다 붙여진 일련번호
배열이름.length
- 배열의 길이 확인
- for문에 배열의 길이를 직접 적는 것 보다 (배열이름.length) 사용 권장
(조건식 일일이 변경하지 않아도 됨)
(모든 배열은 length라는 field를 갖고 있다)
(field는 변수같은 것)Array.toString(배열이름)
- 배열의 모든 요소를 [첫번째 요소, 두번째 요소, ...] 형식의 문자열로 반환
(import.java.util.Arrays; 추가 필요)
ex. int[] arr = {10, 20, 30}
System.out.println(Array.toString(arr));
= [10, 20, 30] 출력
바로 출력시
ex. int[] arr = {10, 20, 30}
System.out.println(arr);
= [I@14318bb] 등... 출력
왜?
ㄴ 타입@주소 형식으로 출력됨 (배열의 값이 아니라 배열을 가리키는 참조변수라서)★ ex.
1234567891011// 정수형 배열int[] scores = {10, 40, 100};// [10, 40, 100]// 실수형 배열double[] rates = {0.05, 0.001, 0.005};// [0.05, 0.001, 0.005]// ★ String형 배열String[] names = {"홍길동", "김유신", "강감찬"};// [#123, #54678, #5758] (각 홍길동, 김유신, 강감찬 객체가 생성되고, 그 객체를 가리키는 주소값이 들어감)
char 배열은 구분자 없이 그대로 출력됨
ex.char[] arr = {a, b, c, d}
System.out.println(arr);
= abcd 출력
변수 타입에 따른 기본값
ㄴ boolean : false
ㄴ char : '\u0000'
ㄴ byte, short, int : 0
ㄴ long : 0L
ㄴ float : 0.0f
ㄴ double : 0.0
ㄴ 참조형 : null
null
- 객체를 참조하지 못하게 하는 어떤 값 (어떤 값인지는 알려주지 않음)
- 기본 타입에는 null 입력 불가'java > ㄴ CHAPTER 5. 배열' 카테고리의 다른 글
CHAPTER 5. (3) 2차원 배열이란? ★ (0) 2020.03.23 CHAPTER 5. (2) String 클래스, Array 클래스 (0) 2020.03.17