코드 실행 흐름 제어
•
자바 프로그램 실행시 main() 메소드의 위에서 아래로 실행
•
흐름 제어문 : 실행 흐름을 원하는 대로 제어
◦
조건식 + 중괄호 블럭
◦
조건식의 연산 결과에 따라 블럭의 실행 여부 결정
•
조건문 & 반복문
◦
조건문 : 블럭 실행이 완료되면 정상 흐름으로 이어감
◦
반복문 : 블럭 실행이 완료되면 처음으로 복귀 ( Looping )
◦
제어문 내부에 다른 제어문 작성 가능 → 복잡한 흐름 제어
조건문
if
if ( 조건식 ) {
...
}
Java
복사
•
조건식의 결과에 따라 블록의 실행 여부 결정
◦
조건식이 True ⇒ if{...} 블록
◦
조건식이 False ⇒ if{...} 블록
if-else
if ( 조건식 ) {
...
}
else {
...
}
Java
복사
•
if문 조건식의 결과에 따라 블록의 실행 여부 결정
◦
if문의 조건식이 True ⇒ if{...} 블록 else{...} 블록
◦
if문의 조건식이 False ⇒ if{...} 블록 else{...} 블록
if-else if-else
if ( 조건식 ) {
...
}
else if ( 조건식 ) {
...
}
else {
...
}
Java
복사
•
if문과 else if문의 조건식의 결과에 따라 블록의 실행 여부 결정
◦
if문 조건식 True ⇒ if{...} 블록 else if{...} 블록 else{...} 블록
◦
if문 조건식 False, else if문 조건식 True ⇒ if{...} 블록 else if{...} 블록 else{...} 블록
◦
if, else if문 조건식 False ⇒ if{...} 블록 else if{...} 블록 else{...} 블록
•
else if 문은 여러개 작성 가능
중첩 if
•
if문의 내부에 새로운 if문을 작성
•
다른 제어문 내부에도 if문을 작성할 수 있다.
if ( 조건식 ) {
...
}
else if ( 조건식 ) {
...
if ( 조건식 ) {
...
}
...
}
else {
...
}
Java
복사
switch
switch ( 변수 ) {
case 값1 :
...
break;
case 값2 :
...
break;
...
default :
}
Java
복사
•
변수
◦
정수 타입 : byte, char, short, int, long
◦
정수값 산출 연산
◦
String 타입
•
변수의 값에 따라 실행문을 선택
◦
변수에 해당하는 case가 없는 경우 default 실행
반복문
•
블록을 반복하는 작업에 사용
◦
코드의 라인 수 대폭 감소
for
for ( 초기화; 조건식; 증감식 ) {
...
}
Java
복사
•
반복 횟수를 사전에 결정
•
실행 순서
1.
초기화
2.
*조건식 연산
2-1. True : 블록 실행
2-1-1. 증감식 수행
2-1-2. *조건식 연산 이하 반복
2-2. False : 블록 탈출
•
초기화 생략
for(; 조건식; 증감식) {
...
}
Java
복사
•
초기화 다수
for(초기화1, 초기화2; 조건식, 증감식1, 증감식2) {
...
}
Java
복사
•
초기화에서 사용한 변수는 for문 블록 내부에서만 사용 ⇒ for문 블록 탈출 시 메모리에서 해제
•
초기화 변수로 실수 타입은 사용하지 않는다 ⇒ 근사치로 표현하여 조건식 부정확
while
while ( 조건식 ) {
...
}
Java
복사
•
조건식의 연산 결과에 따라 반복 실행 결정
◦
조건식 True : 블록 반복 실행
◦
조건식 False : 블록 탈출
do-while
do {
...
}while ( 조건식 );
Java
복사
•
조건식을 판단하기 전 do{...} 블록을 먼저 실행
break
while (조건식) {
...
if(조건식) {
break;
}
}
Java
복사
•
break를 만나면 블록을 탈출한다.
while(조건식){
for(;;){
break;
}
}
Java
복사
•
반복문이 중첩되어 있는 경우 가장 가까운 반복문에서 탈출한다.
Out:while(조건식){
...
if(조건식){
break Out;
}
...
}
Java
복사
•
만약 특정 반복문을 탈출하고 싶으면 ' 라벨 : 반복문 ' 형식으로 작성
◦
break 라벨;
continue
while(조건식){
...
if(조건식){
continue;
}
...
}
Java
복사
•
continue를 만나면 반복문의 처음으로 돌아간다.
◦
for : 증감식부터 시작
◦
while, do-while : 조건식부터 시작