반복문은 특정 작업을 반복적으로 수행하고 싶을 때 사용하는 문장
1. for문 : 횟수
for문은 특정한 횟수동안 작업을 반복하고 싶을 때 사용하는 반복문입니다.
for문은 초기화,조건식, 증감식, 그리고 실행 부분으로 이루어져 있습니다.
package chapter04;
public class exam21 {
public static void main(String[] args) {
int sum = 0; // 총 합을 담을 변수
for (int i = 1; i <= 10; i++) {
System.out.printf("i=%d sum = %d \n", i,sum+=i);
}
}
}
2. while문: 조건
while문은 조건식을 검사하고 조건식이 참이면 반복하고 false이면 while문 전체를 벗어납니다.
package chapter04;
import java.util.Scanner;
public class exam22 {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
String answer = "Y";
int count = 0;
while(answer.equals("Y"))
{
System.out.println("음악을 재생하시겠습니까?(Y)");
answer = sc.nextLine();
if(answer.equals("Y"))
{
System.out.printf("음악을 %d번 재생했습니다 %n",++count);
}
}
System.out.println("재생종료");
}
}
3. do ~ while문
do ~ while문은 while문의 변형된 형태입니다. while문이 조건식을 검사한 다음 참/거짓 여부에 따라 반복문을 수행했다면, do~while문은 일단 한번은 문장들을 수행하고 그 다음에 조건식을 검사해서 반복을 결정합니다. 그러므로 do~while문은 조건식의 참/거짓 여부에 관계없이 적어도 한번 수행됩니다.
package chapter04;
//import java.util.Scanner;
public class exam23 {
public static void main(String[] args) {
int i = 100;
do {
System.out.println("적어도 한번은 출력되는 문장");
} while(i<10);
}
}
4. break문,continue문
break문은 반복을 멈추게 합니다 .반복문이 진행되다가 break문을 만나면 곧 바로 반복문을 벗어나서 반복문 다음의 코드를 수행합니다. 특정 조건을 만족할 때 break문을 사용해서 반복을 멈추게 합니다.
다음은 break문을 사용하여 반복을 멈추는 프로그램입니다.
package chapter04;
import java.util.Scanner;
public class exam24 {
public static void main(String[] args)
{
Scanner sc = new Scanner(System.in);
int sum = 0;
int i;
while(true)
{
System.out.println("더할 숫자를 입력하세요 : (종료하려면 0입력)");
i = sc.nextInt(); // 정수 입력받아서 i에 저장
if (i == 0)
{ // 만약 0을 입력하였다면 종료
break;
}
sum += i; // 입력받은 값 더해주기
}
System.out.println("현재까지의 총합 = " + sum);
}
}
package chapter04;
import java.util.Scanner;
public class exam25 {
public static void main(String[] args)
{
int money = 10000;
System.out.println("현재 가진 돈은 10000원입니다.");
Scanner sc = new Scanner(System.in);
while (true)
{
System.out.println("얼마를 사용하시겠습니까?");
int i = sc.nextInt(); // 정수를 입력받음
if (!(0<=i && i <= money)) {
// 현재 가진 돈보다 크거나, 음수를 입력하면 다시 입력 요구
System.out.println("다시 입력해주세요(사용범위가 틀렸습니다.");
continue; // 현재의 반복을 벗어나서 다시 반복을 시작
}
System.out.printf("이제 %d원이 남았습니다. \n", money -= i);
// 남은 돈의 양 출력
if (money == 0) { // 돈이 0원이 되면 종료
break;
}
}
System.out.println("모든 돈을 사용합니다. 종료");
}
}