Language/JAVA

넷째날 [조건문과 반복문]

구일일구 2022. 7. 27. 00:01
반응형

목차

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 이름;" 사용

바깥 반복문까지 종료하려면 "break 이름;" 사용

 

(5) continue문

* 반복문에서만 사용: for문, while문, do-while문

*for문의 증감식, while이나 do-while의 조건식으로 이동함

* 반복문을 종료하지 않고 계속 반복을 수행함

* 특정 조건을 만족하는 경우, continue문을 실행해서 그 이후의 문장을 실행하지 않고 다음 반복으로 넘어감 (특정 조건인 경우 skip된다)

반응형