[수업] 25.09.01

장성욱·2025년 9월 1일

반복문

조건을 만족하는 동안 반복하는 문법 (while / for)

반복문의 필수 3요소

  1. 종료 조건
  2. 초기값
  3. 스텝 (증감)

구구단 출력하기


public class Main {
	public static void main(String[] args) {
		
		int dan = 8;
		// 반복문 사용X
		System.out.println(dan + " * 1 = " + dan*1 );
		System.out.println(dan + " * 2 = " + dan*2 );
		System.out.println(dan + " * 3 = " + dan*3 );
		System.out.println(dan + " * 4 = " + dan*4 );
		System.out.println(dan + " * 5 = " + dan*5 );
		System.out.println(dan + " * 6 = " + dan*6 );
		System.out.println(dan + " * 7 = " + dan*7 );
		System.out.println(dan + " * 8 = " + dan*8 );
		System.out.println(dan + " * 9 = " + dan*9 );
		
		// 1만 사용
		int i = 1;
		System.out.println(dan + " * " + i + " = " + dan*i);
		i ++;
		System.out.println(dan + " * " + i + " = " + dan*i);
		i ++;
		System.out.println(dan + " * " + i + " = " + dan*i);
		i ++;
		System.out.println(dan + " * " + i + " = " + dan*i);
		i ++;
		System.out.println(dan + " * " + i + " = " + dan*i);
		i ++;
		System.out.println(dan + " * " + i + " = " + dan*i);
		i ++;
		System.out.println(dan + " * " + i + " = " + dan*i);
		i ++;
		System.out.println(dan + " * " + i + " = " + dan*i);
		i ++;
		System.out.println(dan + " * " + i + " = " + dan*i);
		i ++;
		
		
		// for문 사용
		for (int i = 1; i <= 9; i ++) {
			System.out.println(dan + " * " + i + " = " + dan *i); 
		}
		
		// while문 사용
		int i = 1;
		while (i <= 9) {
			System.out.println(dan + " * " + i + " = " + dan * i);
			i ++;
		}
	}
}

while문 문제 풀이

public class Main {
	public static void main(String[] args) {
		// 1부터 5까지 출력
		int i = 1;
		while(i <= 5) {
			System.out.println(i);
			i ++;
		}
		
		// -100부터 25까지 출력
		int i = -100;
		while (i <= 25) {
			System.out.println(i);
			i ++;
		}

		// 구구단 8단 출력, 1000부터 1까지 곱하기
		int i = 1000;
		int dan = 8;
		while (i >= 1) {
			System.out.println(dan + " * " + i + " = " + dan * i);
			i--;
		}
		
		// 구구단 8단 출력, 1000부터 -500까지 곱하기
		int i = 1000;
		int dan = 8;
		while (i >= -500) {
			System.out.println(dan + " * " + i + " = " + dan * i);
			i--;
		}
		
		// 1부터 3까지 출력하는 작업 10번 (2중 while문)
		int i = 1;
		while (i <= 10) {
			int j = 1;
			 while (j <= 3) {
				 System.out.println(j);
				 j ++;
			 }
			 System.out.println("==");
			i ++;
		}
		
		// 1부터 5까지 합 구하기
		int i = 1;
		int s = 0;
		while (i <= 5) {
			s += i;
			i ++;
		}
		System.out.println(s);
		
		// 음수 100부터 25까지의 합 구하기
		int i = -100;
		int s = 0;
		while (i <= 25) {
			s += i; 
			i ++;
		}
		System.out.println(s);
	}
}

for문 문제풀이

public class Main{
	public static void main(String[] args) {
		
		// 1부터 5까지 출력
		for (int i = 1; i <= 5; i++) {
			System.out.println(i);
		}
		
		// -100부터 25까지 출력
		for (int i = -100; i <= 25; i++) {
			System.out.println(i);
		}
		
		// 구구단 8단 출력, 1000부터 1까지
		int dan = 8;
		for (int i = 1000; i >= 1; i--) {
			System.out.println(dan + " * " + i + " = " + dan*i);
		}
		
		// 구구단 8단 출력, 1000부터 -500까지
		for (int i = 1000; i >= -500; i-- ) {
			System.out.println(dan + " * " + i + " = " + dan*i);
		}
		
		// 1부터 3까지 출력하는 작업 10번 하기
		for (int i = 1; i <= 10; i++) {
			for (int j = 1; j <= 3; j++) {
				System.out.println(j);
			}
			System.out.println("==");
		}
		
		// 1부터 5까지 합 구하기
		int s = 0;
		for (int i = 1; i <= 5; i++) {
			s += i;
		}
		System.out.println(s);
		
		// 음수 100부터 25까지 합 구하기
		int sum = 0;
		for (int i = -100; i <= 25; i++) {
			sum += i;
		}
		System.out.println(sum);
	}
}

중첩 반복문

2중 반복문의 경우 바깥에 있는 큰 반복문이 한번 실행될 때,

안쪽에 있는 작은 반복문이 본인 횟수만큼 반복


입력문 문법

import java.util.Scanner;

public class Main{
	public static void main(String[] args) {
		Scanner sc = new Scanner(System.in);
		
		System.out.print("입력: ");
		String cmd = sc.nextLine();
		
		System.out.println("출력: " + cmd);
		
		sc.close();
	}
}

업다운 게임 프로그램

조건문, 반복문, 입력문 활용

import java.util.Scanner;
public class Main{
	public static void main(String[] args) {
		Scanner sc = new Scanner(System.in);
		
		// 1~100사이 랜덤한 숫자 생성 코드
		int rs = (int) (Math.random() * 100) + 1;
		System.out.println(rs);
		
		// 도전 횟수 카운트 변수
		int cnt = 0;
		
		while (true) {
			System.out.print("숫자를 입력해 주세요: ");
			int num = sc.nextInt();
			cnt ++;
			
			
			if (num > rs) {
				System.out.println("down");
				System.out.println("도전 횟수: " + cnt);
			} else if (num < rs) {
				System.out.println("up");
				System.out.println("도전 횟수: " + cnt);
			} else {
				System.out.println("정답입니다. " + cnt + "번 만에 맞추셨네요!");
				break;
			}
		}
		sc.close();
	}
}

int cnt를 while문 안에 쓰면 숫자를 입력할 때마다 초기화가 되어 누적이 되지 않으므로,

while문 바깥에 써야한다.

profile
https://frost-puck-b0f.notion.site/B-2610fdaef71d80c49d1bccdcb575dcb5

0개의 댓글