Skip to content

Latest commit

ย 

History

History
executable file
ยท
126 lines (93 loc) ยท 4.29 KB

File metadata and controls

executable file
ยท
126 lines (93 loc) ยท 4.29 KB

๋ฐ˜๋ณต๋ฌธ(for, while, do-while)

๋ฐ˜๋ณต๋ฌธ์€ ํŠน์ • ์ž‘์—…์ด ๋ฐ˜๋ณต์ ์œผ๋กœ ์ˆ˜ํ–‰๋˜๋„๋ก ํ•  ๋•Œ ์‚ฌ์šฉ๋˜๋ฉฐ ๋ฐ˜๋ณต๋ฌธ์˜ ์ข…๋ฅ˜๋กœ๋Š” for๋ฌธ while๋ฌธ ๊ทธ๋ฆฌ๊ณ  do-while๋ฌธ์ด ์žˆ์Šต๋‹ˆ๋‹ค. for๋ฌธ๊ณผ while๋ฌธ์€ ์„œ๋กœ ์ƒํ˜ธ ๋ณ€ํ™˜์ด ๊ฐ€๋Šฅํ•˜๊ธฐ ๋•Œ๋ฌธ์— ๋‘˜ ์ค‘ ์–ด๋А ์ชฝ์„ ์„ ํƒํ•ด๋„ ์ข‹์Šต๋‹ˆ๋‹ค.

1. for๋ฌธ

for๋ฌธ์€ ๋ฐ˜๋ณต ํšŸ์ˆ˜๋ฅผ ์•Œ๊ณ  ์žˆ์„ ๋•Œ ์ ํ•ฉํ•ฉ๋‹ˆ๋‹ค. ์กฐ๊ฑด์‹์ด true์ธ ๋™์•ˆ ์‹คํ–‰๋ฌธ์„ ๋ฐ˜๋ณต์ ์œผ๋กœ ์ˆ˜ํ–‰ํ•ฉ๋‹ˆ๋‹ค.

1. for๋ฌธ์˜ ๊ตฌ์กฐ

for๋ฌธ์˜ ์กฐ๊ฑด์‹์—๋Š” ์ดˆ๊ธฐํ™”, ์กฐ๊ฑด์‹, ์ฆ๊ฐ์‹์ด ์žˆ์Šต๋‹ˆ๋‹ค. ์ œ์ผ ๋จผ์ € '์ดˆ๊ธฐํ™”'๊ฐ€ ์ˆ˜ํ–‰๋˜๊ณ  '์กฐ๊ฑด์‹' -> '์ˆ˜ํ–‰๋ฌธ' -> '์ฆ๊ฐ์‹'์˜ ์ˆœ์„œ๋กœ ๋ฐ˜๋ณต๋œ๋‹ค. ๋ฐ˜๋ณตํ•˜๋‹ค๊ฐ€ ์กฐ๊ฑด์‹์ด false๊ฐ€ ๋˜๋ฉด for๋ฌธ์„ ๋น ์ ธ๋‚˜๊ฐ€๊ฒŒ ๋œ๋‹ค.

for(์ดˆ๊ธฐํ™”; ์กฐ๊ฑด์‹; ์ฆ๊ฐ์‹) {
	// ์ˆ˜ํ–‰๋ฌธ
}

1. ์ดˆ๊ธฐํ™”

  • ๋ฐ˜๋ณต๋ฌธ์— ์‚ฌ์šฉ๋  ๋ณ€์ˆ˜๋ฅผ ์ดˆ๊ธฐํ™”ํ•˜๋Š” ๋ถ€๋ถ„์ด๋ฉฐ ์ฒ˜์Œ์— ํ•œ๋ฒˆ๋งŒ ์ˆ˜ํ–‰

2. ์กฐ๊ฑด์‹

  • ์กฐ๊ฑด์‹์˜ ๊ฐ’์ด true์ด๋ฉด ๋ฐ˜๋ณต์„ ๊ณ„์†, false์ด๋ฉด ๋ฐ˜๋ณต์„ ์ค‘๋‹จํ•˜๊ณ  for๋ฌธ์„ ๋ฒ—์–ด๋‚จ
  • ์กฐ๊ฑด์‹์„ ์ž˜๋ชป ์ž‘์„ฑํ•˜๋ฉด ์ˆ˜ํ–‰๋ฌธ์ด ํ•œ ๋ฒˆ๋„ ์ˆ˜ํ–‰๋˜์ง€ ์•Š๊ฑฐ๋‚˜ ๋ฌดํ•œ๋ฐ˜๋ณต์— ๋น ์งˆ ์ˆ˜ ์žˆ๊ธฐ ๋•Œ๋ฌธ์— ์ฃผ์˜ ์š”๋ง

