- 특정 조건에 따라 연산을 반복해서 수행하고 싶을때 사용하는 문맥입니다.
- for (초기값; 조건문; 증가연산) { (연산) } 형태로 사용합니다.
- or 소괄호 안에 값이 3개나 들어가기 때문에 이걸 2개로 줄여주는 방법이 향상된 for문 입니다.
- 향상된 for 문은 연속된 변수목록을 출력할때 쓰입니다.
- for (변수 타입 변수 명 : 목록변수) { (연산) } 형태로 사용합니다.
- 변수 타입 과 변수 명 은 for 문안에서 연산을 수행할 변수를 정의 합니다.
- 목록변수는 3,6,9,12,15 처럼 값여러개를 하나의 변수로 저장하고 싶을때 사용합니다.
```java
// 향상된 for 문
int[] numbers = {3,6,9,12,15};
for(int number: numbers) {
System.out.print(number + " ");
}
// 출력
3 6 9 12 15
```
While 문, do-while문
- for 문과 동일하게 특정 조건에 따라 연산을 반복해서 수행하고 싶을때 사용하는 문맥입니다.
- 다만, 초기값 없이 조건문만 명시하여 반복합니다.
- while(조건문) { (연산) } 형태로 사용합니다. (while 문)
- 위처럼 while 문으로 사용하면 조건문을 만족해야지만 연산이 반복수행됩니다.
- 한번 반복할때마다 조건문을 체크해서 조건문이 불만족(false) 이면 반복을 중단합니다.
- do { (연산) } while(조건문) 형태로도 사용합니다. (do-while 문)
- 위처럼 do-while 문으로 사용하면 최초 1회 연산수행 후 조건문을 체크하여 더 반복할지 결정합니다.
- 반복하게 된다면 그 이후에는 한번 반복할때마다 조건문을 체크해서 조건문이 불만족(false) 이면 반복을 중단합니다
// while 문
int number = 0;
while(number < 3) {
number++;
System.out.println(number + "출력");
}
// 출력
1출력
2출력
3출력
// do-while 문
int number = 4;
do {
System.out.println(number + "출력");
} while(number < 3); // 연산을 한번 수행 후 조건문 체크
// 출력
4출력
break 명령
- break; 명령을 호출하면 가장 가까운 블럭의 for 문 또는 while 문을 중단합니다. (또는 switch)
- 반복문 안에서 break; 형태로 사용합니다.
// break 명령
int number = 0;
while(number < 3) {
number++;
if (number == 2) {
break; // 2일때 반복 중단
}
System.out.println(number + "출력");
}
// 출력
1출력
// break 명령 범위
for (int i = 0; i < 10; i++) {
System.out.println("i: " + i);
if (i == 2) {
break; // i 가 2일때 가장 바깥 반복문이 종료됩니다.
}
for (int j = 0; j < 10; j++) {
System.out.println("j: " + j);
if (j == 2) {
break; // j 가 2일때 가장 안쪽 반복문이 종료됩니다.
}
}
}
// 출력
i: 0 // 바깥 반복문 부터 수행 시작
j: 0 // 안쪽 반복문 1회차 수행
j: 1
j: 2 // j 가 2일때 안쪽 반복문 break;
i: 1 // 바깥 반복문은 아직 break; 호출이 안됬으므로 다음 반복수행
j: 0 // 안쪽 반복문 2회차 수행
j: 1
j: 2 // j 가 2일때 안쪽 반복문 두번째 break;
i: 2 // i 가 2일때 바깥 반복문도 break; 호출되어 종료
Continue 명령
- for 문 또는 while 문에서 해당 순서를 패스하고 싶을때 continue 명령을 사용합니다.
- 반복문 안에서 continue; 형태로 사용합니다.
// continue 명령
int number = 0;
while(number < 3) {
number++;
if (number == 2) {
continue; // 2일때 반복 패스
}
System.out.println(number + "출력");
}
// 출력
1출력
3출력
'Java' 카테고리의 다른 글
2차원 배열과 3차원 배열 (0) | 2023.04.03 |
---|---|
참조 변수의 얕은 복사, 깊은 복사 + String 메소드 (0) | 2023.04.03 |
비트연산자, 연산자 우선순위 (0) | 2023.04.03 |
삼항 연산자 (0) | 2023.04.03 |
기본형 변수와 참조형 변수 그리고 래퍼 클래스 변수 (0) | 2023.04.03 |