๐Ÿฆ– Private/Java Language

5์žฅ - ๊ฐ™์€ ์ž‘์—… ๋ฐ˜๋ณตํ•˜๊ธฐ: ๋ฐ˜๋ณต๋ฌธ

SONOTREE 2025. 2. 19. 03:32

ํ”„๋กœ๊ทธ๋žจ์„ ์ž‘์„ฑํ•˜๋‹ค ๋ณด๋ฉด, ๊ฐ™์€ ๋ช…๋ น์„ ์—ฌ๋Ÿฌ ๋ฒˆ ์ˆ˜ํ–‰ํ•ด์•ผ ํ•  ๋•Œ๊ฐ€ ์žˆ๋‹ค. ์ด๋Ÿด ๋•Œ ๋ฐ˜๋ณต๋ฌธ์„ ์‚ฌ์šฉํ•˜๋ฉด ํŽธํ•˜๋‹ค. ๋ฐ˜๋ณต๋ฌธ์—๋Š” for๋ฌธ, do - while๋ฌธ์ด ์žˆ๋‹ค. ๋ฐ˜๋ณต๋ฌธ์„ ์–ด๋–ป๊ฒŒ ์ž‘์„ฑํ•˜๊ณ  ์‚ฌ์šฉํ•˜๋Š”์ง€ ์•Œ์•„๋ณด์ž.

 

5.1. ๋ฒ”์œ„ ์•ˆ์—์„œ ๋ฐ˜๋ณตํ•  ๋•Œ: for ๋ฌธ

5.1.1. ๊ธฐ๋ณธ ํ˜•์‹ โ˜…

for๋ฌธ์€ ๋Œ€ํ‘œ์ ์ธ ๋ฐ˜๋ณต๋ฌธ์˜ ํ˜•ํƒœ๋กœ, ์ •ํ•ด์ง„ ํšŸ์ˆ˜๋‚˜ ๋ฒ”์œ„๋งŒํผ ๋ฐ˜๋ณตํ•  ๋•Œ ์‚ฌ์šฉํ•œ๋‹ค. ํ˜•์‹์€ ๋‹ค์Œ๊ณผ ๊ฐ™๋‹ค.

for(์ดˆ๊ธฐ๊ฐ’; ์กฐ๊ฑด์‹; ์ฆ๊ฐ์‹){
	[์‹คํ–‰๋ฌธ]; //๋ฐ˜๋ณต ์‹คํ–‰ํ•  ๋ช…๋ น๋ฌธ
}

 

for๋ฌธ์€ ๋‹ค์Œ๊ณผ ๊ฐ™์ด ๋“ฑ์žฅํ•œ๋‹ค.

 

1. ์ดˆ๊ธฐ๊ฐ’

: ์ดˆ๊ธฐ๊ฐ’์€ ๋ฐ˜๋ณต ๋ฒ”์œ„์˜ ์‹œ์ž‘ ๊ฐ’์ด๋‹ค. ๋ณ€์ˆ˜์— ๊ฐ’์„ ๋„ฃ์–ด ์ดˆ๊ธฐํ™”ํ•˜๋Š” ๋ฐฉ์‹์œผ๋กœ ์ž‘์„ฑํ•œ๋‹ค. ์ดˆ๊นƒ๊ฐ’์€ ๋ฐ˜๋ณต๋ฌธ์„ ์ฒ˜์Œ ์‹คํ–‰ํ•  ๋•Œ ํ•œ ๋ฒˆ ์ˆ˜ํ–‰ํ•œ๋‹ค.

 

2. ์กฐ๊ฑด์‹

: ๋ฐ˜๋ณต๋ฌธ์„ ์‹คํ–‰ํ•  ์กฐ๊ฑด์„ ๋„ฃ๋Š”๋‹ค.์กฐ๊ฑด์€ ๋ณดํ†ต ๋ฐ˜๋ณตํ•  ํšŸ์ˆ˜๋‚˜ ๋ฒ”์œ„๋ฅผ ๋‚˜ํƒ€๋‚ธ๋‹ค. 

 

3. ์‹คํ–‰๋ฌธ

: ์กฐ๊ฑด์‹์—์„œ ๋ณ€์ˆ˜์˜ ๊ฐ’์ด ์กฐ๊ฑด์„ ์ถฉ์กฑํ•˜๋Š”์ง€ ํ™•์ธํ•˜๊ณ  ๋‚˜๋ฉด ์ค‘๊ด„ํ˜ธ์— ์žˆ๋Š” ์‹คํ–‰๋ฌธ์œผ๋กœ ๋“ค์–ด๊ฐ„๋‹ค. ์—ฌ๊ธฐ๊ฐ€ ๋ฐ˜๋ณต๋ฌธ์—์„œ ์‹ค์ œ๋กœ ๋ฐ˜๋ณต๋˜๋Š” ๋ถ€๋ถ„์ด๋‹ค.

 

4. ์ฆ๊ฐ์‹

: ๋ฐ˜๋ณตํ•  ๋ฌธ์žฅ์„ ์‹คํ–‰ํ•œ ํ›„์—๋Š” ์ฆ๊ฐ์‹์œผ๋กœ ๊ฐ„๋‹ค. ์ฆ๊ฐ์‹์—์„œ๋Š” ๋ณ€์ˆ˜ ๊ฐ’์„ ์ฆ๊ฐ€์‹œํ‚ค๊ฑฐ๋‚˜ ๊ฐ์†Œ์‹œ์ผœ์„œ ๋ฐ˜๋ณต ํšŸ์ˆ˜๋‚˜ ๋ฒ”์œ„๋ฅผ ์กฐ์ ˆํ•œ๋‹ค. ๊ทธ๋ฆฌ๊ณ  ๋‹ค์‹œ ์กฐ๊ฑด์‹์œผ๋กœ ๊ฐ„๋‹ค.

 

 

์˜ˆ์ œ ์ฝ”๋“œ๋กœ for๋ฌธ์œผ ์ž‘๋™ ๋ฐฉ์‹์„ ์ดํ•ดํ•ด๋ณด์ž. ์ด์ „์—๋Š” 10์ค„์„ ์ž‘์„ฑํ•ด์•ผ ํ–ˆ๋˜ printf() ์ฝ”๋“œ๋ฅผ 1์ค„๋งŒ ์ž‘์„ฑํ•˜๋ฉด ๋œ๋‹ค.

public class Main {
    public static void main(String[] args){
        for (int i=1; i<=10; i++){
            System.out.printf("%d,", i);
        }
    }
}
์ฐธ๊ณ ๋กœ ์œ„์˜ ์ฝ”๋“œ์—์„œ print()๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด ์˜ค๋ฅ˜๊ฐ€ ๋ฐœ์ƒํ•œ๋‹ค. print()๋Š” ๋‹จ์ˆœํžˆ ๋ฌธ์ž์—ด์„ ์ถœ๋ ฅํ•˜๋Š” ์—ญํ• ๋งŒ ํ•˜๋ฏ€๋กœ, ํ˜•์‹ ์ง€์ •์ž๋ฅผ ์‚ฌ์šฉํ•  ์ˆ˜ ์—†๊ฒŒ ๋œ๋‹ค. ๋”ฐ๋ผ์„œ ๋ฌธ์ž์—ด ํฌ๋ฉงํŒ… ๊ธฐ๋Šฅ์„ ์ง€์›ํ•˜๋Š” printf()๋ฅผ ์‚ฌ์šฉํ•ด์•ผํ•œ๋‹ค.

๋‚ด ์ฝ”๋“œ์™€ ์กฐ๊ธˆ ๋‹ค๋ฅด๋‹ค. ์ผ๋‹จ ์„ค๋ช…์€ ์‚ฌ์ง„์˜ ์ฝ”๋“œ๋กœ ์„ค๋ช…ํ•œ๋‹น

1. ๋ณ€์ˆ˜๋ช…์„ i๋กœ ํ•˜๊ณ , 0์œผ๋กœ ๋ณ€์ˆ˜ ์ดˆ๊ธฐํ™”๋ฅผ ์ง„ํ–‰ํ•œ๋‹ค.

2. ๋ฐ˜๋ณตํ•  ๋ฒ”์œ„(์กฐ๊ฑด)์€ i๊ฐ€ 10 ๋ฏธ๋งŒ์ผ๋•Œ์ด๋‹ค. ํ˜„์žฌ i์˜ ๊ฐ’์€ 0์ด๊ธฐ ๋•Œ๋ฌธ์— ์กฐ๊ฑด์„ ์ถฉ์กฑํ•œ๋‹ค.

3. ์กฐ๊ฑด์„ ์ถฉ์กฑํ–ˆ์œผ๋‹ˆ ์ค‘๊ด„ํ˜ธ ์•ˆ์— ์žˆ๋Š” ์‹คํ–‰๋ฌธ์œผ๋กœ ๊ฐ„๋‹ค. i+1์˜ ๊ฐ’์ธ 1์„ ์ถœ๋ ฅํ•œ๋‹ค.

4. println()์„ ์‹คํ–‰ํ•œ ํ›„์— ์ฆ๊ฐ์‹์œผ๋กœ ๊ฐ„๋‹ค. i++์— ์˜ํ•ด i ๊ฐ’์ด 1์ฆ๊ฐ€ํ•œ 1์ด ๋œ๋‹ค. ์ดํ›„์—๋Š” ๋‹ค์‹œ ์กฐ๊ฑด์‹์œผ๋กœ ๋Œ์•„๊ฐ€ i๊ฐ’์„ ๋น„๊ตํ•œ๋‹ค.

 

๋ฐ˜๋ณต๋ฌธ ํšŸ์ˆ˜์— ๋”ฐ๋ฅธ ์‹ค์ œ ๊ฐ’์„ ์ •๋ฆฌํ•˜๋ฉด ๋‹ค์Œ๊ณผ ๊ฐ™๋‹ค.

11๋ฒˆ์งธ ๋ฐ˜๋ณต์—์„œ i ๋ณ€์ˆ˜์˜ ๊ฐ’์ด 10์ด๋ฏ€๋กœ, ์กฐ๊ฑด์‹์ธ i<10์— ๋งž์ง€ ์•Š๋Š”๋‹ค. ๋”ฐ๋ผ์„œ 11๋ฒˆ์งธ์—์„œ ๋ฐ˜๋ณต๋ฌธ์„ ๋ฒ—์–ด๋‚œ๋‹ค.

๋ฐ˜๋ณต ํšŸ์ˆ˜ 2(i<10)์—์„œ i ๋ณ€์ˆ˜์˜ ๊ฐ’ 3(i+1)์˜ ์ถœ๋ ฅ ๊ฒฐ๊ณผ 4(i++)์—์„œ i ๋ณ€์ˆ˜์˜ ๊ฐ’
1 0 1 1
2 1 2 2
3 2 3 3
4 3 4 4
5 4 5 5
6 5 6 6
7 6 7 7
8 7 8 8
9 8 9 9
10 9 10 10
11 10 x x

 

 

 

 

5.1.2. ์ฆ๊ฐ ์—ฐ์‚ฐ์ž โ˜…โ˜…โ˜…

์ฆ๊ฐ ์—ฐ์‚ฐ์ž๋Š” ๋ฐ˜๋ณต๋ฌธ์—์„œ ์ž์ฃผ ์‚ฌ์šฉ๋œ๋‹ค. ๋˜ํ•œ ์ฆ๊ฐ ์—ฐ์‚ฐ์ž๋Š” ์—ฐ์‚ฐ์ž๊ฐ€ ์–ด๋””์— ์œ„์น˜ํ•˜๋А๋ƒ์— ๋”ฐ๋ผ ์ž‘๋™ ๋ฐฉ์‹์ด ๋‹ฌ๋ผ์ง„๋‹ค.

