자바 코드는 기본적으로 위에서 아래로 코드가 실행횐다. 하지만 모든 코드가 순차적으로 실행될 수 없다.
순서 변경하거나코드 반복,건너 뛰기등 순서를 제어 해야하는 경우가 발생한다. 이 경우, 선택문(if-thenif-then-elseswitch)과 반복문(forwhiledo-while), 분기문(breakcontinue)을 이용해 실행흐름을 제어할 수 있다.
-
if-then은 지정한 조건을 만족할 때, 지정한 내부 블록을 실행한다.if(codition) { //condition == true 시, 실행할 블록 }
-
if-then-else는 지정한 조건을 만족할 경우(true),if블록을 실행하고, -
조건은 만족하지 못할 경우(false),
else블록을 실행시킨다.if(condition) { //condition == true 시, 실행할 블록 } else { //condition == false 시, 실행할 블록 }
-
if문을 조건을 만족 시키지 못하지만 **추가 조건(condition)**이 필요한 경우
else if문을 사용한다.if(A_condition) { //A_condition == true 시, 실행할 블록 } else if (B_condition) { //A_condition == false && B_condition == true 시, 실행할 블록 } else { //A_condition == false && B_condition == false 시, 실행할 블록 }
- 같은 작업을 반복하는 부분이 필요한 경우에 사용하는 구문.
- 종류 :
for,whiledo-while
for(초기화; 조건식; 증감식) {
//조건식이 참(true)가 되는 경우, 반복 수행할 구문
}-
Iterable interface를 구현한 class에 대해서 사용가능한 for문
(ex. Collectiion : 모든 collection은 Iterable을 상속받고 있다. )
-
장점 : 코드가 직관적이다.
for(type var : iterate) {
//ierate를 순회하면서 수행할 구문
}
//예시
Elememt[] array = new Element[10];
List<Element> elementList = Arrays.asList(array);
for(Element e : elementList) {
System.out.println(e); // elementList 내부의 원소들의 정보 출력
}while(condition) {
//조건식이 참(true)가 되는 경우, 반복 수행할 구문
}do {
//일반 한번 실행하고 조건(condition)을 확인한다.
//조건식이 참(true)가 되는 경우, 반복 수행할 구문
} while(condition);-
현재 위치의 가장 가까운 반복문을 탈출할 때 사용하는 분기문.
-
주의! 이중 반복문에서 내부 반복문 탈출 시, 전체 탈출X
for(int i = 0; i < 10; i++) { if(i == 5) { break; } System.out.print(i); } //결과 : 1234
loop: for(int i = 0; i < 10; i++) { for(int j = 0; j < 10; j++) { if(j == 5) { break loop; } } }
-
반복문 진행 시, continue 이후 문장들을 수행하지 않고 넘어감.
-
break와 차이점break: 반복문을 탈출한다.contine: continue 아래 지점만 수행하지 않고 다음 구문은 실행
for(int i = 0; i < 10; i++) { if(i == 5) { contnue; } System.out.print(i); } //결과 : 12346789