자바타입은 크게 기본타입과 참조타입으로 분류한다.
참조타입은 객체 번지를 참조하는 타입으로 배열, 열거, 클래스, 인터페이스가 있다.
이제 배열에 대해 알아보자
🙋 점수를 넣는 score배열이 있다고 하자
int[] array1 = { 1, 2, 3, 4, 5 }; // 생성과 동시에 1,2,3,4,5 초기화
// for콘솔에 모든 요소를 출력
for (int i = 0; i < array1.length; i++) {
System.out.println("array1[" + i + "]=" + array1[i]);
}
int[] arr1 = {1,2,3,4,5};
for(int el: arr1) {
System.out.println(el);
}
<aside>
✅ 배열 변수명.lengh;
</aside>
- 여기서 .은 객체접근연산자
- 값을 변경할 수는 없다.
1) 값 목록으로 배열 생성
값을 알고 있다면 간단하게 배열 객체를 생성할 수 있음
✅ 타입 [ ] 변수 = { 값0, 값1, 값2, 값3, … };
값을 바꾸고 싶다면 대입연산자를 이용
✅ 변수 [ 해당 인덱스] = “ 값
배열 변수를 먼저 선언한 후에 중괄호로 값을 넣을 수 없음 → new연산자 사용
✅ 타입 [ ] 변수;
변수 = { 값0, 값1, 값2, ….}; **→컴파일 에러**
2) new 연산자로 배열 생성
값의 목록을 가지고 있지 않지만 , 향후 값들을 저장할 배열을 미리 만들고 싶을 때
✅ 타입 [ ] 변수1 =new 타입[길이];
✅ 변수 [ 해당 인덱스] = “ 값 “;
해당타입의 데이터를 저장할 수 있는 배열 변수1을 선언했다.
변수에 값저장하는 방법
길이는 배열이 저장할 수 있는 값의 개수를 말함
이미 배열 변수가 선언한 뒤에도 new연산자로 배열을 생성할 수 있음
변수 선언과 동시에 값을 초기화 → 개수가 정해져 있음
⭕ 타입[ ] 변수 = new 타입 [ ] { 값0, 값1, 값2, …};
실제로 잘 쓰이지 않기 때문에 중요한 부분은 아니다.
개념적으로 정리하고 구별할 정도로만 공부한다.
✅ int [ ][ ] 변수 = new int [3][4];
int형 데이터를 저장할 수 있는 3행, 4열의 배열을 생성했다.
행수: 변수.length;
열수: 변수[0].length;
역시 0부터 시작한다.
0열 | 1열 | 2열 | 3열 | |
---|---|---|---|---|
0행 | (0,0) | (0,1) | (0,2) | (0,3) |
1행 | (1,0) | (1,1) | (1,2) | (1,3) |
2행 | (2,0) | (2,1) | (2,2) | (2,3) |
{5,6,7,8}
{9,10,11,12}
}
3행 4열 배열 각각의 숫자가 좌표에 해당
arr[0][0] → 1
기본 타입 배열은 각 항목에 직접 값을 갖고 있지만 참조 타입배열은 각 항목에 객체의 번지를 가지고 있다.
String[ ] 배열 항목 안의 문자열을 비교하기 위해서는 equal() 메소드 이용한다.
String[ ] array1 = new Sting[3];
array1[0] = “java”
array1[1] = “C++”
array1[2] = “C”
객체만 다루는 for문을 foreach문이라 한다.
모든 객체의 요소를 가져온다(get).
간편하여 많이 사용한다.
신용권, 『혼자공부하는 자』, 한빛미디어(2023)