์ฆ๊ฐ ์—ฐ์‚ฐ์ž์—๋Š” ์•„๋ž˜์™€ ๊ฐ™์€ ๊ฒƒ๋“ค์ด ์žˆ๋‹ค.

์ฆ๊ฐ ์—ฐ์‚ฐ์ž ์„ค๋ช…
i++ i ๊ฐ’์„ ์‚ฌ์šฉํ•œ ํ›„์— i+1์„ ์ง„ํ–‰
i-- i ๊ฐ’์„ ์‚ฌ์šฉํ•œ ํ›„์— i-1์„ ์ง„ํ–‰
++i i+1 ์„ ํ•œ ํ›„์— i ๊ฐ’ ์‚ฌ์šฉ
--i i-1 ์„ ํ•œ ํ›„์— i ๊ฐ’ ์‚ฌ์šฉ

 

public class Main {
    public static void main(String[] args){
        int num1 = 5;
        int num2 = 5;
        int result1 = num1++; 
        int result2 = ++num2;

        System.out.println(result1);
        System.out.println(result2); 
        System.out.println(num1); 
        System.out.println(num2); 
    }
}

/*
5
6
6
6
*/

 

//println(result1)

result1 = num1++์ด๊ณ , num1 ๋ณ€์ˆ˜์—๋Š” ํ˜„์žฌ 5๋ผ๋Š” ๊ฐ’์ด ์ €์žฅ๋˜์–ด์žˆ๋‹ค.

i++๋Š” ํ›„์œ„ ์ฆ๊ฐ ์—ฐ์‚ฐ์ž์ด๋ฏ€๋กœ, num1 ๋ณ€์ˆ˜์˜ ๊ฐ’์„ ์‚ฌ์šฉํ•œ ํ›„์— num1 ๋ณ€์ˆ˜์˜ ๊ฐ’์„ 1์ฆ๊ฐ€์‹œํ‚จ๋‹ค. ๋”ฐ๋ผ์„œ ํ˜„์žฌ num1 ๋ณ€์ˆ˜์˜ ๊ฐ’์„ result ๋ณ€์ˆ˜์— ์ €์žฅํ•˜๊ณ  ๋‚œ ํ›„ num1 ๋ณ€์ˆ˜์˜ ๊ฐ’์„ 1 ์ฆ๊ฐ€์‹œํ‚ค๊ฒŒ ๋œ๋‹ค. ๋”ฐ๋ผ์„œ result1์˜ ๊ฐ’์€ 5๋กœ, num1 ๊ฐ’์€ 6์œผ๋กœ ์ถœ๋ ฅ๋œ๋‹ค.

 

//println(result2)

result2 = ++num2์ด๊ณ , num2 ๋ณ€์ˆ˜์—๋Š” 5๋ผ๋Š” ๊ฐ’์ด ์ €์žฅ๋˜์–ด์žˆ๋‹ค.

++i๋Š” ์ „์œ„ ์ฆ๊ฐ ์—ฐ์‚ฐ์ž์ด๋ฏ€๋กœ, num2 ๋ณ€์ˆ˜์˜ ๊ฐ’์„ ๋จผ์ € 1 ์ฆ๊ฐ€์‹œํ‚จ ํ›„์— num2 ๋ณ€์ˆ˜์˜ ๊ฐ’์„ result2 ๋ณ€์ˆ˜์— ์ €์žฅํ•œ๋‹ค. ๋”ฐ๋ผ์„œ result2 ๋ณ€์ˆ˜์™€ num2 ๋ณ€์ˆ˜์˜ ๊ฐ’์ด ๋ชจ๋‘ 6์œผ๋กœ ์ถœ๋ ฅ๋œ๋‹ค.

 

 

๊ณ„์† ํ—ท๊ฐˆ๋ คํ•˜๋Š” ๋‚˜๋ฅผ ์œ„ํ•œ ์˜ˆ์ œ 2.........

public class Main {
    public static void main(String[] args){
        int a1 = 5;
        System.out.println(a1); //5

        int a2 = a1++;
        System.out.println(a1); //5๊ฐ€ ์•„๋‹ˆ๋ผ 6
        System.out.println(a2); //5
        System.out.println(a1); //6
        System.out.println(a2); //6์ด ์•„๋‹ˆ๋ผ 5
    }
}

 

 

 

5.1.3. for ๋ฌธ์œผ๋กœ ์—ฐ์‚ฐํ•˜๊ธฐ

์ด๋ฒˆ์—๋Š” 1๋ถ€ํ„ฐ 100๊นŒ์ง€ ํ•ฉ์„ ๊ตฌํ•ด๋ณด๊ฒ ๋‹ค. ํ•ฉ์‚ฐ ๊ฒฐ๊ณผ๋ฅผ ์ €์žฅํ•˜๋Š” sum ๋ณ€์ˆ˜๋ฅผ ์‚ฌ์šฉํ•ด ์ฝ”๋“œ๋ฅผ ์ž‘์„ฑํ•ด๋ณด์ž.

(์ „์œ„, ํ›„์œ„ ์—ฐ์‚ฐ์ž๋ฅผ ๊ณต๋ถ€ํ•œ ๋’ค ๋ฐ”๋กœ ์™€์„œ for๋ฌธ์˜ ์กฐ๊ฑด ๋ถ€๋ถ„์˜ ๋“ฑํ˜ธ๋ฅผ <=๋กœ ์“ฐ๋Š”๊ฒŒ ๋งž๋Š”์ง€ ํ—ท๊ฐˆ๋ ธ๋‹ค -> ์ฆ๊ฐ€๊ฐ€ ์–ด๋–ป๊ฒŒ ๋˜๋“  ์กฐ๊ฑด์—์„œ i๊ฐ’์„ ๋ง‰์•„์ฃผ๋‹ˆ ๊ฑฑ์ •ํ•˜์ง€ ๋ง๊ณ  ์—ฐ์‚ฐ์ž๋ฅผ ์‚ฌ์šฉํ•˜์ž)

public class Main {
    public static void main(String[] args){
        //1๋ถ€ํ„ฐ 100๊นŒ์ง€ ๋”ํ•˜๋Š” ์ฝ”๋“œ
        int sum = 0;
        for (int i=1; i<=100; i++){
            sum = sum + i;
        }
        System.out.print(sum);
    }
}
์ด๋•Œ int sum = 0;์ฒ˜๋Ÿผ ๋ณ€์ˆ˜ ์ดˆ๊ธฐํ™”๋ฅผ ์ง„ํ–‰ํ•ด์•ผํ•œ๋‹ค.
๋ณ€์ˆ˜๋ฅผ ์‚ฌ์šฉํ•œ๋‹ค๋Š” ๊ฒƒ์€ ๋ณ€์ˆ˜์— ์ €์žฅํ•œ ๊ฐ’์„ ์‚ฌ์šฉํ•œ๋‹ค๋Š” ์˜๋ฏธ์ด๋‹ค. ๋ณ€์ˆ˜๋ฅผ ์„ ์–ธํ•  ๋•Œ ๋ณ€์ˆ˜ ์ดˆ๊ธฐํ™”๋ฅผ ํ•˜์ง€ ์•Š์œผ๋ฉด ๋ฉ”๋ชจ๋ฆฌ ๊ณต๊ฐ„์ด ํ• ๋‹น๋˜๋ฉด์„œ ์•Œ ์ˆ˜ ์—†๋Š” ๊ฐ’์ด ๋“ค์–ด๊ฐ„๋‹ค. ์ด ์ƒํƒœ๋กœ ๋ณ€์ˆ˜๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด ์•Œ ์ˆ˜ ์—†๋Š” ๊ฐ’์œผ๋กœ ์—ฐ์‚ฐ์ด ์ง„ํ–‰๋˜๋ฏ€๋กœ ์˜ˆ์ƒํ•˜์ง€ ๋ชปํ•œ ๊ฒฐ๊ณผ๊ฐ€ ๋ฐœ์ƒํ•  ์ˆ˜ ์žˆ๋‹ค. ์ด๋ฅผ ๋ฐฉ์ง€ํ•˜๊ธฐ ์œ„ํ•ด ์ž๋ฐ”์—์„œ๋Š” ์˜ค๋ฅ˜๋ฅผ ๋ฐœ์ƒ์‹œ์ผœ ๋ณ€์ˆ˜๋ฅผ ์‚ฌ์šฉํ•˜๊ธฐ ์ „์— ์ดˆ๊ธฐํ™”ํ•˜๋„๋ก ๊ฐ•์ œํ•œ๋‹ค.

 

 

 

5.1.4. ์‹ค์Šต: for ๋ฌธ์œผ๋กœ ๊ตฌ๊ตฌ๋‹จ ํ”„๋กœ๊ทธ๋žจ ๋งŒ๋“ค๊ธฐ

๋‚ด ์ƒ๊ฐ)

"[์‚ฌ์šฉ์ž๋กœ๋ถ€ํ„ฐ ์ž…๋ ฅ ๋ฐ›์€ ๋‹จ] x [1๋ถ€ํ„ฐ 9๊นŒ์ง€ ์ฆ๊ฐ€ํ•˜๋Š” ์ˆซ์ž] = [๊ณ„์‚ฐ ๊ฒฐ๊ณผ]" ๊ตฌ์กฐ๋งŒ 9๋ฒˆ ๋ฐ˜๋ณต๋ ๊ฒƒ์ด๋ฏ€๋กœ for ๋ฌธ์„ ์‚ฌ์šฉํ•œ๋‹ค.

public class Main {
    public static void main(String[] args){
        System.out.print("์ถœ๋ ฅํ•  ๋‹จ์„ ์ž…๋ ฅํ•˜์„ธ์š”:");
        Scanner scan = new Scanner(System.in);
        int dan = scan.nextInt();

        int sum;
        for (int i=1; i<=9; i++){
            sum = dan * i;
            System.out.printf("%d x %d = %d\n", dan, i, sum);
        }
    }
}

์—ฌ๊ธฐ์„œ์˜ sum ๋ณ€์ˆ˜๋Š” ์—ฐ์‚ฐ์ด ์•„๋‹Œ(์ด์ „์˜ ์ฝ”๋“œ์ฒ˜๋Ÿผ) ๊ณฑํ•œ ๊ฐ’์„ ์ €์žฅํ•  ๋•Œ ์ฒ˜์Œ ์‚ฌ์šฉํ•˜๋ฏ€๋กœ ์ดˆ๊ธฐํ™”ํ•˜์ง€ ์•Š์•„๋„ ๋œ๋‹ค.

 

 

 

5.1.5. ์ค‘์ฒฉ ๋ฐ˜๋ณต๋ฌธ ์‚ฌ์šฉํ•˜๊ธฐ โ˜…

์ด๋ฒˆ์—๋Š” ๊ตฌ๊ตฌ๋‹จ์„ ์ „๋ถ€ ์ถœ๋ ฅํ•˜๋ณด์ž. 

๊ตฌ๊ตฌ๋‹จ ์ „์ฒด๋ฅผ ๋†“๊ณ  ๋น„๊ตํ•ด๋ณด๋ฉด ์•„๋ž˜์™€ ๊ฐ™๋‹ค. ๊ทธ๋ฆผ์—์„œ๋Š” '๋‹จ'๊ณผ '๊ณฑํ•˜๋Š” ์ˆ˜'๊ฐ€ ๋ฐ”๋€๋‹ค. ์ฆ‰ ๋ฐ˜๋ณตํ•  ๋ถ€๋ถ„์ด 2๋ถ€๋ถ„ ์žˆ๋‹ค๋Š” ์˜๋ฏธ์ด๋‹ค. ์ด๋Ÿด ๋–„๋Š” ์ค‘์ฒฉ ๋ฐ˜๋ณต๋ฌธ์„ ์‚ฌ์šฉํ•œ๋‹ค.

