1. 배열(Array)
- 배열복사
- 향상된 for문
- 배열 초기화 리스트, 배열 초기자(Initializer)
1. 배열(Array)
(1) 배열 복사
a. 값형 복사 - Side Effect가 없다.
int a = 10;
int b;
b = a;
System.out.println(a);
System.out.println(b);
a++;
System.out.println(a);
System.out.println(b);
//output
----> 10
----> 10
----> 11
----> 10
// a의값을 b에 대입하고, a가 증감했지만 b는 여전히 a의 초기값인 10이다.
b. 배열 복사(참조형 복사) - Side Effect가 있다. => 복사된 변수가 있었을 때, 그 중 하나를 조작하면 나머지도 영향을 받는다.
public static void output(int[] num) {
for (int i=0; i<num.length; i++) {
System.out.printf("%d ", num[i]);
}
System.out.println();
} //배열에 값 넣기
int[] a = new a[3];
a[0] = 100;
a[1] = 200;
a[2] = 300;
output(a);
int[] b = new b[3];
b = a;
output(b);
a[0] = 500; // a[0]의 값 변경
output(a);
output(b);
//output
----> 100 200 300 //원래 a[0,1,2]값
----> 100 200 300 //b=a 대입받은 b[0,1,2]값
----> 500 200 300 //변경된 a[0,1,2]값
----> 500 200 300 //대입 안했지만 같이 변경된 b[0,1,2] 값
(2) 향상된 for문
- 배열이나 컬렉션을 대상으로만 사용가능(iterator를 지원하는 자료형에 한해서)
- 루프 변수가 없다. (안정성 높으며 코드가 간결해진다.)
- 배열의 모든 요소를 순차적으로 자동 탐색한다.
- 속도가 for문보다 빠르다.
- 읽기 전용 반복문. (요소의 값을 수정 할 수 없다.)
<형식>
for (타입 변수 : 집합) {
실행코드;
}
(3) 배열 초기화 리스트, 배열 초기자(Initializer)
int[] test1 = new int[] {1,2,3,4,5};
int[] test2 = {1,2,3,4,5};
//위 두 방법 모두 사용 가능하며, 밑에 방법이 더 간결하다.
MEMO>
# 배열은 for문이랑 한쌍이다!
# 배열을 그림으로 천천히 생각해보자.
'인천일보아카데미 > - 학습일지' 카테고리의 다른 글
[학습일지]JAVA교육일지 26일차 (0) | 2022.06.08 |
---|---|
[학습일지]JAVA교육일지 25일차 (0) | 2022.06.08 |
[학습일지]JAVA교육일지 22일차 (0) | 2022.06.04 |
[학습일지]JAVA교육일지 21일차 (0) | 2022.06.02 |
[학습일지]JAVA교육일지 20일차 (0) | 2022.05.31 |