3. ์ฆ๊ฐ์‹

  • ๋ฐ˜๋ณต๋ฌธ์„ ์ œ์–ดํ•˜๋Š” ๋ณ€์ˆ˜์˜ ๊ฐ’์„ ์ฆ๊ฐ€(++)๋˜๋Š” ๊ฐ์†Œ(--)์‹œํ‚ค๋Š” ์‹
  • ์ฆ๊ฐ์‹์— ์˜ํ•ด์„œ ๋ณ€์ˆ˜์˜ ๊ฐ’์ด ๋ณ€ํ•˜๋‹ค๊ฐ€ false๊ฐ€ ๋˜์–ด for๋ฌธ์„ ๋ฒ—์–ด๋‚จ
  • ๋ณดํ†ต ์ฆ๊ฐ ์—ฐ์‚ฐ์ž๊ฐ€ ์‚ฌ์šฉ๋˜์ง€๋งŒ ๋‹ค์–‘ํ•œ ์—ฐ์‚ฐ์ž๋“ค๋กœ ์ฆ๊ฐ์‹ ์ž‘์„ฑ ๊ฐ€๋Šฅ

2. for๋ฌธ ์‚ฌ์šฉ

for(int i = 1; i <= 5; i++) {
	System.out.println("This is for๋ฌธ");
}

for(int i = 1; i <= 5; i++) {
	System.out.print(i);
}

for(int i = 1; i <= 10; i++) {
	int sum += i;
    System.out.printf("1๋ถ€ํ„ฐ %2d๊นŒ์ง€์˜ ํ•ฉ: %2d", i, sum);
}

3. ํ–ฅ์ƒ๋œ for๋ฌธ(Enhanced for๋ฌธ)

ํ–ฅ์ƒ๋œ for๋ฌธ์€ ๋ฐฐ์—ด๊ณผ ์ปฌ๋ ‰์…˜์˜ ์š”์†Œ ํƒ€์ž…์ผ ๋•Œ ์‚ฌ์šฉ๋ฉ๋‹ˆ๋‹ค. ๋ฐฐ์—ด ๋ฐ ์ปฌ๋ ‰์…˜ ํ•ญ๋ชฉ์˜ ๊ฐœ์ˆ˜๋งŒํผ ๋ฐ˜๋ณตํ•ฉ๋‹ˆ๋‹ค.

for( ํƒ€์ž… ๋ณ€์ˆ˜๋ช…: ๋ฐฐ์—ด ๋˜๋Š” ์ปฌ๋ ‰์…˜ ) {
	// ๋ฐ˜๋ณตํ•  ๋ฌธ์žฅ
}
/* == ์˜ˆ์ œ  == */
String[] stacks = {"spring", "mysql", "mariadb"}
for(String stack = stacks) {
	System.out.println("OO๋‹˜์€ " + stack + "์„ ๊ณต๋ถ€ํ•˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค");
}

๋ฐฐ์—ด ์˜ˆ์ œ๋กœ ํ–ฅ์ƒ๋œ for๋ฌธ์„ ์‚ฌ์šฉํ•ด ๋ณด์•˜์Šต๋‹ˆ๋‹ค. ์œ„์˜ ์˜ˆ์ œ์ฒ˜๋Ÿผ ํ–ฅ์ƒ๋œ for๋ฌธ์€ ๋ฐฐ์—ด์ด๋‚˜ ์ปฌ๋ ‰์…˜์˜ ์š”์†Œ๋“ค์„ ์ฝ์–ด์˜ค๋Š” ์šฉ๋„๋กœ๋งŒ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋‹ค๋Š” ์ œ์•ฝ์ด ์žˆ์Šต๋‹ˆ๋‹ค.

2. while๋ฌธ

while๋ฌธ์€ for๋ฌธ์— ๋น„ํ•ด ๊ตฌ์กฐ๊ฐ€ ๊ฐ„๋‹จํ•ฉ๋‹ˆ๋‹ค. while๋ฌธ์€ ์กฐ๊ฑด์‹์˜ ๊ฐ’์ด true์ผ ๊ฒฝ์šฐ ๋ฌดํ•œ๋ฃจํ”„๊ฐ€ ๋˜๊ธฐ ๋•Œ๋ฌธ์— ์ฃผ์˜ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

