728x90
반복문
반복문은 어떤 작업이 반복적으로 수행되도록 할 때 사용.
반복문의 종류로는 for문과 while문, 그리고 while문의 변형인 do-while문이 존재함.
for문과 while문은 구조와 기능이 유사하여 어느 경우에나 서로 변환이 가능하며,
반복 횟수를 알고 있을 때는 for문을, 그렇지 않을 때는 while문을 사용한다.
for문
for (초기화;조건식;증감식){
// 조건식이 참(true)인 동안 수행될 문장들을 적는다.
}
중첩 for문
반복문 안에 또 다른 반복문을 포함하는 것
for(int i=1; i<=5; i++){
System.out.println("**********");
}
/* 해당 코드를 아래와 같이 변경 가능 */
for(int i=1; i<=5; i++){
for(int j=1; j<=10; j++){
System.out.print("*");
}
System.out.println();
}
별 찍기 예제
public class ReverseStar {
public static void main(String[] args) {
String space = " ";
String star = "*";
for (int i = 1; i <= 5; i++) {
for (int j = 1; j <= 5-i; j++) {
System.out.print(space);
}
for (int j = 1; j <= i; j++) {
System.out.print(star);
}
System.out.println("");
}
}
}
while문
for문에 비해 while문은 구조가 간단.
if문과 달리 while문은 조건식이 ‘참(true)인 동안’, 즉 조건식이 거짓이 될 때까지 블럭{} 내의 문장을 반복한다.
즉 조건문이 처음부터 false라면 while문은 한 번도 실행되지 않을 수 있다.
while (조건식){
// 조건식의 연산결과가 참(true)인 동안, 반복될 문장들을 적는다.
}
for문과 while문의 비교
do-while문
do-while문은 while문의 변형으로 기본적인 구조는 while문과 같다.
while문과의 차이
- while문과 반대로 블럭{}을 먼저 수행한 후에 조건식을 평가한다.
- while문은 조건식의 결과에 따라 블럭{}이 한 번도 수행되지 않을 수 있지만, do-while문은 최소한 한 번은 수행될 것을 보장한다.
do {
// 조건식의 연산결과가 참일 때 수행될 문장들을 적는다. (처음 한 번은 무조건 실행)
} while(조건식);
Break
- 감싸고 있는 제어문의 블록을 빠져 나오는 기능(switch문에서도 사용)
- 중첩 반복문에서 사용 시, 모든 반복문이 아닌, break문을 포함하고 있는 반복문만 빠져나오게 됨
주로 if문과 함께 사용되어 특정 조건을 만족할 때 반복문을 벗어나게 한다.
무한 반복문에는 조건문과 break문이 항상 같이 사용된다.
int num = 1;
boolean search = false;
while(num < 100) {
if(((num % 5) == 0) && ((num % 7) == 0)) {
search = true;
break;
}
}
Continue
- continue문은 반복문 전체를 벗어나지 않고 다음 반복을 계속 수행한다는 점이 break문과 다르다.
- 전체 반복문 중, 특정 조건시 반복을 건너뛸 때 유용
- 반복문 내에서 contiunue문을 사용 시, 뒤의 수행문은 건너뛰고 바로 for문의 처음으로 돌아가 증감식, 조건식을 수행
int num = 0;
int count = 0;
while((num++) < 100) {
if(((num % 5) != 0) || ((num % 7) != 0))
continue;
}
반응형
'Server > 자바의정석' 카테고리의 다른 글
[Java 입문] 다차원 배열(multi-dimensional) (0) | 2022.09.27 |
---|---|
[Java 입문] 배열(Array) (0) | 2022.09.27 |
[Java 입문] 조건문(If, If-else, If-else If, switch) (0) | 2022.09.26 |
[Java 입문] 연산자2 (0) | 2022.09.26 |
[Java 입문] 연산자1 (0) | 2022.09.26 |