본문 바로가기

전체 글 보기

반응형

이번 글에서는 반복문에서 continue문을 사용하여 특정 조건일 때 반복을 건너뛰는 방법을 알아봅니다.
continue는 반복문 안에서 사용되며, 해당 반복을 건너뛰고 다음 반복으로 이동하게 해줍니다.


📌 예제 코드

public class ContinueExample {
	public static void main(String[] args) {
		for (int i = 1; i <= 10; i++) {
			if (i % 2 != 0)
				continue;
			System.out.print(i + " ");
		}
	}
}

💬 코드 설명

  • for (int i = 1; i <= 10; i++)
    1부터 10까지 1씩 증가하면서 반복합니다.
  • if (i % 2 != 0)
    i가 홀수인 경우를 검사합니다. (%는 나머지 연산자)
  • continue;
    조건을 만족하면 현재 반복을 건너뛰고, 다음 반복으로 넘어갑니다.
  • System.out.print(i + " ");
    짝수인 경우만 이 줄이 실행되어 출력됩니다.

 

💻 실행 결과

2 4 6 8 10

📌 간단 정리

요소 설명
continue 현재 반복을 건너뛰고, 다음 반복으로 이동
i % 2 != 0 홀수인지를 판별하는 조건식
출력 결과 1~10 사이 짝수만 출력됨

💡 포인트 정리

  • continue는 반복문 안에서 조건에 따라 일부 실행을 생략할 때 사용합니다.
  • 이 예제에서는 i % 2 != 0일 때 출력 코드를 건너뛰어 짝수만 출력됩니다.
  • break는 반복문을 아예 종료하지만, continue는 다음 반복으로 이동하는 점이 다릅니다.
댓글
반응형

🕘 오전 수업 요약

✅ 1. for문 기본 사용

  • 1부터 10까지 출력:
for (int i = 1; i <= 10; i++) {
    System.out.print(i + "\t");
}

✅ 2. 1~100까지의 합 계산

  • 누적 합계:
int sum = 0;
for (int i = 1; i <= 100; i++) {
    sum += i;
}

✅ 3. 구구단 출력 (_99dan)

  • 중첩 for문 활용 (1~9단 출력)
  • System.out.printf()로 정렬
  • 3단마다 줄바꿈하여 보기 좋게 구성

✅ 4. while문 실습

  • i++을 이용한 1~10 출력
  • 1~100까지의 합계 계산

🕐 오후 수업 요약

✅ 1. do-while문

  • 조건보다 먼저 실행되는 반복문
  • "q" 입력 전까지 문자열 입력 반복

✅ 2. break 예제

  • 주사위를 던져 6이 나오면 반복 종료

✅ 3. continue 예제

  • 1~10 중 짝수만 출력 (홀수는 continue로 생략)

✅ 4. 실습 문제 (mission_34567)

3번 1~100 중 3의 배수의 합 출력
	static void mission3() {
		int sum = 0;

		for (int i = 1; i <= 100; i++)
			if (i % 3 == 0)
				sum += i;

		System.out.println("1~100 중 3의 배수의 합 : " + sum);
	}
4번 주사위 두 개의 합이 5가 될 때까지 반복 출력
	static void mission4() {
		int x, y;
		while (true) {
			x = (int) (Math.random() * 6) + 1;
			y = (int) (Math.random() * 6) + 1;
			if ((x + y) == 5)
				break;
			System.out.println("(" + x + ", " + y + ")");
		}
	}
5번 4x + 5y = 60을 만족하는 (x, y) 쌍 출력
	static void mission5() {
		for (int x = 0; x <= 10; x++) {
			for (int y = 0; y <= 10; y++) {
				if ((x * 4 + y * 5) == 60)
					System.out.println("(" + x + ", " + y + ")");
			}
		}
	}
6번 다음과 같은 별 출력 피라미드 구현
*
**
***
****
*****
	static void mission6() {
		for (int x = 1; x <= 5; x++) {
			for (int y = 1; y <= x; y++)
				System.out.print("*");
			System.out.println();
		}
	}