while(์กฐ๊ฑด์‹) {
	// ์กฐ๊ฑด์‹์˜ ์—ฐ์‚ฐ๊ฒฐ๊ณผ๊ฐ€ `true`์ธ ๋™์•ˆ, ๋ฐ˜๋ณต ์ˆ˜ํ–‰
}

1๋ถ€ํ„ฐ 10๊นŒ์ง€ ๋ง์…ˆ์„ ํ•˜๋Š” ์˜ˆ์ œ๋ฅผ ๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค.

int num = 0;
int sum = 0;
while(num < 10){
	num++;
    sum += num;
}

์œ„์˜ ์˜ˆ์ œ ์ฒ˜๋Ÿผ ์กฐ๊ฑด๋ฌธ์„ ์ž˜ ์ž…๋ ฅํ•œ๋‹ค๋ฉด ์„ค๊ณ„ํ•œ๋Œ€๋กœ while๋ฌธ์ด 10๋ฒˆ ์ˆœํ™˜ํ•˜๊ณ  ์ข…๋ฃŒ๋ฉ๋‹ˆ๋‹ค.

Scanner sc = new Scanner(System.in);
int result = 0;
while(true) {
	int num1 = sc.nextInt();
    int num2 = sc.nextInt();
	char oper = input.next().charAt(0);
	switch(oper){
    	case '+': return num1 + num2; break;
        case '-': result = num1 - num2; break;
        case '*': result = num1 * num2; break;
        case '/': result = num1 / num2; break;
        default: result = "์ž˜๋ชป๋œ ์ž…๋ ฅ๊ฐ’์ž…๋‹ˆ๋‹ค."; break;
    }
    System.out.println(result);
    result = 0;
}

์œ„์˜ ์˜ˆ์ œ๊ฐ™์€ ๊ฒฝ์šฐ์—๋Š” ๊ณ„์‚ฐ๊ธฐ๋Šฅ์„ ๊ตฌํ˜„ํ•œ ์˜ˆ์ œ์ž…๋‹ˆ๋‹ค. ๊ณ„์‚ฐ์„ ์—ฌ๋Ÿฌ๋ฒˆ ํ•˜๋ ค๊ณ  while์— true๋ฅผ ์ž…๋ ฅํ–ˆ์ง€๋งŒ ์ข…๋ฃŒํ•  ์ˆ˜ ์—†๋Š” ๋ฌดํ•œ ๋ฃจํ”„์— ๋น ์ง€๊ฒŒ ๋˜์—ˆ์Šต๋‹ˆ๋‹ค.
for๋ฌธ์€ ์กฐ๊ฑด์‹๊ณผ ํ•จ๊ป˜ ์ฆ๊ฐ์‹์„ ์ž‘์„ฑํ•˜์ง€๋งŒ while๋ฌธ์€ ๊ทธ๋ ‡์ง€ ์•Š๊ธฐ์— ์žŠ์ง€์•Š๊ณ  ์ข…๋ฃŒํ•  ์ˆ˜ ์žˆ๋Š” ํ”„๋กœ์„ธ์Šค๋ฅผ ๋งŒ๋“ค์–ด ์ฃผ์…”์•ผํ•ฉ๋‹ˆ๋‹ค.

3. do-while๋ฌธ

do while๋ฌธ์€ while๋ฌธ์˜ ๋ณ€ํ˜•์œผ๋กœ ์กฐ๊ฑด์‹์— ์˜ํ•ด ๋ฐ˜๋ณต์‹คํ–‰ํ•œ๋‹ค๋Š” ์ ์€ while๋ฌธ๊ณผ ๋™์ผํ•ฉ๋‹ˆ๋‹ค. ํ•˜์ง€๋งŒ do-while์˜ ๊ฒฝ์šฐ {}์•ˆ์˜ ๋‚ด์šฉ์„ ๋จผ์ € ์‹คํ–‰์‹œํ‚ค๊ณ  ์กฐ๊ฑด์‹์„ ๊ฒ€์‚ฌํ•œ๋‹ค๋Š” ์ ์—์„œ for๋ฌธ ๊ทธ๋ฆฌ๊ณ  while๋ฌธ๊ณผ ์ฐจ์ด๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค.

do{
	// ์‹คํ–‰๋ฌธ(์ฒ˜์Œ ํ•œ๋ฒˆ์€ ๋ฌด์กฐ๊ฑด ์‹คํ–‰ ๋œ๋‹ค)
} while(์กฐ๊ฑด์‹);

๐Ÿ“š Reference