반복문
- 반복의 개념 이해
- while 반복문
- do-while 반복문
- for 반복문
- break와 continue문
반복 구조는 일련의 처리를 반복할 수 있게 한다.
반복문
반복 구조는 왜 필요한가?
→ 같은 처리 과정을 되풀이하는 것이 필요한 상황이 필요할 수 있기 때문이다. → 학생 30명의 평균 성적을 구하려면 같은 과정을 30번 반복하여야 하는 상황이 있기 때문에
반복문의 종류
- while문
- for문
while문
주어진 조건이 만족되는 동안 문장들을 반복 실행한다.
→ 반복횟수가 명확하지 않을 때 사용한다.
예제
while(i < 5) {
System.out.println("정수" + i);
i++;
}
무한 반복
while(true) {
// 무한 반복할 코드를 작성
}
if 문과 while 문의 비교
- if문은 while문으로 변경할 수 있다.
- while문도 if문으로 변경할 수 있다.
if (조건) {
// 조건이 만족되면 한번만 실행
}
while(조건) {
// 조건이 만족되면 여러 번 반복 실행
}
do-while문
- 반복 조건을 루프의 끝에서 검사하는 방식
do { // 조건에 상관없이 한번은 반복됨
System.out.println("i의 값: " + i);
i++;
} while(i<3);
예시
숫자를 예측하는 게임
public class LetterGame {
public static void main(String[] args) {
int answer = 59;
int guess;
int tries = 0;
Scanner input = new Scanner(System.in);
do {
System.out.println("정답을 추측하여보세요 : ");
guess = input.nextInt(); // 추측 값 대입
tries++; // 시도횟수 증감
if (guess > answer)
System.out.println("Down");
if (guess < answer)
System.out.println("Up");
} while(guess != answer);
System.out.println("정답을 맞추셨습니다! 시도횟수 :" + tries);
}
}
for문
정해진 횟수만큼 반복하는 구조
→ 횟수가 명확할 때 사용하는 반복문
for문의 구조 및 흐름
for (초기식; 조건식; 증감식) {
// 반복할 문장
}
- 초기화를 실행
- 반복 조건을 나타내는 조건식을 계산한다.
- 수식의 값이 거짓이면 for문의 실행이 종료된다.
- 수식의 값이 참이면 문장이 실행된다.
- 증감을 실행하고 Step 2로 돌아간다.
중첩 반복문
중첩 반복문(nested loop) : 반복문 안에 다른 반복문이 위치
for(int i = 1; i < 10; i++) {
for(int j = 1; j < 10; j++) {
System.out.println(i + "*" + j + "=" + (i*j))
}
}
구구단 계산을 예로 들었다.
해당 이중 반복문의 흐름은 첫번째 for문의 i값이 1로 실행되었을 때 j가 9번 실행되고, j의 실행이 끝나면 i를 증감하고 또 j를 9번 반복하는 구조이다.
break문
while문이나 for문에서 break문을 만나면 loop(반복)이/가 중지된다.
int i = 0;
while(true) {
i++;
if (i == 10)
break;
}
i의 값이 10이 되면 while문이 종료된다.
continue문
continue문을 만나면 그 밑에 문장들은 실행되지 않고 for문 증감 후 반복을 다시 시작한다.
int n = 0;
for (int i = 0; i< 20; i++) {
if(i % 3 != 0)
continue;
n++;
}
해당 반복은 0~19까지 3의 배수의 갯수를 찾는 반복문이다.
i가 3의 배수가 아니라면 n에 1을 증감하지 않고 다음 순서로 넘어간다.
반복문
- 반복의 개념 이해
- while 반복문
- do-while 반복문
- for 반복문
- break와 continue문
반복 구조는 일련의 처리를 반복할 수 있게 한다.
반복문
반복 구조는 왜 필요한가?
→ 같은 처리 과정을 되풀이하는 것이 필요한 상황이 필요할 수 있기 때문이다. → 학생 30명의 평균 성적을 구하려면 같은 과정을 30번 반복하여야 하는 상황이 있기 때문에
반복문의 종류
- while문
- for문
while문
주어진 조건이 만족되는 동안 문장들을 반복 실행한다.
→ 반복횟수가 명확하지 않을 때 사용한다.
예제
while(i < 5) {
System.out.println("정수" + i);
i++;
}
무한 반복
while(true) {
// 무한 반복할 코드를 작성
}
if 문과 while 문의 비교
- if문은 while문으로 변경할 수 있다.
- while문도 if문으로 변경할 수 있다.
if (조건) {
// 조건이 만족되면 한번만 실행
}
while(조건) {
// 조건이 만족되면 여러 번 반복 실행
}
do-while문
- 반복 조건을 루프의 끝에서 검사하는 방식
do { // 조건에 상관없이 한번은 반복됨
System.out.println("i의 값: " + i);
i++;
} while(i<3);
예시
숫자를 예측하는 게임
public class LetterGame {
public static void main(String[] args) {
int answer = 59;
int guess;
int tries = 0;
Scanner input = new Scanner(System.in);
do {
System.out.println("정답을 추측하여보세요 : ");
guess = input.nextInt(); // 추측 값 대입
tries++; // 시도횟수 증감
if (guess > answer)
System.out.println("Down");
if (guess < answer)
System.out.println("Up");
} while(guess != answer);
System.out.println("정답을 맞추셨습니다! 시도횟수 :" + tries);
}
}
for문
정해진 횟수만큼 반복하는 구조
→ 횟수가 명확할 때 사용하는 반복문
for문의 구조 및 흐름
for (초기식; 조건식; 증감식) {
// 반복할 문장
}
- 초기화를 실행
- 반복 조건을 나타내는 조건식을 계산한다.
- 수식의 값이 거짓이면 for문의 실행이 종료된다.
- 수식의 값이 참이면 문장이 실행된다.
- 증감을 실행하고 Step 2로 돌아간다.
중첩 반복문
중첩 반복문(nested loop) : 반복문 안에 다른 반복문이 위치
for(int i = 1; i < 10; i++) {
for(int j = 1; j < 10; j++) {
System.out.println(i + "*" + j + "=" + (i*j))
}
}
구구단 계산을 예로 들었다.
해당 이중 반복문의 흐름은 첫번째 for문의 i값이 1로 실행되었을 때 j가 9번 실행되고, j의 실행이 끝나면 i를 증감하고 또 j를 9번 반복하는 구조이다.
break문
while문이나 for문에서 break문을 만나면 loop(반복)이/가 중지된다.
int i = 0;
while(true) {
i++;
if (i == 10)
break;
}
i의 값이 10이 되면 while문이 종료된다.
continue문
continue문을 만나면 그 밑에 문장들은 실행되지 않고 for문 증감 후 반복을 다시 시작한다.
int n = 0;
for (int i = 0; i< 20; i++) {
if(i % 3 != 0)
continue;
n++;
}
해당 반복은 0~19까지 3의 배수의 갯수를 찾는 반복문이다.
i가 3의 배수가 아니라면 n에 1을 증감하지 않고 다음 순서로 넘어간다.