03-16.1 반복문이란?
Def) 반복문: 어떤 일을 반복 수행하고 싶을 때 사용한다.
- while: 조건이 참일 경우 블록 안 문장을 반복 실행한다.
- do while
- for
03-16.2 while 문
Ex) 무한 루프 예제 1)
<hide/>
public class WhileExam {
public static void main(String[] args) {
int i = 1;
while ( i < 10 ) {
}
}
}
Note) 출력 결과
- 콘솔 창에 아무것도 나타나지 않으므로 아무 일 안 하는 것 같지만 프로그램은 동작 중이다.
- 사진의 오른쪽 맨 위의 사각형 버튼(Terminate)에 빨갛게 불이 들어와 있는 것을 보고 알 수 있다.
- 버튼을 누르면 프로그램의 동작도 멈추고 사각형의 불도 꺼진다.
- 이 상태를 "무한 루프(endless loop)를 돈다"고 표현한다. (프로그램이 같은 과정을 끊임없이 반복한다.)
- 그런데 무한 루프에 빠지면 프로그램이 끝나지 않으므로 컴퓨터 자원이 낭비된다.
- 따라서, 버튼을 누르거나 강제로 종료해야 한다.
03-16.2 while 문
Ex) 무한 루프 예제 2)
<hide/>
public class WhileExam {
public static void main(String[] args) {
int i = 0;
while ( i < 10 ) {
System.out.println(i);
}
}
}
Note) 출력 결과
- 0이 끊임 없이 반복된다.
- Terminate버튼을 눌러 종료 시켜야 한다.
- i = 0이고 10보다 작은 것도 참이므로 프로그램을 빠져나오지 못하고 계속해서 0이 출력되는 것이다.
03-16.3 while 문
Ex) while 문 예제 1)
<hide/>
public class WhileExam {
public static void main(String[] args) {
int i = 0;
while ( i < 10 ) {
System.out.println(i);
i++;
}
}
}
Note) 출력 결과: 0 ~ 9 까지 출력된다.
- 증감연산자'++'을 이용했다.
- 앞서 확인한 무한 루프와 다르게 항상 참인 상태에서 벗어났다.
- i = 10이 되면 조건을 만족하지 않기 때문에 반복문을 멈춘다.
- 조건문을 잘 부여해서 수행해야 무한루프에 빠지는 것을 막을 수 있다.
03-16.4 while 문
Ex) while 문 예제 2)
<hide/>
public class WhileExam {
public static void main(String[] args) {
int total = 0;
int i = 1;
while( i <= 100 ) {
total = total + i;
i++;
}
System.out.println(total);
}
}
Note) 출력 결과: 5050
- 1 ~ 100까지 더한 값인 5050이 출력 된다.
03-16.5 while 문 실습
Ex) 문제 1) while 문의 조건에서 i를 이용해서 1부터 10까지 출력하라.
<hide/>
public class WhileExam {
public static void main(String[] args) {
int i = 1;
while( i <= 10) {
System.out.println(i);
i++;
}
}
}
Note) ++i는 i를 1씩 증가시켜 i = 11이 될 때 조건을 만족하지 않아서 while 반복문을 종요시킨다.
03-16.6 while 문 실습
Ex) 문제 2) 주어진 코드에 if문을 추가하여 i가 짝수일 때만 출력되도록 하라
<hide/>
public class WhileExam {
public static void main(String[] args) {
int i = 1;
while( i < 11 ) {
==========================
System.out.println(i);
===========================
i++;
}
}
}
Note) 정답
<hide/>
public class WhileExam {
public static void main(String[] args) {
int i = 1;
while( i < 11 ) {
if(i % 2 == 0) {
System.out.println(i);
}
i++;
}
}
}
'Java > 모두의 자바' 카테고리의 다른 글
Chapter 03-18 for 문 (0) | 2022.02.04 |
---|---|
Chapter 03-17 do-while 문 (0) | 2022.02.04 |
Chapter 03-15 Switch 문 (0) | 2022.02.03 |
Chapter 03-14 삼항 연산자 (0) | 2022.02.03 |
Chapter 03-13 논리 연산자 (0) | 2022.02.03 |