Java์ While ๋ฌธ์ ์กฐ๊ฑด์ด true
์ธ ๋์ ํน์ ์ฝ๋๋ฅผ ๋ฐ๋ณต ์คํํ๋ ๋ฐ ์ฌ์ฉ๋ฉ๋๋ค. ๊ฐ๋จํ ๋ฐ๋ณต ์์
๋ถํฐ ๋ณต์กํ ์กฐ๊ฑด ์ฒ๋ฆฌ๊น์ง ๋ค์ํ ์ํฉ์์ ํ์ฉํ ์ ์์ต๋๋ค. ์ด๋ฒ ๊ธ์์๋ While ๋ฌธ์ ์ฌ์ฉํ ๋ค์ํ ์์ ๋ฅผ ํตํด ๋ฐ๋ณต๋ฌธ์ ํ์ฉ๋ฒ์ ์์๋ณด๊ฒ ์ต๋๋ค.
1. While Loop ๊ธฐ๋ณธ ์์
While ๋ฌธ์ ์กฐ๊ฑด์ด true
์ธ ๋์ ์ฝ๋ ๋ธ๋ก์ ๋ฐ๋ณต ์คํํฉ๋๋ค. ์๋๋ While ๋ฌธ์ ์ฌ์ฉํ ๊ฐ๋จํ ์์ ์
๋๋ค.
์์ 1: 1๋ถํฐ 5๊น์ง ์ถ๋ ฅ
public class WhileExample {
public static void main(String[] args) {
int count = 1;
while (count <= 5) {
System.out.println("์ซ์: " + count);
count++;
}
}
}
์ถ๋ ฅ ๊ฒฐ๊ณผ:
์ซ์: 1
์ซ์: 2
์ซ์: 3
์ซ์: 4
์ซ์: 5
์ด ์ฝ๋๋ count
๊ฐ 5 ์ดํ์ผ ๋๊น์ง ์ฆ๊ฐํ๋ฉฐ ์ซ์๋ฅผ ์ถ๋ ฅํฉ๋๋ค.
2. While ๋ฌธ์ ํ์ฉํ ์ค์ฉ์ ์ธ ์์
2.1 ๋์ ํฉ ๊ณ์ฐ
While ๋ฌธ์ ์ฌ์ฉํ์ฌ ํน์ ๋ฒ์์ ์ซ์ ํฉ๊ณ๋ฅผ ๊ณ์ฐํ ์ ์์ต๋๋ค.
public class SumExample {
public static void main(String[] args) {
int sum = 0;
int number = 1;
while (number <= 10) {
sum += number;
number++;
}
System.out.println("1๋ถํฐ 10๊น์ง์ ํฉ: " + sum);
}
}
์ถ๋ ฅ ๊ฒฐ๊ณผ:
1๋ถํฐ 10๊น์ง์ ํฉ: 55
์ด ์ฝ๋๋ 1๋ถํฐ 10๊น์ง์ ๋ชจ๋ ์ซ์๋ฅผ ๋ํ์ฌ ํฉ๊ณ๋ฅผ ์ถ๋ ฅํฉ๋๋ค.
2.2 ์ฌ์ฉ์ ์ ๋ ฅ ์ฒ๋ฆฌ
์ฌ์ฉ์๊ฐ ์ํ๋ ์กฐ๊ฑด์ ๋ง๋ ์ ๋ ฅ์ ์ ๊ณตํ ๋๊น์ง ๋ฐ๋ณตํ๋ ๊ตฌ์กฐ๋ฅผ ๋ง๋ค ์ ์์ต๋๋ค.
import java.util.Scanner;
public class UserInputExample {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
int number;
while (true) {
System.out.print("1๋ถํฐ 10 ์ฌ์ด์ ์ซ์๋ฅผ ์
๋ ฅํ์ธ์: ");
number = scanner.nextInt();
if (number >= 1 && number <= 10) {
System.out.println("์ฌ๋ฐ๋ฅธ ์
๋ ฅ์
๋๋ค: " + number);
break;
} else {
System.out.println("์๋ชป๋ ์
๋ ฅ์
๋๋ค. ๋ค์ ์๋ํ์ธ์.");
}
}
scanner.close();
}
}
์ถ๋ ฅ ์์:
1๋ถํฐ 10 ์ฌ์ด์ ์ซ์๋ฅผ ์
๋ ฅํ์ธ์: 15
์๋ชป๋ ์
๋ ฅ์
๋๋ค. ๋ค์ ์๋ํ์ธ์.
1๋ถํฐ 10 ์ฌ์ด์ ์ซ์๋ฅผ ์
๋ ฅํ์ธ์: 7
์ฌ๋ฐ๋ฅธ ์
๋ ฅ์
๋๋ค: 7
2.3 ํน์ ์กฐ๊ฑด์ ๋ง๋ ๊ฐ ์ฐพ๊ธฐ
While ๋ฌธ์ ์ฌ์ฉํด ๋ฐฐ์ด์์ ํน์ ๊ฐ์ ๊ฒ์ํ ์๋ ์์ต๋๋ค.
public class SearchExample {
public static void main(String[] args) {
int[] numbers = {10, 20, 30, 40, 50};
int target = 30;
int index = 0;
while (index < numbers.length) {
if (numbers[index] == target) {
System.out.println("์ฐพ๋ ๊ฐ " + target + "์ ์ธ๋ฑ์ค " + index + "์ ์์ต๋๋ค.");
break;
}
index++;
}
if (index == numbers.length) {
System.out.println("์ฐพ๋ ๊ฐ์ด ๋ฐฐ์ด์ ์์ต๋๋ค.");
}
}
}
์ถ๋ ฅ ๊ฒฐ๊ณผ:
์ฐพ๋ ๊ฐ 30์ ์ธ๋ฑ์ค 2์ ์์ต๋๋ค.
3. ๋ฌดํ ๋ฃจํ์ While
While ๋ฌธ์ ํน์ ์กฐ๊ฑด์ด ์ถฉ์กฑ๋ ๋๊น์ง ๋ฌดํ ๋ฐ๋ณต์ ์คํํ๋ ๋ฐ๋ ์ฌ์ฉํ ์ ์์ต๋๋ค. ์ด๋ฅผ ๋ฌดํ ๋ฃจํ๋ผ๊ณ ํ๋ฉฐ, break
๋ฌธ์ผ๋ก ํ์ถ ์กฐ๊ฑด์ ์ค์ ํด์ผ ํฉ๋๋ค.
์์ : ๊ฐ๋จํ ๋ฌดํ ๋ฃจํ
public class InfiniteLoopExample {
public static void main(String[] args) {
int count = 0;
while (true) {
System.out.println("๋ฐ๋ณต ํ์: " + count);
count++;
if (count == 5) {
System.out.println("๋ฃจํ๋ฅผ ์ข
๋ฃํฉ๋๋ค.");
break;
}
}
}
}
์ถ๋ ฅ ๊ฒฐ๊ณผ:
๋ฐ๋ณต ํ์: 0
๋ฐ๋ณต ํ์: 1
๋ฐ๋ณต ํ์: 2
๋ฐ๋ณต ํ์: 3
๋ฐ๋ณต ํ์: 4
๋ฃจํ๋ฅผ ์ข
๋ฃํฉ๋๋ค.
4. While ๋ฌธ ์์ฑ ์ ์ฃผ์์ฌํญ
- ์กฐ๊ฑด์ ๊ด๋ฆฌ: ์กฐ๊ฑด์์ด ํญ์
true
๊ฐ ๋์ง ์๋๋ก ์ ์ ํ ์ค์ ํ์ธ์. - ๋ฃจํ ํ์ถ: ํ์ถ ์กฐ๊ฑด์ด ์๋ ๋ฌดํ ๋ฃจํ๋ ํ๋ก๊ทธ๋จ์ ๋ฉ์ถ๊ฒ ํ ์ ์์ผ๋
break
๋ฌธ์ ํ์ฉํ์ธ์. - ๋ณ์ ์ ๋ฐ์ดํธ: ๋ฃจํ ์์์ ์กฐ๊ฑด์ ๋ณ๊ฒฝํ๋ ๋ณ์์ ์ ๋ฐ์ดํธ๋ฅผ ์์ง ๋ง์ธ์.
5. ๊ฒฐ๋ก
Java์ While ๋ฌธ์ ๋ฐ๋ณต ์์ ์ ์ฒ๋ฆฌํ๋ ๋ฐ ๋งค์ฐ ์ ์ฉํ ๋๊ตฌ์ ๋๋ค. ์กฐ๊ฑด์ ๋ฐ๋ผ ๋ฐ๋ณต์ ์ ์ดํ ์ ์์ด ์ค์ํ์์ ์์ฃผ ํ์ฉ๋๋ฉฐ, ์ฌ์ฉ์ ์ ๋ ฅ ์ฒ๋ฆฌ, ๋ฐ์ดํฐ ๊ฒ์, ๋์ ๊ณ์ฐ ๋ฑ ๋ค์ํ ์์ ์ ์ฌ์ฉํ ์ ์์ต๋๋ค. ์ด๋ฒ ๊ธ์์ ์๊ฐํ ์์ ๋ฅผ ๋ฐํ์ผ๋ก While ๋ฌธ์ ์ตํ๊ณ , ํ๋ก์ ํธ์ ์ ๊ทน ํ์ฉํด ๋ณด์ธ์!
๋๊ธ ์ฐ๊ธฐ