0411 ์ž๋ฐ” 3์ผ์ฐจ ๐Ÿ• ๋ฐ˜๋ณต๋ฌธ(WHILE, FOR, ์ค‘์ฒฉ FOR)

๋‹ค ์€ยท2024๋…„ 4์›” 11์ผ

JAVA

๋ชฉ๋ก ๋ณด๊ธฐ
3/14

1. ๋ฐ˜๋ณต๋ฌธ

ํ”„๋กœ๊ทธ๋žจ์„ ์ž‘์„ฑํ•˜๋‹ค ๋ณด๋ฉด ์กฐ๊ฑด์‹์œผ๋กœ๋งŒ ํ’€์–ด๋‚ด์–ด ์“ฐ๋ฉด ์ฝ”๋“œ๊ฐ€ ๊ธธ์–ด์ง€๊ณ  ๋ณต์žกํ•ด์ง„๋‹ค. ๊ทธ๋Ÿด ๋•Œ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋Š”๊ฒŒ ๋ฐ”๋กœ ๋ฐ˜๋ณต๋ฌธ์ด๋‹ค. ๋ฐ˜๋ณต๋ฌธ์„ ์‚ฌ์šฉํ•˜์—ฌ ์ฝ”๋“œ๋ฅผ ์ž‘์„ฑํ•˜๋ฉด ํ”„๋กœ๊ทธ๋žจ์ด ๊ฐ„๊ฒฐํ•ด์ง€๊ณ  ๋ณด๊ธฐ ํŽธํ•ด์ง„๋‹ค. ์ž๋ฐ”์—๋Š” ์—ฌ๋Ÿฌ ๋ฐ˜๋ณต๋ฌธ์ด ์กด์žฌํ•˜์ง€๋งŒ ์˜ค๋Š˜์€ while๋ฌธ๊ณผ for๋ฌธ์— ๋Œ€ํ•ด ๋ฐฐ์›Œ๋ณด์ž.

๋ฐ˜๋ณต๋ฌธ์˜ 3๊ฐ€์ง€ ๊ตฌ์„ฑ์š”์†Œ

  1. ๊ฐ’
  2. (์กฐ๊ฑด)์ข…๋ฃŒ
  3. ์Šคํ…(๋ณดํญ)
  • ๋ฐ˜๋ณต๋ฌธ์„ ์‚ฌ์šฉํ•  ๋•Œ์—๋Š” 3๊ฐ€์ง€์˜ ๊ตฌ์„ฑ์š”์†Œ๋ฅผ ๋งž์ถฐ์ฃผ์–ด์•ผ ํ•œ๋‹ค. ๋จผ์ € ๊ฐ’์ด ์กด์žฌํ•ด์•ผ ํ•œ๋‹ค. ๋ฐ˜๋ณต๋ฌธ ์ž‘์„ฑ ์ „, ๋ณ€์ˆ˜ ์„ ์–ธ ๋ฐ ์ดˆ๊ธฐํ™” ๋“ฑ ๊ฐ’์„ ๋งŒ๋“ค์–ด์ฃผ๊ณ  ์กฐ๊ฑด์„ ๋งŒ๋“ค์–ด์•ผ ํ•œ๋‹ค. ๋งŒ์•ฝ ์กฐ๊ฑด์ด ๋ฌดํ•œ๋Œ€๋กœ ์ฆํญํ•œ๋‹ค๋ฉด ๋ฐ˜๋ณต๋ฌธ์ด ์˜์›ํžˆ ๋๋‚˜์ง€ ์•Š์„ ์ˆ˜๋„ ์žˆ๊ธฐ ๋•Œ๋ฌธ์—, ์–ผ๋งˆ ์ด์ƒ ํ˜น์€ ์ดํ•˜๊ฐ€ ๋˜์—ˆ์„ ๋•Œ๋Š” ์ข…๋ฃŒํ•œ๋‹ค๋Š” ์ข…๋ฃŒ ์กฐ๊ฑด๋„ ๊ฐ™์ด ๋ถ™์—ฌ์ค€๋‹ค. ๋˜ํ•œ ๋ฐ˜๋ณต๋ฌธ์ด ์‹คํ–‰ ๋  ๋•Œ, ๊ฐ’์„ ์–ผ๋งŒํผ ์กฐ์ •ํ•˜์—ฌ ๋ฐ˜๋ณตํ•  ์ง€ ์ •ํ•ด์•ผํ•œ๋‹ค.

2. WHILE๋ฌธ

while๋ฌธ์€ ํ•ด๋‹นํ•˜๋Š” ์กฐ๊ฑด์ด ์ฐธ(True)์ผ ๊ฒฝ์šฐ, ๊ณ„์†ํ•ด์„œ ๋ฐ˜๋ณตํ•˜์—ฌ ์‹คํ–‰ํ•˜๋Š” ๋ฐ˜๋ณต๋ฌธ์ด๋‹ค.

