KeyWords : 반복문, 기타 제어문, 배열
: 조건식이 참인동안 코드를 반복실행
ex) for문, while문, do-while문
실행 순서 : 초기식 -> 조건식 -> 실행할 코드 -> 증감식 -> 조건식 -> 실행할 코드 -> 증감식 -> 조건식 -> 실행할 코드 -> ...
for (int i = 1; i < 51; i++) {
System.out.println(i);
}
for (int i = 50; i >= 1; i--) {
System.out.println(i);
}
for (int i = 2; i < 51; i += 2) {
System.out.println(i);
}
while (조건식){
조건식이 참일때 실행될 코드;
}
do {
반복 실행할 코드;
} while (조건식);
: 즉시 해당 중괄호 영역을 탈출하고 아래로 내려감
for (int i = 0; i < 5; i++) {
if (i == 3) {
break;
}
System.out.println(i);
}
// result : 0 1 2
: 즉시 다음 반복으로 진행
--> 아래의 코드를 특정 조건에 실행하지 않기 위해 사용
for (int i = 0; i < 5; i++) {
if (i == 3) {
continue; // 3일땐 그냥 아래 코드가 실행이 안됨
}
System.out.println(i);
}
// result : 0 1 2 4
array : 저장공간의 나열
stack : 이름으로 접근
heap : 주소로 접근
🐚 변수 : []
🐚 배열 : [][][][][]
🐚 배열의 사용 목적
1. 저장공간 여러개를 이름 한개로 관리
2. 규칙이 없는 값에 규칙성을 부여
🐚 배열의 선언
자료형[] 배열명 = {값1, 값2, 값3,...};
[] arr = {1,2,3,4,5};
→ 배열에 어떤 값을 넣을지 알 때 사용
자료형[] 배열명 = new 자료형[칸 수];
int[] arr = new int[5];
→ 배열에 필요한 칸 수를 알고 있으나 어떤 값을 넣을지는 모를때 사용
→ new : heap 메모리 영역에 배열을 할당하고 주소값을 돌려줌
자료형 [] 배열명 = null;
int[] arr = null;
double[] arr = null;
→ 배열에 어떤 값도, 몇칸이 필요한지도 모를때 사용
→ null : 주소값이 무엇인지 아직 모를때 사용
🐚 배열의 구조
ex) int[] arr = new int[3];
"Stack 영역" "Heap 영역"
[첫번째 저장공간의 주소값] [ ][ ][ ]
arr 0번 1번 2번 <== index
* 저장공간 한개에는 하나의 값만 담을 수 있기 때문에 여러개의 값을 담으려면 여러개의 저장공간이 필요
* 이때 여러개의 저장공간은 new 연산자를 통해 heap 메모리 영역에 할당되고 heap 메모리 영역은 주소를 통해
접근해야하기 때문에 그 중 제일 앞에 있는 저장공간의 주소값을 stack영역의 변수에 저장해서 사용
* 제일 앞에 있는(첫번째) 저장공간의 주소값으 알기 때문에 나머지 저장공간을 index번호를 통해 접근 가능
** 배열명[인덱스번호] 형식으로 접근 → arr[3]
🐚 배열의 사용
int[] arr = {5,6,7,8,9];
arr[0] = 10; // 저장공간
System.out.println(arr[1}+10); // 값
arr[1] = arr[1] + 27 // 저장공간, 값
int num = arr[0]; // 저장공간, 값
arr[15] = 37; // Error