프로그램 수행 흐름을 바꾸는 역할을 하는 제어문 중 하나로 특정 문장(코드)들을 반복해서 수행하도록 함
끝이 정해져 있는 (횟수가 지정되어 있는) 반복문
[작성법]
for(초기식; 조건식; 증감식) {
조건식이 true라면 반복 수행할 코드
}
public void ex3() {
for (char ch = 65 ; ch <= 91 ; ch ++) {
System.out.print(ch);
}
}
for(int i = 'A'; i <= 'Z'; i++) {
System.out.print((char)i);
// 강제형변환
}
for(char i = 'A' ; i <= 'Z'; i++) {
System.out.print(i);
}
다 같은 값 출력됨
결과값
ABXDEFGHIJKLMNOPQRSTUVWXYZ
ex)
입력 1 : 10
입력 2 : 20
입력 3 : 30
입력 4 : 40
입력 5 : 50
합계 : 150
public void ex4() {
int sum = 0;
for (int i = 1; i <= 5 ; i++) {
System.out.print("입력 " + i + " : ");
int input = sc.nextInt();
// input for문이 도는 동안 계속 대입됨
sum += input;
} System.out.print("합계 : " + sum);
}
단, 입력 받은 수의 배수는 양쪽에 () 표시
ex)
괄호를 표시할 배수 : 3
1 2 (3) 4 5 (6) ... (18) 19 20
public void ex5() {
System.out.print("괄호를 표시할 배수 : ");
int input = sc.nextInt();
for (int i = 1; i <= 20 ; i ++) {
if (i % input == 0) {
System.out.print("("+i+")");
} else {
// else 안 써주면 숫자 한번씩 더 나옴
System.out.print(i);
}
}
}
public void ex7() {
for (int dan = 2; dan <= 9 ; dan++) {
for (int i = 1; i <= 9 ; i++) {
System.out.printf("%d X %d = %2d ",dan,i,dan*i);
}
System.out.println();
}
}
ex)
1부터 20까지 1씩 증가하면서
입력받은 수의 배수의 총 개수 출력
입력받은 수의 배수의 합계 출력
배수 입력 : 3
3 6 9 12 15 18 : 6개
3의 배수 합계 : 63
public void ex8() {
System.out.print("배수 입력 : ");
int input = sc.nextInt();
int count = 0;
int sum = 0;
for (int i = 1; i <= 20 ; i++) {
if (i % input == 0) { // input의 배수일 때
count++;
System.out.printf("%d ",i);
sum += i;
}
}
System.out.println(": " + count + "개");
System.out.printf("%d의 배수 합계 : %d", input, sum);
}
확실히 언제 반복이 끝날지는 모르지만 젠가 반복 조건이 false가 되는 경우 반복을 종료함.
[작성법]
while(조건식) {조건식이 true일 때 반복 수행할 구문}
public void ex1() {
int input = 9;
while(input != 0) {
System.out.println("---------메뉴선택-------");
System.out.println("1. 떡볶이");
System.out.println("2. 쫄면");
System.out.println("3. 김밥");
System.out.println("0. 종료");
System.out.print("메뉴 선택 >> ");
input = sc.nextInt();
switch(input) {
case 1 : System.out.println("떡볶이를 주문했습니다."); break;
case 2 : System.out.println("쫄면을 주문했습니다."); break;
case 3 : System.out.println("김밥을 주문했습니다."); break;
case 0 : System.out.println("메뉴 선택을 종료합니다."); break;
default : System.out.println("잘못 입력하셨습니다.");
}
}
}
do ~ while 문
do {
반복 수행할 코드
-> 무조건 한번은 수행
} while( 조건식 );
입력되는 모든 정수의 합 구하기
단, 0이 입력되면 반복 종료 후 결과 출력
-> 0이 입력되지 않으면 계속 반복
public void ex2() {
int sum = 0;
int input = 0;
do {
System.out.print("정수 입력 : ");
input = sc.nextInt();
sum += input;
} while (input != 0);
System.out.println("합계 : " + sum);
}