๐Ÿ‘ฝ while๋ฌธ ์˜ˆ์‹œ

int i = 1;
while (i <= 10) {
	i++;
    System.out.println(i);
}

์œ„ ์ฝ”๋“œ๋Š” ์ •์ˆ˜๋ฅผ ์ €์žฅํ•˜๋Š” ๋ณ€์ˆ˜ i๋ฅผ 1๋กœ ์ดˆ๊ธฐํ™” ์‹œํ‚จ ํ›„, while๋ฌธ์„ ์‚ฌ์šฉํ•˜์—ฌ i๊ฐ€ 10๋ณด๋‹ค ๊ฐ™๊ฑฐ๋‚˜ ์ž‘์„ ๊ฒฝ์šฐ, i์˜ ๊ฐ’์„ 1์”ฉ ์ฆ๊ฐ€์‹œํ‚ค๋ฉด์„œ ๊ทธ ๊ฐ’์„ ์ถœ๋ ฅ์‹œํ‚ค๋Š” ํ”„๋กœ๊ทธ๋žจ์ด๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด, ์•„๋ž˜์˜ ์ฝ”๋“œ๋ฅผ ๋ณด์•˜์„ ๋•Œ, ๊ตฌ๊ตฌ๋‹จ 8๋‹จ์„ ์ถœ๋ ฅํ•˜๋Š” ์ฝ”๋“œ์ง€๋งŒ ์ˆซ์ž 8์— 1๋ถ€ํ„ฐ 9๊นŒ์ง€ ๊ณฑํ•œ ๊ฐ’์„ ๋‚˜ํƒ€๋‚ด๋Š” ๋ฐ˜๋ณต๋ฌธ์œผ๋กœ๋„ ํ•ด์„ํ•  ์ˆ˜ ์žˆ๋‹ค. ์ด๋Ÿด ๋•Œ while๋ฌธ์„ ์‚ฌ์šฉํ•˜์—ฌ ๊ฐ„๋‹จํ•˜๊ฒŒ ๋‚˜ํƒ€๋‚ผ ์ˆ˜ ์žˆ๋‹ค.

๐Ÿ‘ฝ ๊ตฌ๊ตฌ๋‹จ์„ ์ถœ๋ ฅํ•˜๋Š” ํ”„๋กœ๊ทธ๋žจ

// ๐Ÿ• ๋ฐ˜๋ณต๋ฌธ์„ ์‚ฌ์šฉํ•˜์ง€ ์•Š๊ณ  ํ”„๋กœ๊ทธ๋ž˜๋ฐ
class Main {
    public static void main(String[] args) {
        int dan = 8;
        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);
    }
}

// ๐Ÿ• while ๋ฐ˜๋ณต๋ฌธ์„ ์‚ฌ์šฉํ•˜์—ฌ ํ”„๋กœ๊ทธ๋ž˜๋ฐ
class Main {
	public static void main(String[] args) {
    	int dan = 8;
        int i = 1;
        
        while(i <= 9) {
        	System.out.println(dan + " * " + i + " = " + dan*i);
        }
    }
}

๐Ÿ‘ฝ while๋ฌธ ์‚ฌ์šฉํ•˜์—ฌ 1๋ถ€ํ„ฐ 5๊นŒ์ง€ ์ถœ๋ ฅ

class Main{
    public static void main(String[] args){
        int i = 1;
        
        while (i <= 5){
            System.out.println(i);
            i++;
        }
    }
}

๐Ÿ‘ฝ while๋ฌธ ์‚ฌ์šฉํ•˜์—ฌ 1๋ถ€ํ„ฐ 5๊นŒ์ง€์˜ ํ•ฉ ์ถœ๋ ฅ

class Main{
    public static void main(String[] args){
        int i = 1;
        int hap = 0;
        
        while (i <= 5){
            i++;
            hap += i;
        }
        System.out.println("1๋ถ€ํ„ฐ 5๊นŒ์ง€์˜ ํ•ฉ: " + hap);
    }
}

