반복문: while, do~while, for(원리는 다 똑같음)
** 반복문 while
- while문은 조건식을 만족하는 동안 반복문을 실행하는데, 조건식을 검사해서 <조건식이 참>이면 실행문을 반복하고, 거짓이면 while문을 빠져나옵니다.
- while문에 들어가는 조건식도 if문과 마찬가지로 반드시 boolean타입으로 결과를 반환해야 합니다.
- 조건식 안에 true를 넣으면 무한루프가 발생하기 때문에 반드시 탈출구문을 넣어야 합니다.
ex)
int a = 1
while(소괄호-참<실행→조건 확인, 영원히 돌아감>, 거짓 형태의 조건이 들어감. 식을 세운다-반복의 회전 수(10번 돌아감)를 결정 a <= 10(위에 변수가 필요함)
밑으로 내려와서 a++와 같은 증감식 필요){
중괄호}
false가 나올 때 빠져나옴
** 꼭 필요한 것.
1. 제어변수 필요(조건식)
2. 변수를 생각해서 식을 만든다
3. 증감식
* 반복문 do ~ while
- while문은 조건식을 먼저 검사하고 실행문이 반복되기 때문에 처음 실행 조건이 false라면 실행문이 단 한번도 실행되지 않습니다.
- 그러나 do ~ while문은 do 이하의 구문이 먼저 한 번 실행된 뒤에 조건식을 검사하므로 결과가 true이든 false이든 무조건 한번은 실행이 됩니다.
- do ~ while문은 조건식의 결과에 상관없이 루프를 반드시 한번 이상 실행시키도록 할 때 사용합니다.
* 무조건 한번은 실행한다.
ex)
do{
}while(조건);
* 반복문 for(시작, 조건, 증감)
- for문은 제어조건을 한꺼번에 지정한다는 점이 다른 반복문과는 다릅니다.
- 따라서 정확한 반복 횟수를 알고 있을 때는 for문이 while문보다 유용합니다.
- for문도 다른 제어문과 같이 실행문장이 한줄이면 블록 {}을 생략할 수 있습니다.
- for문의 구조 ex_
for(초기값; boolean형 조건식; 반복 표현식) {
반복할 실행문;
}
* for문 안 for문(중첩)
- 중첩은 i, j 이니셜 값 주의하여야 함.
ex)
for
직전에 출력하고 싶으면 for문 중간에 system.out.prinln();
for
이후에 출력하고 싶으면 2번째 for문 뒤로 뺄 것.
<오늘 푼 문제들>