์ด๋Ÿฐ ์˜๋ฏธ๋กœ ์œ„์˜ ๊ตฌ๊ตฌ๋‹จ ์ฝ”๋“œ๋ฅผ ์ƒ๊ฐํ•ด๋ณด๋ฉด, ๋ณ€ํ•˜๋Š” ๋ถ€๋ถ„์€ '๊ณฑํ•˜๋Š” ์ˆ˜' 1๋ถ€๋ถ„์ด๋‹ˆ ๋ฐ˜๋ณตํ•  ๋ถ€๋ถ„์ด 1๋ถ€๋ถ„ ์žˆ๋‹ค๋Š” ๊ฒƒ์ด ๋œ๋‹ค.

 

๋ฐ”๊นฅ for๋ฌธ์€ dan์„, ์•ˆ์ชฝ for๋ฌธ์€ ๊ณฑํ•˜๋Š” ์ˆ˜(i)๋กœ ํ•˜๋ฉด ๋  ๊ฒƒ ๊ฐ™๋‹ค.

public class Main {
    public static void main(String[] args){
        //๋ฐ”๊นฅ for๋ฌธ์€ dan์„, ์•ˆ์ชฝ for๋ฌธ์€ ๊ณฑํ•˜๋Š” ์ˆ˜(i)๋กœ ํ•˜๋ฉด ๋  ๋“ฏ
        for (int dan=2 ; dan<=9; dan++){
            System.out.printf("\n===== %d๋‹จ =====\n", dan);
            for (int i=1; i<=9; i++){
                int sum;
                sum = dan * i;
                System.out.printf("%d x %d = %d\n", dan, i, sum);
            }
        }
    }
}

 

 

 

5.1.6. QUIZ โ˜…

๋‹ค์Œ ์ฝ”๋“œ์—์„œ for๋ฌธ ์•ˆ์˜ ๋ช…๋ น๋ฌธ์€ ๋ช‡ ๋ฒˆ ์‹คํ–‰๋ ๊นŒ?

public class Main {
    public static void main(String[] args) {
        for (int i=0; i<=6; i++){
            for (int j=0; j<=4; j++){
                System.out.print("Hello");
            }
        }
    }
}

 

๋‚ด ๋‹ต)

6 x 4 = 24๋ฒˆ...?

 

๋‹ต)

7 x 5 = 35๋ฒˆ

-> 0,1,2,3,4,5,6 7๋ฒˆ/ 0,1,2,3,4 5๋ฒˆ์ด์ž–์–ด

-> 0๋„ ํฌํ•จํ•ด์•ผ์ง€ ๋ฉ์ฒญ์•„(0 <= i <= 6์ผ ๋•Œ, i๋Š” 0+6+1์ด์ž–์Œ)


5.2. ์กฐ๊ฑด์ด ์ฐธ์ผ ๋™์•ˆ ๋ฐ˜๋ณตํ•  ๋•Œ: while ๋ฌธ 

5..1 while ๋ฌธ โ˜…

while๋ฌธ์€ ์†Œ๊ด„ํ˜ธ ์•ˆ์˜ ์กฐ๊ฑด์‹์„ ๋งŒ์กฑํ•˜๋ฉด(true์ด๋ฉด) ์ค‘๊ด„ํ˜ธ ์•ˆ์— ์žˆ๋Š” ๋ช…๋ น๋ฌธ์„ ๋ฐ˜๋ณต ์‹คํ–‰ํ•œ๋‹ค. ์กฐ๊ฑด์‹์— ๋งž์ถฐ ์‹คํ–‰์„ ๋ฐ˜๋ณตํ•œ๋‹ค๋Š” ์ ์€ for๋ฌธ๊ณผ ๊ฐ™์ง€๋งŒ ์‚ฌ์šฉ ๋ฐฉ์‹์ด ์กฐ๊ธˆ ๋‹ค๋ฅด๋‹ค. while๋ฌธ์˜ ๊ธฐ๋ณธ ํ˜•์‹์€ ์•„๋ž˜์™€ ๊ฐ™๋‹ค.

while ([์กฐ๊ฑด์‹]){
	[์‹คํ–‰๋ฌธ]; //๋ฐ˜๋ณต ์‹คํ–‰ํ•  ๋ช…๋ น๋ฌธ
}

 

ํ˜•์‹์€ ๊ฐ„๋‹จํ•œ๋ฐ, ์–ด๋–ป๊ฒŒ ์ž‘๋™ํ•˜๋Š”์ง€ for๋ฌธ๊ฐ€ ๋น„๊ตํ•ด์„œ ์‚ดํŽด๋ณด๊ฒ ๋‹ค.

//for๋ฌธ์œผ๋กœ ์ž‘์„ฑํ•œ 1~10๊นŒ์ง€ ์ถœ๋ ฅํ•˜๋Š” ์ฝ”๋“œ
public class Main {
    public static void main(String[] args){
        for (int i=0; i<10; i++){
            System.out.println(i+1);
        }
    }
}
//while๋ฌธ์œผ๋กœ ์ž‘์„ฑํ•œ 1~10๊นŒ์ง€ ์ถœ๋ ฅํ•˜๋Š” ์ฝ”๋“œ
public class Main {
    public static void main(String[] args) {
        int i = 0;
        while(i<10){
            System.out.println(i+1);
            i++;
        }
    }
}

-> for๋ฌธ์˜ ์ดˆ๊ธฐ๊ฐ’, ์กฐ๊ฑด, ์ฆ๊ฐ์‹์„ ์ž‘์„ฑํ•˜๋Š” ์œ„์น˜๋งŒ ๋ฐ”๋€Œ์—ˆ๋‹ค๊ณ  ์ƒ๊ฐํ•˜๋ฉด ํŽธํ•˜๋‹ค.

-> ์ดˆ๊ธฐ๊ฐ’์€ while๋ฌธ ์œ„๋กœ ๋น ์ง€๊ณ , ์ฆ๊ฐ์‹์€ ๋ฐ˜๋ณต ์‹คํ–‰ํ•  ๋ช…๋ น๋ฌธ ์•„๋ž˜๋กœ ๊ฐ„๋‹ค. 

-> while (i<10)์—์„œ i๊ฐ’์ด 10๋ณด๋‹ค ์ž‘์œผ๋ฉด ์กฐ๊ฑด์‹์ด ์ฐธ(true)์ด๋ฏ€๋กœ while๋ฌธ ๋‚ด๋ถ€๋กœ ์ง„์ž…ํ•œ๋‹ค.

 

 

while๋ฌธ์˜ ์ž‘๋™ ๋ฐฉ์‹์„ ์ˆœ์„œ๋„๋กœ ๋‚˜ํƒ€๋‚ด๋ฉด ๋‹ค์Œ๊ณผ ๊ฐ™๋‹ค.

if๋ฌธ๊ณผ ๋‹ฌ๋ฆฌ ์กฐ๊ฑด์‹์˜ ๊ฐ’์ด false์ด๋ฉด ๊ทธ๋ƒฅ while๋ฌธ์„ ํƒˆ์ถœํ•œ๋‹ค.

 

 

 

5.2.2. QUIZ โ˜…โ˜…

๋‹ค์Œ์€ for๋ฌธ์œผ๋กœ ์ž‘์„ฑํ•œ ๊ตฌ๊ตฌ๋‹จ ์ถœ๋ ฅ ํ”„๋กœ๊ทธ๋žจ์ด๋‹ค. ์ด ํ”„๋กœ๊ทธ๋žจ์„ while๋ฌธ์œผ๋กœ ๋ฐ”๊ฟ”๋ผ

for (int i=2; i<9; i++){
	System.out.println("====" + i + "๋‹จ====");
    for (int j=1; j<=9; j++){
    	System.out.println(i + "x" + j + "=" (i*j));
    }
}

 

๋‚ด๊ฐ€ ์ง  ์ฝ”๋“œ) - ์ •๋‹ต

์ •๋‹ต ์ฝ”๋“œ์™€ ๋‹ค๋ฅธ ์ ์€ dan์˜ ์ฆ๊ฐ€ ๊ทธ๋ฆฌ๊ณ  i ์ดˆ๊ธฐํ™” ๋ถ€๋ถ„์ž„. ๋‚˜๋Š” ์•ˆ์ชฝ์˜ while๋ฌธ์„ ๋Œ๊ณ  i๊ฐ€ 9๋ณด๋‹ค ์ปค์ ธ์„œ ๋ฐ”๊นฅ while๋ฌธ์œผ๋กœ ๋‚˜์˜ค๋ฉด dan์„ 1 ์ฆ๊ฐ€์‹œํ‚ค๊ณ  i์˜ ๊ฐ’์„ 1๋กœ ์ดˆ๊ธฐํ™”์‹œ์ผฏ์Œ. ์ •๋‹ต ์ฝ”๋“œ๋Š” ๋ฐ”๊นฅ while๋ฌธ์— ์ง„์ž…ํ•˜๊ณ  ๋‚œ ๋’ค(๊ตฌ๊ตฌ๋‹จ ๋‹จ ์ถœ๋ ฅํ•˜๋Š” ๋ถ€๋ถ„ ์œ„์—) i=1์„ ์ ์—ˆ๋‹ค. ์ฆ‰ ์ „์ฒด while๋ฌธ์„ ํ•œ ๋ฐ”ํ€ด ๋Œ๊ณ  dan = 2๊ฐ€ true๊ฐ€ ๋˜๋ฉฐ ๋ฐ”๊นฅ while๋ฌธ์— ์žฌ์ง„์ž…ํ•œ ๋’ค ๋ฐ”๋กœ i๋ฅผ 1๋กœ ์ดˆ๊ธฐํ™” ์‹œํ‚จ๋‹ค.

public class Main {
    public static void main(String[] args) {
        int dan = 2;
        int i = 1;

        while(dan <= 9){
            System.out.printf("\n===== %d๋‹จ =====\n", dan);
            while (i <= 9){
                System.out.println(dan + "x" + i + "=" + (dan*i));
                i++;
            }
            dan++;
            i = 1;
        }
    }
}

 

์ด๊ฑด ์ •๋‹ต ์ฝ”๋“œ์ด๋‹ค.

public static void main(String[] args) {
        int dan = 2;
        int i = 1;

        while(dan <= 9){
            i = 1;
            System.out.printf("\n===== %d๋‹จ =====\n", dan);
            while (i <= 9){
                System.out.println(dan + "x" + i + "=" + (dan*i));
                i++;
            }
            dan++;
        }
    }
<ํ”ผ๋“œ๋ฐฑ>
(1) i๋ฅผ 1๋กœ ์ดˆ๊ธฐํ™” ํ•ด์•ผ ํ•˜๋Š” ๋ถ€๋ถ„์„ ์ƒ๊ฐํ•˜์ง€ ๋ชปํ•ด์„œ 2๋‹จ๋งŒ ์ถœ๋ ฅํ•˜๊ณ  ๋‚˜๋จธ์ง€๋Š” ์ด์ƒํ•˜๊ฒŒ ์ถœ๋ ฅ๋˜์—ˆ๋‹ค.
(2) ๋ฐ”๊นฅ while๋ฌธ -> ์•ˆ์ชฝ while๋ฌธ -> dan++, i=1 -> ๋ฐ”๊นฅ while๋ฌธ์—์„œ dan=2์ด๋ฏ€๋กœ true๊ฐ’์ด ๋˜๋ฉฐ ํ†ต๊ณผ -> ์•ˆ์ชฝ while๋ฌธ -> ...