์ˆซ์ž๋ฅผ ์˜ค๋ฆ„์ฐจ์ˆœ์ด ์•„๋‹Œ ๋‚ด๋ฆผ์ฐจ์ˆœ์œผ๋กœ ์ถœ๋ ฅํ•˜๊ณ  ์‹ถ์„ ๋•Œ์—๋Š”, ๋ณ€์ˆ˜ i๋ฅผ 1์”ฉ ์ฆ๊ฐ€์‹œํ‚ค๋Š” i++์ด ์•„๋‹Œ, i--๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๊ฐ์†Œ์‹œ์ผœ ์‚ฌ์šฉํ•˜๋ฉด ๋œ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด, ๊ตฌ๊ตฌ๋‹จ 8๋‹จ์„ 8 * 9๋ถ€ํ„ฐ ์ถœ๋ ฅํ•˜๊ณ  ์‹ถ๋‹ค๋ฉด, ์กฐ์ •ํ•  ๋ณ€์ˆ˜ i์˜ ๊ฐ’์„ 1์ด ์•„๋‹Œ 9๋กœ ์ดˆ๊ธฐํ™”ํ•˜๊ณ  i๋ฅผ ํ•˜๋‚˜์”ฉ ๊ฐ์†Œ์‹œ์ผœ ๋ฐ˜๋ณต๋ฌธ์„ ์ž‘์„ฑํ•˜๋ฉด ๋œ๋‹ค.

๐Ÿ‘ฝ while๋ฌธ ์‚ฌ์šฉํ•˜์—ฌ 100๋ถ€ํ„ฐ 25๊นŒ์ง€ ์ถœ๋ ฅ

class Main{
    public static void main(String[] args){
        int i = 100;
        
        while (i >= 25){
            System.out.print(i + "\n");
            i--;
        }
    }
}

๐Ÿ‘ฝ while๋ฌธ ์‚ฌ์šฉํ•˜์—ฌ ๊ตฌ๊ตฌ๋‹จ ๊ฑฐ๊พธ๋กœ ์ถœ๋ ฅ

class Main{
    public static void main(String[] args){
        int i = 100;
        int dan = 8;
        
        while (i >= 1){
            System.out.println(dan + " * " + i + " = " + dan*i);
            i--;
        }
    }
}

๐Ÿ‘ฝ while๋ฌธ ์‚ฌ์šฉํ•˜์—ฌ ์ง์ˆ˜, ํ™€์ˆ˜๋งŒ ์ถœ๋ ฅ

// ๐Ÿ• ์ง์ˆ˜๋งŒ ์ถœ๋ ฅ
class Main{
    public static void main(String[] args){
        int i = 0;
        while (i <= 100) {
            i++;
            if(i%2 == 0){
                System.out.println(i);
            }
        }
    }
}

// ๐Ÿ• ํ™€์ˆ˜๋งŒ ์ถœ๋ ฅ
class Main{
    public static void main(String[] args){
        int i = 0;
        while (i <= 100) {
            i++;
            if(i%2 != 0){
                System.out.println(i);
            }
        }
    }
}

2. FOR๋ฌธ

while๋ฌธ์ด ์กฐ๊ฑด์‹์ด ์ฐธ์ผ ๊ฒฝ์šฐ ์ •ํ•ด์ง„ ํšŸ์ˆ˜ ์—†์ด ๊ณ„์† ๋ฐ˜๋ณตํ–ˆ๋‹ค๋ฉด, for๋ฌธ์€ ์กฐ๊ฑด์‹์ด ์ฐธ์ผ ๊ฒฝ์šฐ ์ •ํ—ค์ ธ์žˆ๋Š” ๋ฐ˜๋ณต ํšŸ์ˆ˜๋งŒํผ ๋ฐ˜๋ณตํ•˜๋Š” ๋ฐ˜๋ณต๋ฌธ์ด๋‹ค. for๋ฌธ์˜ ๊ธฐ๋ณธ ๊ตฌ์กฐ๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™๋‹ค. while๋ฌธ๊ณผ ๋‹ฌ๋ฆฌ ๋ฐ˜๋ณต๋ฌธ์— ์“ฐ์ด๋Š” ๋ณ€์ˆ˜๋ฅผ for๋ฌธ ์•ˆ์—์„œ ์ •์˜ํ•˜๊ณ  ์ดˆ๊ธฐํ™”ํ•œ๋‹ค. 2๋ฒˆ์˜ ์กฐ๊ฑด์‹์—์„œ ๋ฐ˜๋ณต ์ˆ˜ํ–‰ํ•  ๋ฒ”์œ„๋ฅผ ์ •ํ•˜๊ณ  3๋ฒˆ์—์„œ ๋ณ€์ˆ˜๋ฅผ ์ฆ๊ฐ€์‹œํ‚ค๋ฉด์„œ ๋ฐ˜๋ณตํ•  ๊ฑด์ง€, ๊ฐ์†Œ์‹œํ‚ค๋ฉด์„œ ๋ฐ˜๋ณตํ•  ๊ฑด์ง€ ์ •ํ•œ๋‹ค. for๋ฌธ์€ ์ดˆ๊ธฐํ™”์‹, ์กฐ๊ฑด์‹, ์ฆ๊ฐ์‹์ด ํ•„์š” ์—†๋Š” ๊ฒฝ์šฐ ์ƒ๋žตํ•  ์ˆ˜ ์žˆ๋‹ค. ํ•˜์ง€๋งŒ, ์กฐ๊ฑด์‹์ด ์ƒ๋žต๋˜์—ˆ๋‹ค๋ฉด, true๋กœ ๊ฐ„์ฃผ๋œ๋‹ค.

