넷째날 [조건문과 반복문]
목차
1. 코드 실행 흐름 제어
2. 조건문 (if문, switch문)
3. 반복문 (for문, while문, do-while문)
4. break문
5. continue문
[1] 코드 실행 흐름 제어
* 정상적인 코드 실행 흐름 : main() 메소드의 시작과 끝 { } 중괄호 안에까지 위 ➡️ 아래 방향으로 실행됨
* 제어문의 역할 : 코드 실행 흐름을 개발자가 원하는 방향으로 변경할 수 있도록 도와줌 / 다양한 실행 흐름 발생
* 제어문의 종류
- 조건문 : if , switch
- 반복문 : for, while, do-while
- break문, continue문
* 제어문의 중첩 : 제어문의 중괄호 내부에 다른 제어문 작성 가능 (다양한 흐름 발생 가능)
[2] 조건문
(1) if 문
* 조건식 결과에 따라 중괄호 { } 블록을 실행할지 여부 결정
* 조건식 : true 또는 false 값을 산출할 수 있는 연산식, boolean 변수
* 조건식이 true면 블록 실행
* 조건식이 false면 블록 실행 X
✅ 조건을 만족할 때, 실행시켜야 할 것이 한줄이라면 {}를 만들지 않아도 된다. 그러나 여러줄 인데 {}를 만들지 않는다면, if문 바로 밑 실행문 1줄만 실행된다.
(2) if-else문
* if문의 조건식이 true이면 블록 실행
* if문의 조건식이 false이면 else 블록 실행
* 조건식의 결과에 따라 두 개의 블록 중 어느 한 블록의 내용만 실행하고 전체 if문 벗어남
✅ 두 개의 if문을 이용하는 것보다, if-else문으로 간단히 처리하는 것이 더욱 간결한 코딩이 됨
(3) if-else if-else문
* else if 문의 수는 제한이 없으며 여러 개의 조건식 중 true가 되는 블록만 실행하고 전체 if 문을 벗어남
* else if 블록의 마지막에는 else 블록 추가 가능 : 모든 조건식이 false일 경우 실행
(4) 중첩 if문
* if문의 블록 내부에 또 다른 if문을 사용한 것
*중첩의 단계는 제한이 없기 때문에 실행 흐름을 잘 판단해서 작성
✅ 코드 실행 흐름을 이해해야 함
(5) switch문
* switch문은 if문처럼 조건식이 true일 경우 블록 내부의 실행문을 실행X
* 변수가 어떤 값을 갖느냐에 따라 실행문이 선택
* 변수와 동일한 값을 갖는 case가 없으면 default로 가서 실행문 실행 (default 생략 가능)
* 변수 : byte, char, int, short, long, string은 들어갈 수 있다. (boolean과 float, double형은 들어갈 수 없다)
[3] 반복문
(1) for문
* 반복 횟수를 알고 있을 때 주로 사용함
* (1)초기화식 실행 ➡️ (2)조건식 평가 true ➡️ (3) 실행문 실행 ➡️ (4)증감식 실행 ➡️ (2)조건식 평가 ➡️ ...
* (1)초기화식 실행 ➡️ (2)조건식 평가 false ➡️ for문 종료
* 초기화식이 필요없을 경우 초기화식 생략 가능
* 초기화식 둘 이상, 증감식 둘 이상인 경우 쉼표로 구분해서 작성
//초기화식 생략
int i = 1;
for(; i<=100; i++) {...}
//초기화식 둘 이상, 증감식 둘 이상
for(int i=0, j=100; o<=50 && j>=50; i++,j--){...}
* 초기화식에 선언된 변수는 for문 블록 내부에서만 사용되는 로컬변수. 따라서 for 문을 벗어나서 사용 X
* 변수를 for문 전에 선언하면, for문 내부뿐만 아니라 for문 바깥에서도 사용 가능
* 초기화 식에서 부동소수점 타입 사용X : 정확한 정수로 사용하는 것이 결과값 정확!
* 조건식과 마찬가지로 중첩 for문 사용할 수 있음 : 바깥쪽 for문이 한 번 실행 ➡️ 중첩 for문 지정된 횟수만큼 실행 ➡️ 다시 바깥 for문 실행
(2) while문
* 조건에 따라 반복을 계속할지 결정할 때 사용
* 조건식이 true일 경우에 계속해서 반복
* 조건식이 false가 되면 반복을 멈추고 while문 종료
* while문의 조건식에 true를 놓는다면, 무한 루프
(3) do-while문
* 조건에 따라 반복을 계속할지 결정할 때 사용하는 것은 while문과 동일
* 무조건 중괄호 {} 를 실행한 후, 조건식을 검사해 반복을 할지 안할지 결정함
(4) break문
* for문, while문, do-while문 종료할 때 사용 : 반복을 취소
* switch문 종료할 때 사용
* 대개 if문과 같이 사용 : if문의 조건식에 따라 for문과 while문을 종료할 때 사용함
* 반복문 중첩 시, break문은 가까운 반복문만 종료하고 바깥쪽 반복문은 종료X : 바깥문까지 종료시키려면 "break 이름;" 사용
(5) continue문
* 반복문에서만 사용: for문, while문, do-while문
*for문의 증감식, while이나 do-while의 조건식으로 이동함
* 반복문을 종료하지 않고 계속 반복을 수행함
* 특정 조건을 만족하는 경우, continue문을 실행해서 그 이후의 문장을 실행하지 않고 다음 반복으로 넘어감 (특정 조건인 경우 skip된다)