왜 공부에 대한 의욕은 사그러들까??
매일매일 공부를 하고 싶다면 좋을텐데 말이다. 🤔
오늘은 자바에서 다루는 배열에 대해서 공부하겠다.
또한 자바는 배열을 쉽게 다룰 수 있도록 ArrayList클래스를 제공하는데
이후에 이 클래스에 대해서도 자세히 살펴보려고 한다.
일단은 배열에 대한 기본적인 이해를 해보자!!
🤔 동일한 자료형을 가진 변수를 여어어ㅓ어러개 반복해서 사용해야할때 효율적으로 쓸 수 있게한다.
//타입[] 배열이름 = new 타입[배열길이];
int[] studentIDs = new int[10];
실제 값을 넣기
//생성된 배열에 실제 값을 넣는 것이다
studentIDs[0] = 10;
case1. new예약어를 사용하면서 한번에 초기화하기
⚠️new int[]안에 따로 갯수를 넣지 말아야한다.
int[] studentIDs = new int[] {1,2,3,4,5,6,7,8,9};
case2. nem예약어를 사용하지 않고 초기화하기
선언과 동시에 초기화 할 경우에는 new int[]를 생략할 수 있다.
int[] studentIDs = {1,2,3,4,5,6,7,8,9};
case3. 자료형을 선언하고 초기화하기
이때는 new
예약어를 생략할 수 없다.
int[] studentIDs;
studentIDs = new int[] {1,2,3,4,5,6,7,8,9};
인스턴스 생성시에 new
를 사용하는 것은 다들 알 것이다.
배열 생성시에도 new
예약어를 사용한다.
🤔 class 배열은 어떻게 만들어야할까?
클래스형[] 배열이름 = new 클래스형[개수];
new예약어를 사용하기는 했지만 이는 클래스배열을 만든 것뿐이다.
실제 값(인스턴스)를 초기화하는 과정이 필요하다.
배열이름[인덱스값] = new 셍성자();
[]
를 사용한다.배열이름[인덱스값]
✍️예시코드
//studentIDs의 첫번째 요소
studentIDs[0]
⚠️ 전체 배열 길이
≠ 유효한 요소 값
legth
속성배열의 전체길이를 나타내는 속성
전체 배열 길이
: 배열을 선언 할 때 설정한 배열의 전체 길이
studentIds.length // 배열studentIds의 전체길이를 나타낸다.
🤔전체 배열 길이
≠ 유효한 요소 값
처음 배열을 선언할 때 지정한 길이와 일치하게 배열값을 사용하는 경우는 드물다.
따라서 전체 배열길이를 나타내는 length
사용이 적절하지 않은 경우가 있다.'
✍️ 예시코드
public class ArrayTest1 {
public static void main(String[] args) {
int[] array = new int[5];
//3번째 요소까지만 값 초기화
array[0]=0;
array[1]=1;
array[2]=2;
for (int i=0 ; i<array.length; i++ ) {
System.out.println(array[i]);
// 4,5번째 요소는 초기화되지 않았기 때문에 0으로 출력
}
}
}
👉 실행화면
0
1
2
0
0
➕초기화되지 않은 배열의 값은?
사실 배열은 선언과 동시에 각 요소의 값이 초기화가 된다. 따라서 따로 초기화하지 않은 4,5번째 요소 값도 0으로 출력되는 것을 확인할 수 있다.
정수 : 0
실수 : 0.0
객체 : null
유효한 요소 값
: 실제 유효한 값이 담겨있는 의미 있는 배열 요소유효한 요소 값을 체크하는 방법
: 따로 정수 변수를 선언하고 요소에 값을 넣을때마다 증가 연산자 ++
를 이용한다.
✍️ 예시코드
public class ArrayTest1 {
public static void main(String[] args) {
int[] array = new int[5];
//일반 변수는 자동 초기화되지 않기 때문에 증감연산자(++)를 쓰려면 초기화과정을 가져야한다.
int size = 0;
//3번째 요소까지만 값 초기화
array[0]=0; size++;
array[1]=1; size++;
array[2]=2; size++;
for (int i=0 ; i<size; i++ ) {
System.out.println(array[i]);
}
}
}
👉실행화면
0
1
2
for( 변수 : 배열 ){
}
✍️ 예제코드
String[] strArray = {"코코","초코",};
for( String n : strArray) {
System.out.println(n);
}
👉 실행화면
코코
초코
객체와 동일한 new예약어를 사용하기 때문에 객체 배열은 생성시 주의해야한다!
배열선언과 초기화를 기억하자!
다음에는 배열을 복사하는 방법에 대해서 배워보겠다.
글이 잘 정리되어 있네요. 감사합니다.