[ java ] 반복문 (for문 & while문 & do-while문)

Suji Kang·2023년 12월 14일
0

🐾 1. 반복문 (제어문 2)

  • 반복문: 특정 횟수 또는 특정 조건에 따라서 코드를 반복

반복문

  • for문
  • while문
  • do-while문

for문: 반복 횟수를 아는 경우

while문: 조건에 따라서 반복이 되는 경우

  • while문: 조건을 처음부터 따진다
  • do-while문: 조건을 나중에 따진다

🐾 for문의 구조

(0) for문 이전
for( (1) 초기문 ; (2) 조건식 ; (3) 반복 후 작업 ) {
(4) 작업문
}
(5) for문 이후

순서

0 -> 1 -> 2 -(true)-> 4 -> 3 -> 2 -> ....
            -(false)-> 5

(1) 초기문

  • 조건식에서 사용될 변수를 초기화한다
  • for문을 시작할 때에만 1번 실행
  • 여러 번수를 사용하기 위해서 콤마(,)를 이용해 여러 문장을 쓸 수 있음
  • 비워 둘 수 있음 (;은 있어야함)

(2) 조건식

  • 논리식과 논리 연산자 + 비교 연산자 -> true 또는 false
  • 조건식 자리에 true 를 넣거나 비워두면 -> 무한 반복 (infinite loop)

(3) 반복 후 작업

  • 반복 후에 실행되는 구문
  • 주로 초기식에 있는 변수를 변화 또는 임의 값을 출력
  • 여러 문장을 콤마(,)를 이용해 분리하여 쓸 수 있음

for문은 반복에 사용

반복(iteration)에 쓰이는 변수 이름 규칙
반복자(iterator)
👉 i, j, k, ...

public class ForExample {
	public static void main(String[] args) {
		int i = 0;
		for(i = 2 ; i < 5 ; i++)
			System.out.print(i+" ");
		System.out.println("종료");
		
		// 초기 i=0 -> 조건 i<5 (true) -> 0 출력
		// 변화 i=1 -> 조건 i<5 (true) -> 1 출력
		// 변화 i=2 -> 조건 i<5 (true) -> 2 출력
		// 변화 i=3 -> 조건 i<5 (true) -> 3 출력
		// 변화 i=4 -> 조건 i<5 (true) -> 4 출력
		// 변화 i=5 -> 조건 i<5 (false) -> 반복 종료
		
		// for문을 이용해서 1부터 100까지의 합을 구하는 코드
		int sum = 0;
		for(i=1 ; i<=100 ; i++) {
			sum += i;
		}
		System.out.println(sum);

		// for문을 이용해서 1부터 100까지의 홀수의 합을 구하는 코드
		int oddsum = 0;
		for(i=1 ; i<=100 ; i+=2) {
			oddsum += i;
		}
		System.out.println(oddsum);

		// for문을 이용해서 1부터 100까지의 짝수의 합을 구하는 코드
		int evensum = 0;
		for(i=2 ; i<=100 ; i+=2) {
			evensum += i;
		}
		
		System.out.println(evensum);
	}
}

🐾 while 문의 구조: 조건을 먼저 확인한다

while(조건식) {
	작업문
}
public class WhileExample {
	public static void main(String[] args) {
		int i = 0;
		System.out.println("while");
		while(i < 0) {
			System.out.println(i);
			i++;
		}
		
		System.out.println("do-while");
		int j = 0;
		do {
			System.out.println(j);
			j++;
		} while(j < 0);
	}
}

import java.util.Scanner;

public class WhileSum {
	public static void main(String[] args) {
		Scanner sc = new Scanner(System.in);
		
		int count = 0; // 횟수
		int sum = 0;   // 합
		
		// 정수를 계속 입력받음 
		// -> -1을 입력받으면 반복이 종료되면서 입력받은 정수의 수와 합을 출력
		// while문으로
		int num = sc.nextInt();
		while(num != -1) {
			count++;
			sum += num;
			num = sc.nextInt();
		}
		System.out.println("횟수:"+count+" 합:"+sum);	
	}
}

🐾 do-while문의 구조: 조건을 나중에 확인한다

do {
	작업문
} while(조건식);
import java.util.Scanner;

public class WhileSum {
	public static void main(String[] args) {
		Scanner sc = new Scanner(System.in);
        
count = 0;
		sum = 0;
		do {
			num = sc.nextInt();
			if(num != -1) {
				count++;
				sum += num;
			}
		} while(num != -1);
		System.out.println("횟수:"+count+" 합:"+sum);
        }
}
profile
나를위한 노트필기 📒🔎📝

0개의 댓글