๐Ÿ‘ฝ for๋ฌธ ๊ธฐ๋ณธ ๊ตฌ์กฐ

for (1. ์ดˆ๊ธฐํ™” ์‹; 2. ์กฐ๊ฑด์‹; 3. ์ฆ๊ฐ์‹) {
	4. ์‹คํ–‰๋ฌธ;
}

๐Ÿ‘ฝ for๋ฌธ ์‚ฌ์šฉํ•˜์—ฌ 1๋ถ€ํ„ฐ 5๊นŒ์ง€ ์ถœ๋ ฅ

class Main{
    public static void main(String[] args){
        for (int i = 1; i <= 5; i ++){
            System.out.println(i);
        }
    }
}

3. ์ค‘์ฒฉ FOR๋ฌธ

์ค‘์ฒฉ for๋ฌธ์€ for๋ฌธ ์•ˆ์— ๋˜ ๋‹ค๋ฅธ for๋ฌธ์„ ๋งŒ๋“ค์–ด์„œ ๋ง ๊ทธ๋Œ€๋กœ for๋ฌธ์ด ์ค‘์ฒฉ๋˜์–ด ์‹คํ–‰๋˜๋Š” ๋ฐ˜๋ณต๋ฌธ์„ ๋งํ•œ๋‹ค. ์ค‘์ฒฉ for๋ฌธ์€ ๋‚ด๋ถ€ for๋ฌธ์€ ์™ธ๋ถ€ for๋ฌธ์˜ ์‹คํ–‰ ์ฝ”๋“œ์ด๋ฉฐ, ๋‚ด๋ถ€ for๋ฌธ ๋˜ํ•œ ์™ธ๋ถ€ for๋ฌธ์˜ ๋ฐ˜๋ณต ํšŸ์ˆ˜๋งŒํผ ์‹คํ–‰๋œ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด ๊ตฌ๊ตฌ๋‹จ์„ ์ถœ๋ ฅํ•  ๋•Œ, ์™ธ๋ถ€ for๋ฌธ์ด ๊ตฌ๊ตฌ๋‹จ์˜ '๋‹จ'์„ ๊ฐ€๋ฆฌํ‚ค๊ณ , ๋‚ด๋ถ€ for๋ฌธ์ด ๊ตฌ๊ตฌ๋‹จ์˜ ๊ณฑ ๋ถ€๋ถ„์— ํ•ด๋‹นํ•œ๋‹ค.

๐Ÿ‘ฝ for๋ฌธ ์‚ฌ์šฉํ•˜์—ฌ ๊ตฌ๊ตฌ๋‹จ ์ถœ๋ ฅ

// ๐Ÿ• ์˜ค๋ฆ„์ฐจ์ˆœ ์ถœ๋ ฅ
class Main{
    public static void main(String[] args){
        for(int i = 2; i <= 9; i++) {
            for(int j = 1; j <= 9; j++) {
                System.out.println(i + " * " + j + " = " + i*j);
            }
        }
    }
}

// ๐Ÿ• ๋‚ด๋ฆผ์ฐจ์ˆœ ์ถœ๋ ฅ
class Main{
    public static void main(String[] args){
        for(int i = 9; i >= 2; i--) {
            for(int j = 9; j >= 1; j--) {
                System.out.println(i + " * " + j + " = " + i*j);
            }
        }
    }
}

์œ„ ์ฝ”๋“œ์—์„œ ๋ณ€์ˆ˜ i๋Š” ๊ตฌ๊ตฌ๋‹จ์˜ '๋‹จ'์ด ๋˜๊ณ , ๋‚ด๋ถ€ for๋ฌธ์€ ๊ฐ '๋‹จ'์˜ ๊ณฑ์ด ๋œ๋‹ค. ์™ธ๋ถ€ for๋ฌธ์ด 8๋ฒˆ ๋ฐ˜๋ณต๋˜๋Š” ๋™์•ˆ ๋‚ด๋ถ€ for๋ฌธ์€ 72๋ฒˆ ๋ฐ˜๋ณต๋˜์–ด ๊ตฌ๊ตฌ๋‹จ์„ ๊ตฌ์„ฑํ•˜๋Š” ๊ฒƒ์ด๋‹ค.

0๊ฐœ์˜ ๋Œ“๊ธ€