7번 간단한 ATM 프로그램
  • 메뉴: 예금 / 출금 / 잔고 확인 / 종료
  • 사용자 입력에 따라 동작 수행
	static void mission7() {
		Scanner sc = new Scanner(System.in);

		int money = 0;
		int select;

		while (true) {
			System.out.println("-------------------------------------");
			System.out.println("1. 예금 | 2. 출금 | 3. 잔고 | 4. 종료");
			System.out.println("-------------------------------------");

			System.out.print("선택> ");
			select = sc.nextInt();

			if (select == 1) {
				System.out.print("예금액> ");
				select = sc.nextInt();
				money += select;
			} else if (select == 2) {
				System.out.print("출금액> ");
				select = sc.nextInt();
				money -= select;
			} else if (select == 3) {
				System.out.println("잔고> " + money);
			} else
				break;

			System.out.println();
		}

		System.out.println("프로그램 종료");
	}

🧠 5일차 핵심 요약표

주제 내용
반복문 for, while, do-while
제어문 break, continue
누적 합 sum += 값 형태 사용
실습 중심 반복 + 조건문을 종합적으로 활용한 문제 풀이
사용자 입력 Scanner를 통한 값 입력 처리
댓글
반응형

do-while문은 조건과 상관없이 무조건 한 번은 실행된다는 특징이 있어요.
이번 예제는 사용자의 입력을 반복적으로 받아서 출력하다가, q를 입력하면 종료되는 간단한 콘솔 프로그램입니다.


📌 예제 코드

import java.util.Scanner;

public class DoWhileExample {
	public static void main(String[] args) {
		System.out.println("메세지를 입력해주세요.");
		System.out.println("프로그램을 종료하려면 'q'를 입력하세요.");

		Scanner sc = new Scanner(System.in);
		String str;

		do {
			System.out.print(">");
			str = sc.nextLine();
			System.out.println(str);
		} while (!str.equals("q"));

		System.out.println("\n프로그램 종료");
	}
}

💬 코드 설명

  • import java.util.Scanner;
    사용자 입력을 받기 위해 Scanner 클래스를 불러옵니다.
  • Scanner sc = new Scanner(System.in);
    입력을 받기 위한 Scanner 객체를 생성합니다.
  • do { ... } while (!str.equals("q"));
    문자열이 "q"가 아닐 때까지 반복합니다. 단, do 블록은 조건과 상관없이 1번은 실행됩니다.
  • str = sc.nextLine();
    사용자가 입력한 문자열을 변수 str에 저장합니다.
  • System.out.println(str);
    입력한 내용을 그대로 출력합니다.
  • System.out.println("프로그램 종료");
    "q"를 입력하면 반복을 종료하고 마지막 메시지를 출력합니다.

 


💻 실행 결과 (예시)

메세지를 입력해주세요.
프로그램을 종료하려면 'q'를 입력하세요.
>안녕하세요
안녕하세요
>테스트입니다
테스트입니다
>q
q

프로그램 종료

📌 간단 정리

변수명 설명
str 사용자로부터 입력받은 문자열
sc Scanner 객체, 입력을 받기 위한 도구

💡 포인트 정리

  • do-while문은 조건과 무관하게 최소 한 번은 실행됩니다.
  • .equals("q")를 사용하여 문자열 비교를 정확하게 수행해야 합니다.
  • 사용자 입력 기반 반복 처리에 적합한 구조입니다.
댓글
반응형

이번 글에서는 while 반복문을 사용하여 1부터 100까지의 정수의 합을 계산하는 예제를 다룹니다.

while 문은 조건이 true인 동안 반복 수행되는 구조로, 조건식을 먼저 검사한 후 실행합니다.


💻 예제 코드

public class While1To100SumExample {
	public static void main(String[] args) {
		int sum = 0, i = 0;

		while (i++ < 100)
			sum += i;

		System.out.println("1~" + (i - 1) + " 합 : " + sum);
	}
}

