(2021.01.17)
이번주 스터디에서는 배열을 공부했다.
이것도 C언어랑 매우 비슷해서 공부하는데 어렵지는 않았다.
이 책에서 배열 설명이 정말 잘 되어있는 것 같다.
book.naver.com/bookdb/book_detail.nhn?bid=10191151
참고도서: 자바의 정석
배열 (array)
: 같은 타입의 여러변수를 하나의 묶음으로 다루는 것
배열의 선언과 생성
// 배열 선언
타입[] 변수이름;
타입 변수이름[];
배열을 선언하는 것은 생성된 배열을 다루기 위한 참조변수를 위한 공간이 만들어지는 것이다.
데이터를 저장할 수 있는 공간은 아직 만들어지지않았다.
// 배열 생성
변수이름 = new 타입[길이];
배열을 생성하면 메모리의 빈 공간에 길이만큼의 타입형 데이터를 저장할 수 있는 공간이 만들어진다.
배열의 길이와 인덱스
인덱스(index): 배열의 요소마다 붙여진 일련번호
인덱스의 범위는 0부터 배열길이-1 까지이다.
배열의 길이는 int 범위의 양의 정수(0도 포함)이어야한다.
배열이름.length 는 상수이다.
for 문을 이용한 코드에서 배열의 길이를 직접 적기보다 배열이름.length를 이용하는 것이 더 좋다.
배열의 초기화
배열을 초기화하는 방법은 다양하다.
1. 하나하나 지정하는 방법
2. for문을 이용해서 초기화하는 방법 (일정한 규칙에 따라 저장할 때 쓰임)
3. 배열의 생성과 초기화를 동시에 하는 방법
이때는 배열의 길이가 자동으로 결정되기 때문에 괄호[ ] 안에 배열의 길이를 적을 필요는 없다.
new int[ ] 도 생략 가능하다.
※ 배열의 선언과 생성을 따로 하는 경우에는 new 타입 [ ] 생략 불가능
※ add메서드가 정의된 경우에는 new 타입 [ ] 생략 불가능
배열의 출력
배열을 출력할 때 주로 for문을 이용한다.
println 메서드는 출력 후에 줄바꿈을 하고, print 메서드는 줄바꿈을 하지 않는다.
Arrays.toString(배열이름) 매서드는 [첫번째 요소, 두번째 요소, ...] 와 같은 형식으로 반환한다.
※ char 배열은 println 메서드로 출력하면 각 요소가 바로 출력된다.
배열의 복사
배열 복사하기 1. 새로운 배열을 생성한다. 2. 기존의 배열을 새로운 배열에 복사한다. (주로 for문을 이용하여 복사함) |
System.arratcopy( )를 이용하면 배열의 복사를 좀 더 편리하게 할 수 있다.
System.arraycopy(num, 0, newNum, 0, num.length); --> num[0] 에서 newNum[0] 으로 num.length 개의 데이터를 복사 |
'Coding > Java' 카테고리의 다른 글
[Java] String 배열, 다차원 배열 (1) | 2021.01.17 |
---|---|
[Java] 커맨드 라인을 통해 입력받기 (이클립스) (0) | 2021.01.17 |
[Java] java.lang.ArrayIndexOutOfBoundsException 오류와 해결방법 (0) | 2021.01.17 |
[Java] 백준 2739번: 구구단 (2) | 2021.01.16 |
[Java] 백준 2839번: 설탕 배달 (1) | 2021.01.16 |