4.1 코드 실행 흐름 제어
* 흐름제어문 = 제어문
제어문은 조건식과 중괄호 { } 블록으로 구성되는데, 조건식의 연산 결과에 따라 블록 내부의
실행 여부가 결정
① 제어문의 종류 : 조건문 , 반복문
→ 조건문 : if문, switch문 / 반복문 : for문, while문, do-while문
② 루핑(looping) : 반복문일 경우 제어문 처음으로 다시 되돌아가 반복 실행
③ 제어문 블록 내부에 다른 제어문 사용가능
4.2 조건문(if문, switch문)
4.2.1 if문
* if문은 조건식의 결과에 따라 블록 실행 여부가 결정
4.2.2 if-else문
* if문은 else 블록과 함께 사용되어 조건식의 결과에 따라 실행 블록을 선택
→ 조건식이 false이면 else 블록이 실행되고, 조건식이 true이면 if문의 블록이 실행
조건식의 결과에 따라 하나의 블록만 실행
4.2.3 if-else if-else 문
* 처음 if문의 조건식이 false일 경우 다른 조건식의 결과에 따라 실행 블록을 선택
→ if블록 끝에 else if문을 붙이면 되며, else if문의 수는 제한이 없다.
여러 개의 조건식 중 true가 되는 블로간 실행하고, 전체 if문을 벗어남.
else if문 블록 마지막에는 else블록을 추가 가능하며, 모든 조건식이 false 인 경우
else 블록을 실행하고 if문을 벗어난다.
※참고) boolean express
① & 앞뒤 모두 확인 보통 아이디 비번 같은 것에 사용
② && 앞이 false이면 굳이 뒤에 것 확인 안함
③ | 둘다 모두 확인
④ || 앞이 true이면 굳이 뒤에 것 확인 안함
4.2.5 switch문
* switch문은 if문 처럼 조건식이 true일 경우에 블록 내부의 실행문을 실행 하는 것이
아니라, 변수가 어떤 값을 갖느냐에 따라 실행문이 선택
→ if문은 조건식의 결과가 true, false 두가지 밖에 없기 때문에 경우의 수가 많아 질수록 else-if를 반복적으로
추가 해야 하므로 코드가 복잡해지지만, switch문은 변수의 값에 따라서 실행문이 결정 되므로 if문 보다
코드가 간결
4.3 반복문(for문, while문, do-while문)
* 반복문은 어떤 작업(코드들)이 반복적으로 실행되도록 할 때 사용
반복문의 종류 : for문, while문, do-while문
for문 : 반복 횟수를 알고 있을 경우 주로 사용
while문 : 조건에 따라 반복될 경우 사용
while문과 do-while문의 차이 : 조건을 먼저 검사하느냐 나중에 검사하는냐
4.3.1 for문
1. for문이 처음 실행 될 때 ①초기화식이 제일 먼저 실행
2. 그런 다음 ②조건식을 평가해서 true면 ③실행문을 실행시키고, false 이면, for문을
실행 하지 않고 끝나게 됨.
3. 블록내부의 실행 문들이 모두 실행되면 ④증감식을 실행시키고 다시 ②조건식을 평가
4. 평가결과가 true 이면 ③→④→②로 다시 진행하고, false이면 for문이 종료
* 초기화식의 역할은 조건식과 실행문, 증감식에 사용할 변수를 초기화하는 역할
① 초기화식이 필요없는 경우
ex1) int i = 1;
for( ; i <= 100 ; i++ ){
…….
}
② 증감식이 둘 이상인 경우 → 쉼표( , ) 로 구분
ex1) for( int i = 0, j=100 ; i <= 50 && j >= 50 ; i++, j-- ){
….…
}
※주의) for문 작성시 주의할 점 : 초기화식에서 루프 카운트 변수를 선언할 때 부동 소수점 타입을 사용하지 않는다.
ex) for( float x = 0.1f ; x <= 1.0f ; x += 0.1f ){
…………
// 0.1은 float 타입으로 정확하게 표현이 불가능 하기 때문에 실제 x에
// 더해지는 값은 0.1보다 약간 크다.
}
* for (초기화; 조건식; 증감식){ //반복횟수가 정해졌을경우
…………
}
4.3.2 while문
* while문은 조건식이 true일 경우에 계속해서 반복
조건식이 false가 되면 반복 행위를 멈추고 whlie문을 종료
1. while문이 처음 실행될 때 ①조건식을 평가
2. 평가 결과가 true이면 ②실행문을 실행한다.
3. ③실행문이 모두 실행문이 모두 실행되면 다시 조건식으로 되돌아가서 ①조건식을
다시 평가
4. 만약 조건식이 true라면 ②→①로 다시 진행하고, false라면 while문을 종료
* 키보드키코드
ex) int keyCode = System.in.read();
* while(조건식){
} // 조건에 따라 횟수가 달라질 경우
4.3.3 do-while문
* while문은 시작 할 때부터 조건식을 검사하여 블록 내부를 실행할지 결정하지만, 경우에 따라서는 블룩 내부의 실행문을 우선 실행시키고, 실행 결과에 따라서 반복실행 여부를 결정한다. 이 때 do-while문이 사용된다.
※주의) while() 뒤에는 반드시 세미콜론(;)을 붙여야 한다.
1. do-while문이 처음 실행될 때 ①실행문을 우선 실행
2. ①실행문이 모두 실행되면 ②조건식을 평가하는데, 그 결과가 true이면 ①→②와 같이 반복 실행을 함.
3. 조건식의 결과가 false 이면 do-while문을 종료
* do{
}while(조건검사); //반드시 한번 수행하고 이후에 조건검사
4.3.4 break문
* break 문은 바복문인 for문, while문, do-while문을 실행 중지할 때 사용되며, switch문에서도 break문을 사용하여 switch문을 종료
※주의) 반복문이 중첩되어 있을 경우 break문은 가장 가까운 반복문만 종료하고 바깥쪽 반복문은 종료시키지 않음.
중첩된 반복문에서 바깥쪽 반복문까지 종료시키려면바깥쪽 반복문에 이름(라벨)을 붙이고, “break 이름;”을 사용
4.3.5 continue문
* continue문은 반복문인 for문 while문, do-while문에서만 사용되는데, 블록 내부에서 continue
문이 실행되면 for문의 증감식 또는 while문, do-while문의 조건식으로 이동함.
1. contine문은 반복문을 종료하지 않고 계속 반복을 수행한다는 점이 break문과 다름.
2. break문과 마찬가지로 continue문도 대개 if문과 같이 사용되는데, 특정 조건을 만족하는 경우에 continue문을 실행해서 그 이후의 문장을 실행하지 않고 다음 반복으로 넘어감.
※주의) break와 continue 비교
break : 해당 반복문을 빠져나감
continue : 해당 반복문의 처음으로 감
'Java > Java 기본' 카테고리의 다른 글
CH03. 연산자 (0) | 2020.04.15 |
---|---|
CH02. 변수 (0) | 2020.04.04 |
CH01. 자바 시작하기 (0) | 2020.03.29 |