💬 코드 설명

 

  • int sum = 0, i = 0;
    sum은 누적합을 저장하는 변수이고, i는 반복에 사용될 변수입니다.
  • while (i++ < 100)
    조건을 확인한 후, 반복을 진행합니다. i++는 후위 증가 연산이므로 현재 i값을 먼저 비교하고, 이후에 증가시킵니다.
  • sum += i;
    증가된 i 값을 sum에 누적합니다.
  • System.out.println(...)
    결과를 출력합니다. 출력 시 i - 1로 표시하여 마지막 더해진 숫자를 출력합니다.

📃 실행 결과

1~100 합 : 5050

 


📌 간단 정리

변수 설명
sum 숫자들의 누적 합
i 1부터 100까지 증가하는 반복 변수

💡 포인트 정리

  • while문은 조건이 참이면 계속 반복됩니다.
  • i++ < 100은 조건 비교 후 i가 1씩 증가합니다.
  • 1부터 100까지의 합은 5050입니다.
댓글
반응형

이번 글에서는 자바의 반복문 중 하나인 for문에 대해 학습합니다. 특히 숫자를 출력하거나 구구단을 구현하는 방식으로 반복문을 활용하는 예제를 중심으로 설명합니다.


💻 예제 코드 1: 1~10 수 출력

public class PrintForExample {
	public static void main(String[] args) {
		for(int i = 1; i <= 10; i++)
			System.out.print(i + "\t");
	}
}

💬 코드 설명

  • int i = 1: 반복을 시작할 초기값을 설정합니다. 여기서는 1부터 시작합니다.
  • i <= 10: 반복 조건으로, i가 10 이하일 때까지만 반복합니다.
  • i++: 반복할 때마다 i를 1씩 증가시킵니다.
  • System.out.print(i + "\t"): \t는 탭 간격으로 출력됩니다. 즉, 1 2 3 ... 이런 형태로 출력됩니다.

📃 실행 결과

1	2	3	4	5	6	7	8	9	10

 


💻 예제 코드2 : 구구단 출력

public class _99dan {
	public static void main(String[] args) {
		for (int x = 1; x < 10; x++) {
			System.out.println("*** " + x + "단 ***");
			for (int y = 1; y < 10; y++) {
				System.out.print(x + " × " + y + " = " + x * y);
				if (y % 3 == 0)
					System.out.println();
				else
					System.out.print("   ///   ");
			}
		}
	}
}

💬 코드 설명

  • 외부 for (int x = 1; x < 10; x++): 1~9단까지 각 단을 반복합니다.
  • 내부 for (int y = 1; y < 10; y++): 각 단마다 1~9까지 곱셈을 수행합니다.
  • x * y: 실제 곱셈 연산 결과입니다.
  • if (y % 3 == 0): 3개의 연산마다 줄을 바꿔 가독성을 높입니다.
  • ///: 연산 사이에 구분을 넣어 깔끔하게 출력됩니다.

📃 실행 결과