5.3. ๋ฌด์กฐ๊ฑด ํ•œ ๋ฒˆ์€ ์‹คํ–‰ํ•  ๋•Œ: do-while ๋ฌธ

5.3.1. do-while ๋ฌธ

while๋ฌธ์€ ์†Œ๊ด„ํ˜ธ ์•ˆ ์กฐ๊ฑด์‹์„ ๋จผ์ € ํ™•์ธํ•˜๊ณ , ์กฐ๊ฑด์„ ๋งŒ์กฑํ•˜๋ฉด ์ค‘๊ด„ํ˜ธ ์•ˆ์— ์žˆ๋Š” ๋ช…๋ น๋ฌธ์„ ๋ฐ˜๋ณต ์‹คํ–‰ํ•œ๋‹ค. ๋ฐ˜๋ฉด do-while๋ฌธ์€ ๋ช…๋ น๋ฌธ ๋‹ค์Œ์— while ํ‚ค์›Œ๋“œ์™€ ์กฐ๊ฑด์‹์ด ์˜จ๋‹ค.

-> ๊ทธ๋ž˜์„œ ์กฐ๊ฑด๊ณผ ์ƒ๊ด€์—†์ด ๋ฌด์กฐ๊ฑด ํ•œ ๋ฒˆ(do-while๋ฌธ์˜ ์ฒซ ๋ฒˆ์งธ ์‹คํ–‰์—์„œ)์€ ๋ช…๋ น๋ฌธ์„ ์‹คํ–‰ํ•œ๋‹ค. ์ดํ›„ ์กฐ๊ฑด์„ ๋งŒ์กฑํ•˜์ง€ ์•Š์œผ๋ฉด, ์ฆ‰ ์ฐธ์ด ์•„๋‹ˆ๋ฉด ๋ฐ˜๋ณต๋ฌธ์„ ๋น ์ ธ๋‚˜๊ฐ„๋‹ค.

 

๊ธฐ๋ณธ ํ˜•์‹์€ ์•„๋ž˜์™€ ๊ฐ™๋‹ค.

do{
    [์‹คํ–‰๋ฌธ];
} while(์กฐ๊ฑด์‹);

 

 

์ด์ œ while๋ฌธ๊ณผ do-while๋ฌธ์˜ ์ฐจ์ด์ ์„ ์˜ˆ์ œ๋กœ ํ™•์ธํ•ด๋ณด์ž.

๋จผ์ € while๋ฌธ์ด๋‹ค. while๋ฌธ์˜ ์กฐ๊ฑด์‹์€ i๊ฐ€ 1๋ณด๋‹ค ์ž‘์€ ๊ฒฝ์šฐ true์ด๋ฉฐ ์•ž์—์„œ i ๋ณ€์ˆ˜๋ฅผ 1๋กœ ์ดˆ๊ธฐํ™”ํ–ˆ์œผ๋ฏ€๋กœ ์กฐ๊ฑด์— ๋งŒ์กฑํ•˜์ง€ ์•Š๋Š”๋‹ค. ๋•Œ๋ฌธ์— while๋ฌธ ์•ˆ์˜ ๋ช…๋ น๋ฌธ์€ ์‹คํ–‰๋˜์ง€ ์•Š๊ณ  ๋ฐ”๊นฅ์˜ ๋ช…๋ น๋ฌธ๋งŒ ์‹คํ–‰๋œ๋‹ค.

public class Main {
    public static void main(String[] args) {
        int i=1;
        while(i<1){
            System.out.printf("while๋ฌธ %d๋ฒˆ์งธ ์‹คํ–‰\n", i);
            i++;
        }
        System.out.printf("ํ˜„์žฌ i๋ณ€์ˆ˜์˜ ๊ฐ’: %d", i);
    }
}

//ํ˜„์žฌ i๋ณ€์ˆ˜์˜ ๊ฐ’: 1

 

๊ฐ™์€ ๋ช…๋ น์–ด๋ฅผ ์ž‘์„ฑํ•˜๋ฉด ๋‹ค์Œ๊ณผ ๊ฐ™๋‹ค.

do-while๋ฌธ ์•ˆ์˜ ๋ช…๋ น์–ด๊ฐ€ ๋จผ์ € ์‹คํ–‰๋˜์–ด ๊ฒฐ๊ณผ๋ฅผ ์ถœ๋ ฅํ•˜๊ณ  ์ดํ›„ ์กฐ๊ฑด์‹์„ ํ™•์ธํ•œ๋‹ค. ์—ญ์‹œ ์กฐ๊ฑด์„ ๋งŒ์กฑํ•˜์ง€ ์•Š์œผ๋ฏ€๋กœ ๋ฐ˜๋ณตํ•˜์ง€ ์•Š๊ณ  ์ข…๋ฃŒํ•œ๋‹ค. while๋ฌธ๊ณผ ๋‹ฌ๋ฆฌ do-while๋ฌธ ์•ˆ์˜ ๋ช…๋ น๋ฌธ์ด 1๋ฒˆ ์‹คํ–‰๋˜์–ด i ๋ณ€์ˆ˜์˜ ๊ฐ’์ด ์ฆ๊ฐ€ํ–ˆ์œผ๋ฏ€๋กœ do-while๋ฌธ ๋ฐ”๊นฅ์˜ system.out ํ•จ์ˆ˜์˜ i๋Š” 2๋กœ ์ถœ๋ ฅ๋œ๋‹ค.

public class Main {
    public static void main(String[] args) {
        int i=1;
        do{
            System.out.printf("while๋ฌธ %d๋ฒˆ์งธ ์‹คํ–‰\n", i);
            i++;
        }
        while(i<1);
        System.out.printf("ํ˜„์žฌ i๋ณ€์ˆ˜์˜ ๊ฐ’: %d", i);
    }
}

/*
while๋ฌธ 1๋ฒˆ์งธ ์‹คํ–‰
ํ˜„์žฌ i๋ณ€์ˆ˜์˜ ๊ฐ’: 2
*/
์ด์ฒ˜๋Ÿผ do-while๋ฌธ์€ ์กฐ๊ฑด์„ ๋งŒ์กฑํ•˜์ง€ ์•Š๋”๋ผ๊ณ  ์ค‘๊ด„ํ˜ธ ์•ˆ ๋ช…๋ น๋ฌธ์„ ๋ฌด์กฐ๊ฑด ํ•œ ๋ฒˆ์€ ์‹คํ–‰ํ•œ๋‹ค. ๊ทธ๋ž˜์„œ do-while ๋ฐ˜๋ณต๋ฌธ์€ ์–ด๋–ค ๋ช…๋ น์„ ํ•œ ๋ฒˆ ์ˆ˜ํ–‰ํ•œ ํ›„ ๋ฐ˜๋ณต ์—ฌ๋ถ€๋ฅผ ๊ฒฐ์ •ํ•  ๋•Œ ์ฃผ๋กœ ์‚ฌ์šฉ๋œ๋‹ค.

 

do-while๋ฌธ์˜ ์ˆœ์„œ๋„๋Š” ์•„๋ž˜์™€ ๊ฐ™๋‹ค.

 

 

 

5.3.2. QUIZ

์ด ๊ฒฝ์šฐ์—๋Š” ์ˆซ์ž๋ฅผ ์ž…๋ ฅ๋ฐ›๋Š” ๋ถ€๋ถ„์ด do์˜ ์ค‘๊ด„ํ˜ธ ์•ˆ์— ์กด์žฌํ•œ๋‹ค. ์ฆ‰ 0์„ ์ž…๋ ฅํ–ˆ์„๋•Œ๊ฐ€ ์ด๋ฏธ do ์•ˆ์— ์žˆ๋Š” ์ƒํƒœ์ด๊ธฐ ๋•Œ๋ฌธ์—(์ง์ „์— num!=0์„ ๋งŒ์กฑํ•˜๋Š” ์ˆซ์ž๋ฅผ ์ž…๋ ฅํ–ˆ์„ ๊ฑฐ์ž„) '์ž…๋ ฅํ•œ ์ˆซ์ž๋Š” 0์ž…๋‹ˆ๋‹ค'๊ฐ€ ์ถœ๋ ฅ๋œ๋‹ค.

์œ„์—์„œ ์‚ดํŽด๋ดค๋˜ do-while๋ฌธ์ด๋ž‘ ํ–‡๊ฐˆ๋ฆฌ๋ฉด ์•ˆ๋œ๋‹ค(๋‚ด๊ฐ€ ๊ทธ๋žฌ๋‹ค)

public class Main {
    public static void main(String[] args) {
        Scanner scan = new Scanner(System.in);
        int num;

        do{
            System.out.print("์ˆซ์ž๋ฅผ ์ž…๋ ฅํ•˜์„ธ์š”(0์„ ์ž…๋ ฅํ•˜๋ฉด ์ข…๋ฃŒ๋ฉ๋‹ˆ๋‹ค. ->");
            num = scan.nextInt();
            System.out.printf("์ž…๋ ฅํ•œ ์ˆซ์ž๋Š” %d์ž…๋‹ˆ๋‹ค.\n", num);
        } while(num != 0); //์กฐ๊ฑด์‹์€....?
        System.out.println("ํ”„๋กœ๊ทธ๋žจ์„ ์ข…๋ฃŒํ•ฉ๋‹ˆ๋‹ค.");
    }
}


5.4. ๋ฌดํ•œ ๋ฐ˜๋ณต๋ฌธ

๋ฐ˜๋ณต๋ฌธ์ด ๋๋‚˜์ง€ ์•Š๊ณ  ๋ฌดํ•œํžˆ ๋ฐ˜๋ณต๋˜๋Š” ๊ฒฝ์šฐ๊ฐ€ ์žˆ๋Š”๋ฐ, ์ด๋ฅผ ๋ฌดํ•œ ๋ฐ˜๋ณต๋ฌธ(infinite loop) ๋˜๋Š” ๋ฌดํ•œ ๋ฃจํ”„๋ผ๊ณ  ํ•œ๋‹ค. ์กฐ๊ฑด์„ ์ž˜๋ชป ์„ค์ •ํ•ด์„œ ๋ฐœ์ƒํ•˜๋Š” ์˜ค๋ฅ˜์ผ ์ˆ˜๋„ ์žˆ์ง€๋งŒ, ํ”„๋กœ๊ทธ๋žจ์—์„œ ์˜๋„์ ์œผ๋กœ ๋ฌดํ•œ ๋ฐ˜๋ณต๋ฌธ์„ ์ž‘์„ฑํ•˜๊ธฐ๋„ ํ•œ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด, ์‚ฌ์šฉ์ž ์ž…๋ ฅ์œผ๋กœ ํ”„๋กœ๊ทธ๋žจ์„ ์ง„ํ–‰ํ•˜๋Š” ๊ฒฝ์šฐ์— ์‚ฌ์šฉ์ž ์ž…๋ ฅ์ด ๋“ค์–ด์˜ฌ ๋•Œ๊นŒ์ง€ ๋Œ€๊ธฐํ•˜๋Š” ๊ฒฝ์šฐ๊ฐ€ ๊ทธ๋ ‡๋‹ค.

 

 

5.4.1. for๋ฌธ์„ ์ด์šฉํ•œ ๋ฌดํ•œ ๋ฐ˜๋ณต๋ฌธ: for(;;)

for๋ฌธ์„ ์‚ฌ์šฉํ•ด ๋ฌดํ•œ ๋ฐ˜๋ณต๋ฌธ์„ ๋งŒ๋“ค์–ด๋ณด์ž. for๋ฌธ์œผ๋กœ ๋ฌดํ•œ ๋ฐ˜๋ณต๋ฌธ์„ ๋งŒ๋“ค ๋•Œ๋Š” ์†Œ๊ด„ํ˜ธ ์•ˆ์— ์ดˆ๊นƒ๊ฐ’, ์กฐ๊ฑด์‹, ์ฆ๊ฐ์‹์„ ๋ชจ๋‘ ๋นผ๊ณ  ์„ธ๋ฏธ์ฝœ๋ก ๋งŒ ๋‚จ๊ธฐ๋ฉด ๋œ๋‹ค.

์˜ˆ์ œ์—์„œ๋Š” ์‚ฌ์šฉ์ž๊ฐ€ ์ˆซ์ž๋ฅผ ์ž…๋ ฅํ•˜๊ธฐ ์ „๊นŒ์ง€ ๋ฐ˜๋ณต๋ฌธ์ด ๋๋‚˜์ง€ ์•Š๊ณ ์žˆ๋‹ค. ์‚ฌ์šฉ์ž๊ฐ€ ์ˆซ์ž๋ฅผ ์ž…๋ ฅํ•˜๊ธฐ ์ „๊นŒ์ง€ ๊ณ„์†ํ•ด์„œ '์ˆซ์ž๋ฅผ ์ž…๋ ฅํ•˜์„ธ์š”->' ๋ถ€๋ถ„์— ๋ฉˆ์ถฐ์žˆ์„๊ฒƒ์ด๋‹ค.

public class Main {
    public static void main(String[] args) {
        int sum=0;
        
        for (;;){
            System.out.println("์ˆซ์ž๋ฅผ ๋ฌดํ•œ ๋ฐ˜๋ณตํ•ด์„œ ๋”ํ•˜๋Š” ์ค‘์ž…๋‹ˆ๋‹ค.");
            System.out.print("์ˆซ์ž๋ฅผ ์ž…๋ ฅํ•˜์„ธ์š” ->");
            Scanner num = new Scanner(System.in);
            int num1 = num.nextInt();
            sum = sum + num1;
            System.out.println("๊ฒฐ๊ณผ" + sum);
        }
    }
}

๋ฐ˜๋ณต ๋ฒ”์œ„๋‚˜ ํšŸ์ˆ˜๋ฅผ ์ง€์ •ํ•˜๋Š” ์กฐ๊ฑด์ด ์—†์–ด์„œ ๋ช…๋ น๋ฌธ์„ ๋ฌดํ•œ ๋ฐ˜๋ณตํ•ด์„œ ์‹คํ–‰ํ•œ๋‹ค.

 

 

 

5.4.2. while๋ฌธ์„ ์ด์šฉํ•œ ๋ฌดํ•œ ๋ฐ˜๋ณต๋ฌธ: while(true)

while๋ฌธ์€ ์กฐ๊ฑด์ด ์ฐธ(true)์ผ ๋™์•ˆ ๋ช…๋ น๋ฌธ์„ ์‹คํ–‰ํ•œ๋‹ค. while ๋ฌธ์˜ ์กฐ๊ฑด์‹์— true๋ผ๋Š” boolean ๊ฐ’์„ ๋„ฃ์œผ๋ฉด ํ•ญ์ƒ ์กฐ๊ฑด์ด ์ฐธ์ด ๋˜๊ณ , ์ด์— ์˜ํ•ด ๋ฐ˜๋ณต๋ฌธ์„ ๋น ์ ธ๋‚˜์˜ค์ง€ ๋ชปํ•˜๊ณ  ๋ฌดํ•œ ๋ฐ˜๋ณตํ•˜๊ฒŒ ๋œ๋‹ค.

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

        while(true){
            System.out.println("์ˆซ์ž๋ฅผ ๋ฌดํ•œ ๋ฐ˜๋ณตํ•ด์„œ ๋”ํ•˜๋Š” ์ค‘์ž…๋‹ˆ๋‹ค.");
            System.out.print("์ˆซ์ž๋ฅผ ์ž…๋ ฅํ•˜์„ธ์š” ->");
            Scanner num = new Scanner(System.in);
            int num1 = num.nextInt();
            sum = sum + num1;
            System.out.println("๊ฒฐ๊ณผ" + sum);
        }
    }
}

 

 

 

5.4.3. ์œ ์˜ํ•ด์•ผ ํ•  ์ 

๋ฌดํ•œ ๋ฐ˜๋ณต๋ฌธ์„ ์ž˜๋ชป ๋งŒ๋“ค๋ฉด ํ”„๋กœ๊ทธ๋žจ์ด ์ข…๋ฃŒ๋˜์ง€ ์•Š๊ณ  ์˜์›ํžˆ ์‹คํ–‰๋  ์ˆ˜ ์žˆ๋‹ค. ๊ทธ๋Ÿฌ๋ฉด CPU๋‚˜ ๋ฉ”๋ชจ๋ฆฌ ๋“ฑ์ด ๊ณ„์† ๋‚ญ๋น„๋˜ ์ปดํ“จํ„ฐ์— ๋ฌธ์ œ๊ฐ€ ์ƒ๊ธธ ์ˆ˜ ์žˆ๋‹ค. ์ด์™ธ์—๋„ ์—ฌ๋Ÿฌ ๋ฌธ์ œ๊ฐ€ ๋ฐœ์ƒํ•  ์ˆ˜ ์žˆ์œผ๋‹ˆ, ๋ฌดํ•œ ๋ฐ˜๋ณต๋ฌธ์„ ์‚ฌ์šฉํ•  ๋•Œ๋Š” ๋ฌธ์ œ ๋ฐœ์ƒ ๊ฐ€๋Šฅ์„ฑ์„ ์—ผ๋‘์— ๋‘๊ณ  ์ข…๋ฃŒ ์กฐ๊ฑด์„ ๋ช…ํ™•ํžˆ ๋„ฃ์–ด์•ผ ํ•œ๋‹ค.


5.5. ํ”„๋กœ๊ทธ๋žจ ํ๋ฆ„ ์ œ์–ดํ•˜๊ธฐ

๋ฌดํ•œ ๋ฐ˜๋ณต๋ฌธ์—์„œ ๋น ์ ธ๋‚˜์˜ค๋ ค๋ฉด ์–ด๋–ป๊ฒŒ ํ•ด์•ผ ํ• ๊นŒ? Intelli J์˜ ์ค‘์ง€ ๋ฒ„ํŠผ์„ ๋ˆ„๋ฅด๋Š” ๋ฐฉ๋ฒ•๋ฐ–์— ์—†์„๊นŒ?์‚ฌ์‹ค ์ค‘์ง€ ๋ฒ„ํŠผ์„ ๋ˆ„๋ฅด๋Š” ๋ฐฉ๋ฒ•์€ ํ”„๋กœ๊ทธ๋žจ ์ž์ฒด๋ฅผ ์ข…๋ฃŒํ•˜๋Š” ๋ฐฉ๋ฒ•์ด๋‹ค. 

ํ”„๋กœ๊ทธ๋žจ์€ ๊ณ„์† ์‹คํ–‰ํ•˜๋ฉด์„œ while ๋ฌธ์—์„œ๋งŒ ๋น ์ ธ๋‚˜์˜ค๊ณ  ์‹ถ์„ ์ˆ˜๋„ ์žˆ์„ํ…๋ฐ, ์ด๋Ÿด ๊ฒฝ์šฐ์—๋Š” break๋ฌธ์„ ์‚ฌ์šฉํ•œ๋‹ค. break๋ฌธ์€ ํ”„๋กœ๊ทธ๋žจ์˜ ํ๋ฆ„์„ ๋ณ€๊ฒฝํ•œ๋‹ค.

 

 

5.5.1. break๋กœ ๋ฐ˜๋ณต๋ฌธ ํƒˆ์ถœํ•˜๊ธฐ

๋ฐ˜๋ณต๋ฌธ์—์„œ break๋ฌธ์„ ๋งŒ๋‚˜๋ฉด ์กฐ๊ฑด๊ณผ ์ƒ๊ด€ ์—†์ด ๋ฐ˜๋ณต๋ฌธ์„ ํƒˆ์ถœํ•œ๋‹ค.

while(true){
	[์‹คํ–‰๋ฌธ];
	break;
}

 

์œ„์—์„œ ์ž‘์„ฑํ•œ ์ˆซ์ž๋ฅผ ์ž…๋ ฅํ•˜์—ฌ ๋”ํ•˜๋Š” while(true)๋ฌธ์„ ๊ฐœ์กฐํ•ด์„œ, ๋”ํ•œ ๊ฐ’์ด 10,000์„ ๋„˜์œผ๋ฉด ํ”„๋กœ๊ทธ๋žจ์„ ์ข…๋ฃŒํ•˜๋Š” ์ฝ”๋“œ๋กœ ๋ฐ”๊ฟ”๋ณด์ž.

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

        while(true){
            System.out.println("์ˆซ์ž๋ฅผ ๋ฌดํ•œ ๋ฐ˜๋ณตํ•ด์„œ ๋”ํ•˜๋Š” ์ค‘์ž…๋‹ˆ๋‹ค.");
            System.out.print("์ˆซ์ž๋ฅผ ์ž…๋ ฅํ•˜์„ธ์š” ->");
            Scanner num = new Scanner(System.in);
            int num1 = num.nextInt();
            sum = sum + num1;
            System.out.println("๊ฒฐ๊ณผ" + sum);

            if (sum > 10000){
                break;
            }
        }
    }
}

 

if ๊ฐ™์€ ์กฐ๊ฑด๋ฌธ ์—†์ด while(true) ๋ฐ˜๋ณต๋ฌธ ์•ˆ์— ๊ทธ๋ƒฅ break๊ฐ€ ์žˆ์œผ๋ฉด, break ์ „๊นŒ์ง€ ์ฆ‰ ์ฒซ ๋ฒˆ์งธ ์—ฐ์‚ฐ ๊ฒฐ๊ณผ๋งŒ ์ถœ๋ ฅํ•˜๊ณ  ๋ฐ”๋กœ ๋๋‚˜๋ฒ„๋ฆฐ๋‹ค. ๊ทธ๋ž˜์„œ if ๋ฌธ์œผ๋กœ ๋ฌดํ•œ ๋ฐ˜๋ณต๋ฌธ์„ ์ข…๋ฃŒํ•˜๋Š” ์กฐ๊ฑด์„ ์ค˜์„œ break ๋ฌธ์„ ์‹คํ–‰ํ•˜์˜€๋‹ค.

 

๊ทธ๋ฆฌ๊ณ  ๋งŒ์•ฝ while๋ฌธ ๋ฐ–์— 'ํƒˆ์ถœํ–ˆ์Šต๋‹ˆ๋‹ค'๋ฅผ ์ถœ๋ ฅํ•˜๋Š” ์ฝ”๋“œ๊ฐ€ ์žˆ์œผ๋ฉด ์ด๊ฑด ์ถœ๋ ฅ๋œ๋‹ค. ์™œ๋ƒํ•˜๋ฉด berak๋ฌธ์€ while๋ฌธ์„ ํƒˆ์ถœํ•˜๋Š”๊ฑฐ์ง€ ํ”„๋กœ๊ทธ๋žจ์„ ์ข…๋ฃŒํ•˜๋Š”๊ฑด ์•„๋‹ˆ๊ธฐ ๋•Œ๋ฌธ์ด๋‹ค.

 

 

 