*** 1단 ***
1 × 1 = 1   ///   1 × 2 = 2   ///   1 × 3 = 3
1 × 4 = 4   ///   1 × 5 = 5   ///   1 × 6 = 6
1 × 7 = 7   ///   1 × 8 = 8   ///   1 × 9 = 9
*** 2단 ***
2 × 1 = 2   ///   2 × 2 = 4   ///   2 × 3 = 6
2 × 4 = 8   ///   2 × 5 = 10   ///   2 × 6 = 12
2 × 7 = 14   ///   2 × 8 = 16   ///   2 × 9 = 18
*** 3단 ***
3 × 1 = 3   ///   3 × 2 = 6   ///   3 × 3 = 9
3 × 4 = 12   ///   3 × 5 = 15   ///   3 × 6 = 18
3 × 7 = 21   ///   3 × 8 = 24   ///   3 × 9 = 27
*** 4단 ***
4 × 1 = 4   ///   4 × 2 = 8   ///   4 × 3 = 12
4 × 4 = 16   ///   4 × 5 = 20   ///   4 × 6 = 24
4 × 7 = 28   ///   4 × 8 = 32   ///   4 × 9 = 36
*** 5단 ***
5 × 1 = 5   ///   5 × 2 = 10   ///   5 × 3 = 15
5 × 4 = 20   ///   5 × 5 = 25   ///   5 × 6 = 30
5 × 7 = 35   ///   5 × 8 = 40   ///   5 × 9 = 45
*** 6단 ***
6 × 1 = 6   ///   6 × 2 = 12   ///   6 × 3 = 18
6 × 4 = 24   ///   6 × 5 = 30   ///   6 × 6 = 36
6 × 7 = 42   ///   6 × 8 = 48   ///   6 × 9 = 54
*** 7단 ***
7 × 1 = 7   ///   7 × 2 = 14   ///   7 × 3 = 21
7 × 4 = 28   ///   7 × 5 = 35   ///   7 × 6 = 42
7 × 7 = 49   ///   7 × 8 = 56   ///   7 × 9 = 63
*** 8단 ***
8 × 1 = 8   ///   8 × 2 = 16   ///   8 × 3 = 24
8 × 4 = 32   ///   8 × 5 = 40   ///   8 × 6 = 48
8 × 7 = 56   ///   8 × 8 = 64   ///   8 × 9 = 72
*** 9단 ***
9 × 1 = 9   ///   9 × 2 = 18   ///   9 × 3 = 27
9 × 4 = 36   ///   9 × 5 = 45   ///   9 × 6 = 54
9 × 7 = 63   ///   9 × 8 = 72   ///   9 × 9 = 81

📌 간단 정리

요소 내용
반복문 for 문과 나중에 후술할 while 문
최소 값 초기호수를 설정
반복 조건 반복 중지할 조건를 적용
최대 값 반복할 때 복개할 값 
 

💡 포인트 정리

  • for 문은 반복적 작업을 수행하기 편하고 간각한 데이터 찾기에 적적하다.
  • 구구단처럼 반복에 반복을 하는 것은 중첩 for문을 이용하여 간단하게 구현할 수 있습니다.
댓글
반응형

🕘 오전 수업 요약

✅ 1. 논리 연산자

  • &&: AND (모두 참일 때만 참)
  • ||: OR (하나라도 참이면 참)
  • !: NOT (부정)
if (charCode >= 65 && charCode <= 90) { ... } // 대문자 조건

✅ 2. 복합 대입 연산자

  • +=, -=, *=, /=, %= : 기존 변수에 연산 후 다시 대입
re += 10; // re = re + 10;

✅ 3. 삼항 연산자

  • 조건에 따라 값 선택:
char grade = score > 90 ? 'A' : (score > 80 ? 'B' : 'C');

✅ 4. if ~ else if ~ else 조건문

  • 점수에 따라 등급 나누기 (A, B, C, ...)

✅ 5. 중첩 if문

  • 점수가 더 세부 조건에 맞을 때, A+, B+ 등 부등급 처리
if (score >= 90) {
  if (score >= 95) rank = "A+";
  else rank = "A";
}

✅ 6. 난수 생성과 조건문

  • Math.random()으로 1~6 사이 정수 생성 후 분기
int num = (int)(Math.random() * 6) + 1;

🕐 오후 수업 요약

✅ 1. 기본 switch 문 (정수형)

  • case별로 동작 지정, break로 흐름 종료
switch(num) {
  case 1: System.out.println("1번이 나왔습니다"); break;
  ...
}

✅ 2. break 없는 switch 흐름

  • break가 없으면 아래 case까지 모두 실행
switch(time) {
  case 8: System.out.println("출근합니다");
  case 9: System.out.println("회의합니다"); // 이어서 실행됨
}

✅ 3. 문자형 switch 문

  • char 값을 기준으로 분기
  • case 'A':, case 'a': 등 복수 case로 처리 가능

✅ 4. Java 14+ switch 표현식 (화살표 방식)

  • case와 ->로 간결한 표현
switch (g) {
  case 'A', 'a' -> System.out.println("우수 회원입니다.");
  ...
}

🧠 4일차 핵심 요약

항목 주요 내용
조건문 if, else if, else, 중첩 if
논리 연산자 &&, ||, !
복합 대입 +=, -=, 등 축약된 연산자 사용
삼항 연산자 조건 ? 참 : 거짓
switch문 정수/문자형 분기, break 유무에 따라 실행 흐름 달라짐
switch 표현식 Java 14+ -> 방식으로 코드 간결화 가능
댓글
반응형