5.5.2. continue๋กœ ๋ฐ˜๋ณต ๊ตฌ๊ฐ„ ๊ฑด๋„ˆ๋›ฐ๊ธฐ โ˜…

๋ฐ˜๋ณต๋ฌธ์„ ํƒˆ์ถœํ•˜์ง€ ์•Š๊ณ , ํŠน์ • ๊ตฌ๊ฐ„๋งŒ ๊ฑด๋„ˆ๋›ธ ์ˆ˜๋„ ์žˆ๋‹ค. ์ด๋•Œ๋Š” continue ๋ฌธ์„ ์‚ฌ์šฉํ•œ๋‹ค. while๋ฌธ์„ ๋ฐ˜๋ณตํ•˜๋‹ค๊ฐ€ continue๋ฌธ์„ ๋งŒ๋‚˜๋ฉด ํ˜„์žฌ ๋ฐ˜๋ณต์„ ์ค‘๋‹จํ•˜๊ณ (๋งŒ์•ฝ ์ฒซ ๋ฒˆ์งธ ๋ฐ˜๋ณต์ด๋ผ๋ฉด ์ด ๋ฐ˜๋ณต์„ ์ค‘๋‹จํ•˜๊ณ ) ๋‹ค์Œ ๋ฐ˜๋ณต์œผ๋กœ ๋„˜์–ด๊ฐ„๋‹ค(๋‘ ๋ฒˆ์งธ ๋ฐ˜๋ณต์œผ๋กœ ๋„˜์–ด๊ฐ„๋‹ค). ์ด๋•Œ continue ๋ฌธ ๋’ค์— ๋„๋Š” ์ฝ”๋“œ๋Š” ์ˆ˜ํ–‰ํ•˜์ง€ ์•Š๋Š”๋‹ค.

 

continue ๋ฌธ์ด ์–ด๋–ป๊ฒŒ ์ž‘๋™ํ•˜๋Š”์ง€ ์˜ˆ์ œ์™€ ํ•จ๊ป˜ ์‚ดํŽด๋ณด์ž. ์œ„์™€ ๋™์ผํ•œ ์ฝ”๋“œ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์ž…๋ ฅ๊ฐ’์ด ์ง์ˆ˜์ผ ๋•Œ๋งŒ ๊ฐ’์„ ๋”ํ•˜๋Š” ์ฝ”๋“œ๋กœ ๊ฐœ์กฐํ• ๊ฒƒ์ด๋‹ค.

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

        while(true){
            System.out.println("์ˆซ์ž๋ฅผ ๋ฌดํ•œ ๋ฐ˜๋ณตํ•ด์„œ ๋”ํ•˜๋Š” ์ค‘์ž…๋‹ˆ๋‹ค.");
            System.out.print("์ˆซ์ž๋ฅผ ์ž…๋ ฅํ•˜์„ธ์š” ->");
            Scanner num = new Scanner(System.in);
            int num1 = num.nextInt();
            //num1์ด ํ™€์ˆ˜์ธ์ง€ ํŒ๋‹จํ•˜๋ ค๋ฉด ์—ฌ๊ธฐ์— continue๋ฌธ์„ ์ž‘์„ฑํ•ด์•ผ ํ•œ๋‹ค.
            if (num1 % 2 == 1){
                System.out.println("ํ™€์ˆ˜์ž…๋‹ˆ๋‹ค. ์ง์ˆ˜๋ฅผ ์ž…๋ ฅํ•ด์ฃผ์„ธ์š”");
                continue;
            }

            sum = sum + num1;
            System.out.println("๊ฒฐ๊ณผ" + sum);

            if (sum > 10000){
                break;
            }
        }
    }
}

-> ์ถ”๊ฐ€ํ•œ if ๋ฌธ์˜ ์กฐ๊ฑด์‹์—์„œ i๊ฐ€ ํ™€์ˆ˜์ผ๋•Œ๋Š”(true) if ๋ฌธ ์•ˆ์˜ continue๊ฐ€ ์‹คํ–‰๋˜ ์ดํ›„ ์ฝ”๋“œ๋ฅผ ์‹คํ–‰ํ•˜์ง€ ์•Š๊ณ  while ๋ฌธ์˜ ์กฐ๊ฑด์‹์œผ๋กœ ๋‹ค์‹œ ๋Œ์•„๊ฐ„๋‹ค.

 

 

 

5.5.3. ์‹ค์Šต: ๊ตฌ๊ตฌ๋‹จ ํ”„๋กœ๊ทธ๋žจ ๊ฐœ์„ ํ•˜๊ธฐ

5.1.4 ์‹ค์Šต์—์„œ ์ž‘์„ฑํ•œ ๊ตฌ๊ตฌ๋‹จ์€ ๋‹จ ํ•˜๋‚˜๋ฅผ ์ž…๋ ฅ๋ฐ›์•„ ์ถœ๋ ฅํ•œ ๋’ค์— ํ”„๋กœ๊ทธ๋žจ์„ ์ข…๋ฃŒํ–ˆ์—ˆ๋‹ค. ์ด๋ฒˆ์—๋Š” ์ข…๋ฃŒ ์กฐ๊ฑด์„ ๋งŒ๋‚˜๊ธฐ ์ „๊นŒ์ง€ ๋ฐ˜๋ณต ์‹คํ–‰ํ•˜๋„๋ก ์ฝ”๋“œ๋ฅผ ์ˆ˜์ •ํ•ด๋ณผ๊ฒƒ์ด๋‹ค.

 

while๋ฌธ์œผ๋กœ ๋ฌดํ•œ ๋ฐ˜๋ณต๋ฌธ์„ ์ž‘์„ฑํ•˜๊ณ  for๋ฌธ์œผ๋กœ ์ž‘์„ฑํ•œ ๊ตฌ๊ตฌ๋‹จ ์ฝ”๋“œ๋ฅผ while๋ฌธ ์•ˆ์— ๋„ฃ๋Š”๋‹ค. for๋ฌธ ์œ„์— if๋ฌธ์œผ๋กœ ๋ฐ˜๋ณต๋ฌธ์˜ ์ข…๋ฃŒ ์กฐ๊ฑด์„ ์„ค์ •ํ•œ๋‹ค. ์—ฌ๊ธฐ์„œ๋Š” 0์„ ์ž…๋ ฅ๋ฐ›์œผ๋ฉด ๋ฐ˜๋ณต๋ฌธ์„ ํƒˆ์ถœํ•˜๊ฒŒ ํ• ๊ฒƒ์ด๋‹ค. if ๋ฌธ์œผ๋กœ ์ž…๋ ฅ๋ฐ›์€ ๊ฐ’์ด 0์ธ์ง€ ํŒ๋‹จํ•˜๊ณ  0์ด๋ฉด ํ”„๋กœ๊ทธ๋žจ์„ ์ข…๋ฃŒํ•œ๋‹ค๋Š” ๋ฌธ๊ตฌ๋ฅผ ์ถœ๋ ฅํ•œ ํ›„ break๋ฌธ์œผ๋กœ ๋ฐ˜๋ณต๋ฌธ์„ ํƒˆ์ถœํ•œ๋‹ค. 

public class Main {
    public static void main(String[] args) {
        System.out.println("**** ๊ตฌ๊ตฌ๋‹จ ํ”„๋กœ๊ทธ๋žจ์„ ์‹œ์ž‘ํ•ฉ๋‹ˆ๋‹ค ****");
        System.out.println("(์ข…๋ฃŒํ•˜๋ ค๋ฉด '0'์„ ์ž…๋ ฅํ•˜์„ธ์š”)");

        while (true){
            System.out.print("์ถœ๋ ฅํ•  ๋‹จ์„ ์ž…๋ ฅํ•˜์„ธ์š”:");
            Scanner scan = new Scanner(System.in);
            int dan = scan.nextInt();
            int sum;

            if (dan == 0){
                break;
            }

            for (int i=1; i<=9; i++){
                sum = dan * i;
                System.out.printf("%d x %d = %d\n", dan, i, sum);
            }
        }
        System.out.println("**** ๊ตฌ๊ตฌ๋‹จ ํ”„๋กœ๊ทธ๋žจ์„ ์ข…๋ฃŒํ•ฉ๋‹ˆ๋‹ค ****");
    }
}

 

์ฝ”๋“œ๋ฅผ ์‹คํ–‰ํ•˜๋ฉด ํ”„๋กœ๊ทธ๋žจ ์‹œ์ž‘ ๋ฌธ๊ตฌ๋ฅผ ์ถœ๋ ฅํ•˜๊ณ  ์ž…๋ ฅ์„ ๊ธฐ๋‹ค๋ฆฐ๋‹ค.

์ถœ๋ ฅํ•  ๋‹จ์„ ์ž…๋ ฅ๋ฐ›์€ ํ›„์— ์ด ๊ฐ’์ด 0์ธ์ง€ ํŒ๋‹จํ•ด์•ผ ํ•˜๋ฏ€๋กœ, ์‚ฌ์šฉ์ž๋กœ๋ถ€ํ„ฐ dan์„ ์ž…๋ ฅ๋ฐ›์€ ํ›„ if๋ฌธ์œผ๋กœ 0์ธ์ง€ ํŒ๋‹จํ•˜๊ณ , ๊ทธ ์•„๋ž˜์— 

 

 

 

5.5.4. QUIZ

๋‹ค์Œ ์ฝ”๋“œ๋ฅผ ์‹คํ–‰ํ•˜๋ฉด ์–ด๋–ค ๊ฒฐ๊ณผ๊ฐ€ ๋‚˜์˜ฌ์ง€ ๊ณ ๋ฅด์„ธ์š”

for (int i=0; i<20; i++){
	if (i%2 == 0){
    	System.out.println("์ง์ˆ˜");
    }
    else{
    	System.out.println("ํ™€์ˆ˜");
    }
    berak;
}

 

๋‚ด๊ฐ€ ์ƒ๊ฐํ•œ ๋‹ต) - ์•„๋‹˜

'์ง์ˆ˜'์™€ 'ํ™€์ˆ˜'๊ฐ€ ๋ฒˆ๊ฐˆ์•„ 10๋ฒˆ์”ฉ ์ถœ๋ ฅ๋˜๊ณ  ํ”„๋กœ๊ทธ๋žจ์ด ์ข…๋ฃŒ๋œ๋‹ค.

 

๋‹ต)

'์ง์ˆ˜'๊ฐ€ ํ•œ ๋ฒˆ ์ถœ๋ ฅ๋˜๊ณ  ํ”„๋กœ๊ทธ๋žจ์ด ์ข…๋ฃŒ๋œ๋‹ค

-> break๋ฌธ์„ ๋ชป ๋ด„........................................................................................์ฝ”๋“œ๋ฅผ ๋๊นŒ์ง€ ์ฝ์งœ........................


๋งˆ๋ฌด๋ฆฌ

1. ๋ฐ˜๋ณต๋ฌธ

๋ฐ˜๋ณต๋ฌธ์€ ๊ฐ™์€ ๋ช…๋ น์„ ๋ฐ˜๋ณตํ•ด์„œ ์‹คํ–‰ํ•  ๋•Œ ์‚ฌ์šฉํ•œ๋‹ค.

 

 

2. for ๋ฌธ

(1) ๋Œ€ํ‘œ์ ์ธ ๋ฐ˜๋ณต๋ฌธ์œผ๋กœ, ์ •ํ•ด์ง„ ํšŸ์ˆ˜๋‚˜ ๋ฒ”์œ„๋งŒํผ ๋ฐ˜๋ณตํ•  ๋•Œ ์‚ฌ์šฉํ•œ๋‹ค.

for (์ดˆ๊ธฐ๊ฐ’, ์กฐ๊ฑด์‹, ์ฆ๊ฐ์‹){
	์‹คํ–‰๋ฌธ;
}

(2) ์ดˆ๊ธฐ๊ฐ’์€ ๋ฐ˜๋ณต ๋ฒ”์œ„์˜ ์‹œ์ž‘๊ฐ’์ด๋‹ค. ๋ณ€์ˆ˜์— ๊ฐ’์„ ๋„ฃ์–ด ์ดˆ๊ธฐํ™”ํ•˜๋Š” ๋ฐฉ์‹์œผ๋กœ ์ž‘์„ฑํ•˜๊ณ , ๋ฐ˜๋ณต๋ฌธ์„ ์ฒ˜์Œ ์‹คํ–‰ํ•  ๋•Œ ํ•œ ๋ฒˆ ์ˆ˜ํ–‰ํ•œ๋‹ค

(3) ์กฐ๊ฑด์‹์—๋Š” ๋ฐ˜๋ณต ๋ฒ”์œ„ ๋˜๋Š” ํšŸ์ˆ˜๋ฅผ ๋„ฃ๋Š”๋‹ค.

(3) ์ฆ๊ฐ์‹์—์„œ๋Š” ๋ณ€์ˆ˜ ๊ฐ’์„ ์ฆ๊ฐ€์‹œํ‚ค๊ฑฐ๋‚˜ ๊ฐ์†Œ์‹œ์ผœ์„œ ๋ฐ˜๋ณต ํšŸ์ˆ˜๋ฅผ ์กฐ์ ˆํ•œ๋‹ค.

 

 

3. ์ฆ๊ฐ ์—ฐ์‚ฐ์ž ?????

(1) ++, --๊ฐ€ ์žˆ์œผ๋ฉฐ ์ฆ๊ฐ ์—ฐ์‚ฐ์ž๊ฐ€ ์–ด๋””์— ์œ„์น˜ํ•˜๋А๋ƒ์— ๋”ฐ๋ผ ์ „์œ„ ์ฆ๊ฐ ์—ฐ์‚ฐ์ž์™€ ํ›„์œ„ ์ฆ๊ฐ ์—ฐ์‚ฐ์ž๋กœ ๋‚˜๋‰œ๋‹ค.

์ฆ๊ฐ ์—ฐ์‚ฐ์ž ์„ค๋ช…
i++ i๊ฐ’์„ ๋จผ์ € ์‚ฌ์šฉํ•œ ํ›„ i+1์„ ์ˆ˜ํ–‰
i-- i๊ฐ’์„ ๋จผ์ € ์‚ฌ์šฉํ•œ ํ›„ i-1์„ ์ˆ˜ํ–‰
++i i+1์„ ํ•œ ํ›„์— i๊ฐ’์„ ์‚ฌ์šฉ
--i i-1์„ ํ•œ ํ›„์— i๊ฐ’์„ ์‚ฌ์šฉ

 

 

4. ์ค‘์ฒฉ ๋ฐ˜๋ณต๋ฌธ

์ค‘์ฒฉ ๋ฐ˜๋ณต๋ฌธ์ด๋ž€ ๋ฐ˜๋ณต๋ฌธ ์•ˆ์— ๋‹ค๋ฅธ ๋ฐ˜๋ณต๋ฌธ์ด ์žˆ๋Š” ํ˜•ํƒœ๋ฅผ ๋งํ•œ๋‹ค.

 

 

5. while ๋ฌธ

while๋ฌธ์€ ์กฐ๊ฑด์‹์ด ์ฐธ์ธ ๋™์•ˆ while ๋ฌธ ์•ˆ์˜ ๋ช…๋ น๋ฌธ์„ ๋ฐ˜๋ณตํ•ด์„œ ์‹คํ–‰ํ•œ๋‹ค.

while (์กฐ๊ฑด์‹){
	์‹คํ–‰๋ฌธ;
}

 

 

6. do-while ๋ฌธ

do-while ๋ฌธ์€ ์กฐ๊ฑด์‹๊ณผ ์ƒ๊ด€์—†์ด ๋ฌด์กฐ๊ฑด ํ•œ ๋ฒˆ์€ ๋ช…๋ น๋ฌธ์„ ์‹คํ–‰ํ•œ ํ›„, ์กฐ๊ฑด์ด ์ฐธ์ผ ๋™์•ˆ ๋ฐ˜๋ณตํ•œ๋‹ค. ์กฐ๊ฑด์ด ์ฐธ์ด ์•„๋‹ˆ๋ผ๋ฉด ๋ฐ˜๋ณต๋ฌธ์„ ๋น ์ ธ๋‚˜๊ฐ„๋‹ค.

do{
	์‹คํ–‰๋ฌธ;
} while(์กฐ๊ฑด์‹);

 

 

7. ๋ฌดํ•œ ๋ฐ˜๋ณต๋ฌธ

(1) ๋ฐ˜๋ณต๋ฌธ์ด ๋๋‚˜์ง€ ์•Š๊ณ  ๋ฌดํ•œํžˆ ๋ฐ˜๋ณต๋˜๋ฉด ์ด๋ฅผ ๋ฌดํ•œ ๋ฐ˜๋ณต๋ฌธ ๋˜๋Š” ๋ฌดํ•œ ๋ฃจํ”„๋ผ๊ณ  ํ•œ๋‹ค.

(2) ํ”„๋กœ๊ทธ๋žจ์—์„œ ์˜๋„์ ์œผ๋กœ ๋ฌดํ•œ ๋ฐ˜๋ณต๋ฌธ์„ ์ž‘์„ฑํ•˜๊ธฐ๋„ ํ•œ๋‹ค.

(3) for (;;) / while(true)๋กœ ๋ฌดํ•œ ๋ฐ˜๋ณต๋ฌธ์„ ๊ตฌํ˜„ํ•  ์ˆ˜ ์žˆ๋‹ค.

 

 

8. ํ”„๋กœ๊ทธ๋žจ ํ๋ฆ„ ์ œ์–ด

(1) ๋ฐ˜๋ณต๋ฌธ์—์„œ break ๋ฌธ์„ ๋งŒ๋‚˜๋ฉด ๋ฐ˜๋ณต๋ฌธ์„ ํƒˆ์ถœํ•œ๋‹ค. ํ”„๋กœ๊ทธ๋žจ์„ ์ข…๋ฃŒํ•˜๋Š” ๊ฒƒ์ด ์•„๋‹ˆ๋ผ ๋ฐ˜๋ณต๋ฌธ์„ ์ค‘๋‹จํ•˜๊ณ  ๋‹ค์Œ ์ฝ”๋“œ๋กœ ๋„˜์–ด๊ฐ„๋‹ค. ๋ฌดํ•œ ๋ฐ˜๋ณต์—์„œ ๋น ์ ธ๋‚˜์˜ฌ ๋•Œ ์ฃผ๋กœ break ๋ฌธ์„ ์‚ฌ์šฉํ•œ๋‹ค.

(2) ๋ฐ˜๋ณต๋ฌธ์—์„œ continue ๋ฌธ์„ ๋งŒ๋‚˜๋ฉด, ํ˜„์žฌ ๋ฐ˜๋ณต์„ ์ค‘๋‹จํ•˜๊ณ  ๋‹ค์Œ ๋ฐ˜๋ณต์œผ๋กœ ๋„˜์–ด๊ฐ„๋‹ค. ๋ฐ˜๋ณต๋ฌธ์„ ์ค‘๋‹จํ•˜๋Š” ๊ฒƒ์ด ์•„๋‹ˆ๋ผ ํ˜„์žฌ ๋ฐ˜๋ณต์„ ๊ฑด๋„ˆ๋›ฐ๋Š” ์—ญํ• ์ด๋‹ค.


์…€ํ”„ ์ฒดํฌ โ˜…โ˜…โ˜…

์กฐ๊ฑด)

1. while ๋ฌธ์„ ์‚ฌ์šฉํ•œ ๋ฌดํ•œ ๋ฐ˜๋ณต๋ฌธ์œผ๋กœ ์ž‘์„ฑํ•œ๋‹ค.

2. ์ดˆ๊ธฐ ์‹คํ–‰ํ™”๋ฉด์€ ๋‹ค์Œ๊ณผ ๊ฐ™๋‹ค.

3. ์Œ๋ฃŒ ๋ฒˆํ˜ธ๋ฅผ ์ž…๋ ฅํ•˜๋ฉด ์Œ๋ฃŒ ๊ฐ€๊ฒฉ๊ณผ ํ˜„์žฌ ํˆฌ์ž…๋œ ๊ธˆ์•ก์„ ๋น„๊ตํ•œ๋‹ค. ํ˜„์žฌ ํˆฌ์ž…๋œ ๊ธˆ์•ก์ด ๋” ํฌ๋ฉด ๊ธˆ์•ก์—์„œ ์Œ๋ฃŒ ๊ฐ€๊ฒฉ์„ ๋บ€ ํ›„ ์Œ๋ฃŒ ์„ ํƒ ํ™”๋ฉด์œผ๋กœ ๋Œ์•„๊ฐ„๋‹ค. ํ˜„์žฌ ํˆฌ์ž…๋œ ๊ธˆ์•ก์ด ๋” ์ ์œผ๋ฉด ๊ธˆ์•ก์ด ๋ถ€์กฑํ•˜๋‹ˆ ๋ˆ์„ ๋” ํˆฌ์ž…ํ•˜๋ผ๊ณ  ์•ˆ๋‚ดํ•œ๋‹ค.

4. ๊ธˆ์•ก์„ ์ž…๋ ฅ๋ฐ›์•„ ํ˜„์žฌ ํˆฌ์ž…๋œ ๊ธˆ์•ก๊ณผ ํ•ฉ์นœ๋‹ค.

5. 4๋ฅผ ์ž…๋ ฅํ•˜๋ฉด ํ”„๋กœ๊ทธ๋žจ์„ ์ข…๋ฃŒํ•œ๋‹ค. ํ”„๋กœ๊ทธ๋žจ์„ ์ข…๋ฃŒํ•  ๋•Œ๋Š” ๋งˆ์ง€๋ง‰์— return; ๋ช…๋ น์–ด๋ฅผ ์ถ”๊ฐ€ํ•ด๋ผ

6. ๊ทธ ์™ธ ๋ฒˆํ˜ธ๋ฅผ ์ž…๋ ฅํ•˜๋ฉด ๋‹ค์‹œ ์„ ํƒํ•˜๋„๋ก ์•ˆ๋‚ดํ•œ๋‹ค.

 

๊ตฌ์ƒ)

1. while๋ฌธ์œผ๋กœ ์ „์ฒด ์ฝ”๋“œ ๊ฐ์‹ธ๊ธฐ + while๋ฌธ ๋ฐ–์— return; ์ž‘์„ฑ

2. '๋ˆ์„ ๋„ฃ์–ด์ฃผ์„ธ์š”:' -> ๋ˆ ์ž…๋ ฅ๋ฐ›๊ธฐ

3. ์ดˆ๊ธฐ ์‹คํ–‰ํ™”๋ฉด ์ž‘์„ฑ

4. '์Œ๋ฃŒ๋ฅผ ๊ณ ๋ฅด์„ธ์š”: ' -> ๋ฒˆํ˜ธ ์ž…๋ ฅ๋ฐ›๊ธฐ