기존의 switch 문은 case마다 break를 써줘야 했고, 실수로 break를 빼먹으면 의도하지 않은 코드 실행이 이어졌죠.
Java 14부터는 이러한 불편함을 해소하기 위해 Switch Expressions라는 문법이 도입되었습니다.

이번 강에서는 간결하고 명확한 switch 문 사용법을 알아보겠습니다.


💻 예제 코드

public class SwitchExpressionsExample {
	public static void main(String[] args) {
		char g = 'B';

		switch (g) {
			case 'A', 'a' -> System.out.println("우수 회원입니다.");
			case 'B', 'b' -> System.out.println("일반 회원입니다.");
			default -> System.out.println("손님입니다.");
		}
	}
}

💬 코드 설명

  1. char g = 'B';
    • g 변수에는 문자 'B'가 저장되어 있습니다.
  2. switch (g)에서 case가 ->를 사용하고 있습니다.
    • case 'A', 'a' ->는 g가 'A'나 'a'일 경우를 의미합니다.
    • -> 오른쪽에는 실행할 코드 한 줄을 바로 작성할 수 있습니다.
  3. break 없이도 케이스가 끝나면 자동으로 종료되기 때문에 가독성이 좋고, 버그 위험도 줄어듭니다.

📃 실행 결과

일반 회원입니다.

📌 간단 정리

비교 항목 기존 switch 문 switch expressions (Java 14~)
break 필요 여부 꼭 필요함 ❌ 불필요
여러 case 통합 case A: case a: case 'A', 'a' ->
가독성 낮음 ✅ 높음
코드 블록 작성 반드시 중괄호 필요 한 줄 표현 가능

💡 포인트 정리

  • ->를 사용하는 새로운 switch 문은 코드를 더 깔끔하게 작성할 수 있게 해줍니다.
  • Java 14 이상에서 사용할 수 있으므로 JDK 버전에 유의해야 합니다.
  • case 조건이 여러 개일 때 쉼표(,)로 묶어 한 번에 처리할 수 있어 유용합니다.
댓글
반응형

자바에서는 switch 문을 이용해서 여러 개의 조건 분기를 깔끔하게 처리할 수 있습니다. 특히 char형 값을 비교할 때도 자주 사용됩니다.
이번 시간에는 char 타입을 이용한 switch 문 활용을 예제로 알아보겠습니다.


💻 예제 코드

public class SwitchCharExample {
	public static void main(String[] args) {
		char g = 'B';

		switch (g) {
		case 'A':
		case 'a':
			System.out.println("우수 회원입니다.");
			break;
		case 'b':
		case 'B':
			System.out.println("일반 회원입니다.");
			break;
		default:
			System.out.println("손님입니다.");
		}
	}
}

💬 코드 설명

  1. char g = 'B';
    • 변수 g에 문자 'B'를 저장합니다.
  2. switch (g)
    • g의 값을 기준으로 아래 case 문들과 비교합니다.
  3. case 'A': case 'a':
    • g의 값이 'A'나 'a'일 경우 "우수 회원입니다."를 출력합니다.
  4. case 'B': case 'b':
    • g의 값이 'B'나 'b'일 경우 "일반 회원입니다."를 출력합니다.
  5. default:
    • 위의 모든 경우가 해당되지 않을 때 "손님입니다."를 출력합니다.

📃 실행 결과

일반 회원입니다.

📌 switch 문 특징 요약

항목 설명
비교 가능 타입 byte, short, int, char, enum, String
break 필수 여부 선택이지만 없으면 다음 case로 이어짐 (fall-through 현상)
default 모든 조건이 불일치할 경우 실행

💡 포인트 정리

  • switch 문은 if-else보다 구조가 더 간결하게 표현됩니다.
  • 여러 case를 이어붙여 동일한 처리를 할 수 있습니다.
  • break문이 없으면 다음 case로 이어지므로 주의!
댓글