5. if ๋ฌธ์œผ๋กœ 1-4 ์ž…๋ ฅ ๊ฒฝ์šฐ ๋‚˜๋ˆ„๊ณ , ์•ˆ์— ๋˜ if๋ฅผ ์‚ฌ์šฉํ•ด ํ˜„์žฌ ๊ธˆ์•ก๊ณผ ์Œ๋ฃŒ ๊ฐ€๊ฒฉ ๋น„๊ตํ•˜๊ธฐ -> true๋ฉด '00์„ ๊ตฌ๋งคํ•˜์…จ์Šต๋‹ˆ๋‹ค', false๋ฉด '๋ˆ ๋” ๋„ฃ์–ด' + continue๋ฅผ ์‚ฌ์šฉํ•ด ๋ˆ ์ž…๋ ฅ๋ฐ›๋Š” ๋ถ€๋ถ„์œผ๋กœ ๋Œ์•„๊ฐ€๊ธฐ

7. ์ฐธ๊ณ ๋กœ if 4์—์„œ๋Š” breakํ•˜๊ธฐ

8. else์—์„œ๋Š” ๊ทธ ์™ธ์˜ ๋ฒˆํ˜ธ๋ฅผ ์ž…๋ ฅํ•˜๋ฉด ๋‹ค์‹œ ์„ ํƒํ•˜๋„๋ก ์•ˆ๋‚ดํ•˜๊ธฐ 

 

๋ฌธ์ œ)

1. ๋ˆ์ด ๋ถ€์กฑํ•˜๋ฉด ๋ˆ์„ ๋” ํˆฌ์ž…ํ•˜์ง€๋งŒ, Money๊ฐ’์ด ์ดˆ๊ธฐํ™”๋˜์–ด ์ถ”๊ฐ€๋กœ ํˆฌ์ž…๋œ ๋ˆ๋งŒ์ด Money๊ฐ€ ๋จ(๊ธฐ์กด์˜ Money๋ฅผ ์œ ์ง€ํ•ด์•ผํ•จ)

2. ์Œ๋ฃŒ๋ฅผ ์‚ฐ ๋’ค์— '๋ˆ์„ ํˆฌ์ž…ํ•˜์„ธ์š”' ๋ถ€๋ถ„์œผ๋กœ ๊ฐ...(๊ทผ๋ฐ ์ด๊ฑด ๊ทธ๋ƒฅ ๊ฑด๋“ค์ง€ ์•Š๋Š”๊ฒŒ ๋‚˜์„๋“ฏ? ์กฐ๊ฑด์—๋„ ์ด๊ฑฐ์— ๋Œ€ํ•œ ์ด์•ผ๊ธฐ๋Š” ์—†์—ˆ์Œ)

3. -๊ธˆ์•ก์ด ๋˜์–ด๋„ ์กฐ๊ฑด๋ฌธ์— ๊ฑธ๋ฆฌ์ง€ ์•Š๊ณ  ์Œ๋ฃŒ ๊ตฌ๋งค๊ฐ€ ๊ฐ€๋Šฅํ•˜๋‹ค...?

 

๋‚ด ์ฝ”๋“œ)

์˜ค๋ฅ˜๊ฐ€ ๋งŽ๋‹ค

public class Main {
    public static void main(String[] args) {
        //saveMoney ๋ณ€์ˆ˜ ์ดˆ๊ธฐํ™”
        int saveMoney = 0;
        while(true){
            //Money ๋ณ€์ˆ˜ ๊ฐ’ ์ž…๋ ฅ๋ฐ›๊ธฐ
            System.out.print("๋ˆ์„ ๋„ฃ์–ด์ฃผ์„ธ์š”: ");
            Scanner scanMoney = new Scanner(System.in);
            int Money = scanMoney.nextInt();
            saveMoney = saveMoney + Money;

            System.out.println("**** ์žํŒ๊ธฐ ํ”„๋กœ๊ทธ๋žจ์„ ์‹œ์ž‘ํ•ฉ๋‹ˆ๋‹ค. ****\n");
            System.out.printf("ํ˜„์žฌ ํˆฌ์ž…๋œ ๊ธˆ์•ก:%d์›\n", saveMoney);
            System.out.println("1. ์ฝœ๋ผ (1,500์›)");
            System.out.println("2. ์˜ค๋ Œ์ง€์ฃผ์Šค (2,000์›)");
            System.out.println("3. ์ƒ์ˆ˜ (1,000์›)");
            System.out.println("4. ์ข…๋ฃŒ");
            System.out.print("์Œ๋ฃŒ๋ฅผ ๊ณ ๋ฅด์„ธ์š”. (๋ฒˆํ˜ธ ์ž…๋ ฅ):");

            Scanner scanNum = new Scanner(System.in);
            int Num = scanNum.nextInt();

            if (Num ==1){
                if (saveMoney >= 1500){
                    System.out.println("์ฝœ๋ผ๋ฅผ ๊ตฌ๋งคํ•˜์…จ์Šต๋‹ˆ๋‹ค.");
                    saveMoney = saveMoney-1500;
                }
                else{

                    System.out.println("๊ธˆ์•ก์ด ๋ถ€์กฑํ•˜๋‹ˆ ๋ˆ์„ ๋” ํˆฌ์ž…ํ•ด์ฃผ์„ธ์š”.");
                    continue;
                }
            }
            else if (Num ==2){
                if (saveMoney >= 1500){
                    System.out.println("์˜ค๋žœ์ง€์ฃผ์Šค๋ฅผ ๊ตฌ๋งคํ•˜์…จ์Šต๋‹ˆ๋‹ค.");
                    saveMoney = saveMoney-2000;
                }
                else{
                    System.out.println("๊ธˆ์•ก์ด ๋ถ€์กฑํ•˜๋‹ˆ ๋ˆ์„ ๋” ํˆฌ์ž…ํ•ด์ฃผ์„ธ์š”.");
                    continue;
                }
            }
            else if (Num ==3){
                if (saveMoney >= 1500){
                    System.out.println("์ƒ์ˆ˜๋ฅผ ๊ตฌ๋งคํ•˜์…จ์Šต๋‹ˆ๋‹ค.");
                    saveMoney = saveMoney-1000;
                }
                else{
                    System.out.println("๊ธˆ์•ก์ด ๋ถ€์กฑํ•˜๋‹ˆ ๋ˆ์„ ๋” ํˆฌ์ž…ํ•ด์ฃผ์„ธ์š”.");
                    continue;
                }
            }
            else if (Num ==4){
                System.out.println("**** ์žํŒ๊ธฐ ํ”„๋กœ๊ทธ๋žจ์„ ์ข…๋ฃŒํ•ฉ๋‹ˆ๋‹ค. ****");
                break;
            }
            else {
                System.out.println("๋ฒˆํ˜ธ๊ฐ€ ์˜ฌ๋ฐ”๋ฅด์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ๋‹ค์‹œ ์„ ํƒํ•ด์ฃผ์„ธ์š”.");
                continue;
            }

        }
    }
}

 

 

์ •๋‹ต ์ฝ”๋“œ) โ˜…

public class Main {
    public static void main(String[] args) {
        Scanner scan = new Scanner(System.in);
        int money = 0;
        System.out.println("**** ์žํŒ๊ธฐ ํ”„๋กœ๊ทธ๋žจ์„ ์‹œ์ž‘ํ•ฉ๋‹ˆ๋‹ค ****");

        while(true){
            System.out.println("\nํ˜„์žฌ ํˆฌ์ž… ๊ธˆ์•ก" + money + "์›");
            System.out.println("1. ์ฝœ๋ผ (1,500์›)\n2. ์˜ค๋ Œ์ง€์ฃผ์Šค (2,000์›)");
            System.out.println("3. ์ƒ์ˆ˜ (1,000์›)\n4. ์ข…๋ฃŒ");
            System.out.println("์Œ๋ฃŒ๋ฅผ ๊ณ ๋ฅด์„ธ์š”. (๋ฒˆํ˜ธ ์ž…๋ ฅ): ");
            //์Œ๋ฃŒ ๋ฒˆํ˜ธ ์ž…๋ ฅ๋ฐ›๊ธฐ
            int choice = scan.nextInt();

            switch (choice){
                case 1:
                if (money >= 1500){
                    money = money - 1500;
                    System.out.println("์ฝœ๋ผ๋ฅผ ์„ ํƒํ–ˆ์Šต๋‹ˆ๋‹ค. ๋‚จ์€ ๊ธˆ์•ก: " + money + "์›\n");
                }
                else {
                    System.out.println("๊ธˆ์•ก์ด ๋ถ€์กฑํ•ฉ๋‹ˆ๋‹ค. ๋ˆ์„ ๋” ํˆฌ์ž…ํ•˜์„ธ์š”.");
                }
                break;

                case 2:
                    if (money >= 2000){
                        money = money - 2000;
                        System.out.println("์˜ค๋žœ์ง€์ฃผ์Šค๋ฅผ ์„ ํƒํ–ˆ์Šต๋‹ˆ๋‹ค. ๋‚จ์€ ๊ธˆ์•ก: " + money + "์›\n");
                    }
                    else {
                        System.out.println("๊ธˆ์•ก์ด ๋ถ€์กฑํ•ฉ๋‹ˆ๋‹ค. ๋ˆ์„ ๋” ํˆฌ์ž…ํ•˜์„ธ์š”.");
                    }
                    break;

                case 3:
                    if (money >= 1000){
                        money = money - 1000;
                        System.out.println("์ƒ์ˆ˜๋ฅผ ์„ ํƒํ–ˆ์Šต๋‹ˆ๋‹ค. ๋‚จ์€ ๊ธˆ์•ก: " + money + "์›\n");
                    }
                    else {
                        System.out.println("๊ธˆ์•ก์ด ๋ถ€์กฑํ•ฉ๋‹ˆ๋‹ค. ๋ˆ์„ ๋” ํˆฌ์ž…ํ•˜์„ธ์š”.");
                    }
                    break;

                case 4:
                    System.out.println("ํ”„๋กœ๊ทธ๋žจ์„ ์ข…๋ฃŒํ•ฉ๋‹ˆ๋‹ค.");
                    scan.close();
                    return;

                default:
                    System.out.println("์ž˜๋ชป๋œ ๋ฒˆํ˜ธ์ž…๋‹ˆ๋‹ค. ๋‹ค์‹œ ์„ ํƒํ•ด์ฃผ์„ธ์š”");
            }

            System.out.print("๋ˆ์„ ํˆฌ์ž…ํ•˜์„ธ์š”.(0์„ ์ž…๋ ฅํ•˜๋ฉด ๋ฉ”๋‰ด๋กœ ๋Œ์•„๊ฐ‘๋‹ˆ๋‹ค): ");
            int money2 = scan.nextInt();
            if (money2 > 0){
                money += money2;
            }
            else{
                System.out.println("๋ฉ”๋‰ด๋กœ ๋Œ์•„๊ฐ‘๋‹ˆ๋‹ค.\n");
            }
        }
    }
}

-> case๋ฌธ๊ณผ if๋ฌธ์„ ํ•จ๊ป˜ ์“ฐ๋Š” ๋ฐฉ๋ฒ•์€ ์ด๋ ‡๊ตฌ๋‚˜

-> case๋ฌธ์˜ default๋ฅผ ๊นŒ๋จน๊ณ  ์žˆ์—ˆ๋‹ค.

-> ๋‚จ์€ ๊ธˆ์•ก์„ money2๋กœ ํ•ด์„œ switch๋ฌธ ๋ฐ–-while๋ฌธ ์•ˆ์˜ ๋งˆ์ง€๋ง‰ ๋ถ€๋ถ„์— ์ž‘์„ฑํ•œ๋‹ค!!