while ๋ฌธ ์ด๋?
while๋ฌธ๋ for๋ฌธ๊ณผ ๋ง์ฐฌ๊ฐ์ง๋ก ~๋์ ์ด๋ผ๋ ๋ป์ ๊ฐ์ง๊ณ ์๋ ๋ฐ๋ณต๋ฌธ์ ๋๋ค.
์ด์ ํฌ์คํธ์์ for๋ฌธ์์ ~๋์์ ์๋ฏธํ๋ ๊ณณ์ด ์กฐ๊ฑด์์ด๋ผ๊ณ ์ค๋ช ํ์ต๋๋ค.
while๋ฌธ๋ ๋ง์ฐฌ๊ฐ์ง๋ก '์กฐ๊ฑด์' ๋์ ๋ฐ๋ณต์ ํ๊ฒ ๋ค๋ ์๋ฏธ๊ฐ ๋ฉ๋๋ค.
์กฐ๊ธ ๋ ์์ธํ ์๊ธฐ ์ํด์ for๋ฌธ์ ์ํ ๊ณผ์ ์ ๋ณต์ตํด๋ณด๊ฒ ์ต๋๋ค.
์ฒซ ๋ฒ์งธ ์ํ (์ด๊ธฐ๊ฐ),
๋จผ์ , '์ด๊ธฐ๊ฐ'์ ๋ค์ด๊ฐ๋ ๋ด์ฉ์ 0๊ฐ ์ด์ ์์ฑํ๋ฉด ๋ฉ๋๋ค.
์ด๊ธฐ๊ฐ์ ์ค์ ํ์ง ์์๋ ์ํ๋๋ ๊ฒ์ด์ฃ .
์ ๋ 3๊ฐ์ ๋ณ์ i, j, cnt๋ฅผ ์ด๊ธฐ๊ฐ์ผ๋ก ํน์ ๊ฐ์ ํ ๋น ํ์ต๋๋ค.
๋ ๋ฒ์งธ ์ํ (์กฐ๊ฑด์),
์กฐ๊ฑด๋์ for๋ฌธ์ ์ํํ ์ ์๋์ง ํ์ธํฉ๋๋ค.
์กฐ๊ฑด์ i < j ์ด๋ฏ๋ก, (i : 10) < (j : 20) ๋ฅผ ๋ง์กฑํฉ๋๋ค.
๋ ๋ฒ์งธ ์ํ์์ ์กฐ๊ฑด์ ๋ง์กฑํ๋ ๊ฒฝ์ฐ ์ธ ๋ฒ์งธ ์ํ์ผ๋ก ๋์ด๊ฐ๊ณ ,
์กฐ๊ฑด์ ๋ง์กฑํ์ง ์๋ ๊ฒฝ์ฐ ์ฌ๊ธฐ์ for๋ฌธ์ ์ข ๋ฃ๋ฉ๋๋ค.
โป ์กฐ๊ฑด์์ boolean ๊ฐ๋ง ๋ฉ๋๋ค. C++์ ๋ค๋ฆ.
์ธ ๋ฒ์งธ ์ํ (๋ฌธ๋ฒ),
๋ ๋ฒ์งธ ์ํ์์ ๋ง์กฑํ ๊ฒฝ์ฐ ์ธ ๋ฒ์งธ ์ํ์ ํฉ๋๋ค.
์ธ ๋ฒ์งธ ์ํ์ for ๋ฌธ์ ์ค๊ดํธ { } ๋ก ๋ฌถ์ฌ ์๋ ๋ฌธ๋ฒ์ ์ํํ๋ ๊ฒ ์ ๋๋ค.
์ฐ๋ฆฌ๊ฐ ์ํํ ๋ฌธ๋ฒ์ for๋ฌธ์ ๊ฐ ์ํ ํ์์ ๋ํ i์ j๋ฅผ ์ถ๋ ฅํฉ๋๋ค.
๋ชจ๋ ๋ฌธ๋ฒ์ด ๋๋๋ฉด ๋ค ๋ฒ์งธ ์ํ์ ์์ํฉ๋๋ค.
๋ค ๋ฒ์งธ ์ํ (์ฆ๊ฐ์),
์ฌ๋๋ค์ด ๋ง์ ์ฆ๊ฐ์์ผ๋ก ํํํ ๊ฒ์ด์ง ์ฌ์ค์ ๋ค์ ์ํํ ๋ช ๋ น์ ๋๋ค.
์ฆ ๋ฌธ๋ฒ์์ ๋ง์ง๋ง ์ค์ ์ถ๊ฐํ๋ ๊ฒ๊ณผ ๊ฐ์ต๋๋ค.
์ฐ์ ์ ์ฝ๋์์ ํด๋นํ๋ ๋ค ๋ฒ์งธ ์ํ์ cnt์ i๋ฅผ 1์ฉ ์ฆ๊ฐํ๊ณ j๋ฅผ 2์ฉ ๊ฐ์ํ๋ ๊ฒ์ ๋๋ค.
๋ค์ฏ ๋ฒ์งธ ์ํ (๋ฐ๋ณต),
์กฐ๊ฑด์์ ๋ฐ๋ผ ์ข ๋ฃ ๋ ๋๊น์ง ๋ฐ๋ณตํฉ๋๋ค.
for์์ ์ด๊ธฐ ์กฐ๊ฑด๊ณผ ์ฆ๊ฐ์์ ์ ์ธํ ์์ ๋ฅผ ์์ฑํ์๋๋ฐ์.
int i = 0;
for (; i < 10; ) i++;
์ ์ฝ๋์ ๊ฐ์ ํํ์์ฃ ? ์ฌ๊ธฐ์ ์ธ๋ฏธ์ฝ๋ก (;)์ ์์ ๊ณ for๋ฅผ while๋ก ๋ฐ๊พธ๋ฉด ๊ทธ๋ฅ while๋ฌธ ์ ๋๋ค.
int i = 0;
while (i < 10) i++;
// or
while (i < 10) {
i++;
}
while๋ฌธ๋ for๋ฌธ๊ณผ ๋ง์ฐฌ๊ฐ์ง๋ก ์กฐ๊ฑด์์๋ boolean ๊ฐ์ด ๋ค์ด๊ฐ์ผํฉ๋๋ค.
continue์ break๋ฅผ ์์ฑํ๋ ๊ฒ ๋ํ ๋๊ฐ์ต๋๋ค.
for๋ฌธ๊ณผ์ ์ฐจ์ด
์ ์ค๋ช ๋ง ๋ค์์ ๋๋ for๋ฌธ๊ณผ ์ฐจ์ด๊ฐ ์์ฃ ??
for๋ฌธ์ ๊ฒฝ์ฐ, ์ด๊ธฐ๊ฐ๊ณผ ์ฆ๊ฐ์์ ๋ํ ์ ๋ณด๋ฅผ ๋ณ๋๋ก ์ ์ฅํด๋ก๋๋ค.
๊ทธ๋ฆฌ๊ณ ๋งจ์ฒ์ ์ด๊ธฐ๊ฐ ์ ์ธ์ ํฌํจํ ์ด 5๋ฒ์ ์ฐ์ฐ์ ์ํํ๊ฒ ๋์ฃ .
๋ฐ๋ฉด์, while๋ฌธ์ ์ด๊ธฐ๊ฐ์ ๋ํด ๋ณ๋๋ก ์ ์ฅํ ์ ์์ผ๋ฉฐ while ๋ฌธ ๋ฐ์์ ํ ๋น์ ํด์ผํ์ฃ .
์ฆ, ์ฃผ๋ก for๋ฌธ์ for๋ฌธ ๋ด๋ถ์ ๋ฐ์ดํฐ๋ฅผ ์ฐ์ฐํ ๋ ์ฌ์ฉํ๊ณ
while๋ฌธ์ for๋ฌธ ์ธ๋ถ์ ๋ฐ์ดํฐ๋ฅผ ์ฐ์ฐํ ๋ ์ฌ์ฉํฉ๋๋ค.
for (int i = 0; i < 10; i++) {
System.out.printf("%d ", (i+1));
}
int i = 0;
while (i < 10) {
System.out.printf("%d ", (i+1);
}
์ฒซ ๋ฒ์งธ ์ํ (์กฐ๊ฑด์),
์กฐ๊ฑด๋์ while๋ฌธ์ ์ํํ ์ ์๋์ง ํ์ธํฉ๋๋ค.
์กฐ๊ฑด์ ๋ง์กฑํ์ง ์๋ ๊ฒฝ์ฐ ์ฌ๊ธฐ์ while๋ฌธ์ ์ข ๋ฃ๋ฉ๋๋ค.
โป ์กฐ๊ฑด์์ boolean ๊ฐ๋ง ๋ฉ๋๋ค.
๋ ๋ฒ์งธ ์ํ (๋ฌธ๋ฒ),
while ๋ฌธ ๋ธ๋ญ( ์ค๊ดํธ, {} ) ๋ด์ ํํ ๋ ๋ฌธ๋ฒ๋ค์ ์ํํฉ๋๋ค.
โป ์ด ๋, while๋ฌธ์ ์ข ๋ฃ์ํค๊ธฐ ์ํ ์กฐ๊ฑด์ ํ๋ณํ๊ธฐ ์ํด if๋ฌธ๊ณผ break, continue ๋ฌธ์ ์์ด์ ์ฌ์ฉํฉ๋๋ค.
์ธ ๋ฒ์งธ ์ํ (๋ฐ๋ณต)
do - while ๋ฌธ
while ๋ฌธ์๋ do - while๋ฌธ์ด๋ผ๋ ๊ฒ๋ ์กด์ฌํฉ๋๋ค.
do - while๋ฌธ์ ๋จผ์ ์คํ ํ์ ์กฐ๊ฑด์์ ๊ฒ์ฌํ๋๋ฐ์.
while๋ฌธ์ ์ธ ๊ฐ์ง ์ํ์ ํ๋๋ฐ do - while๋ฌธ๋ ๋ง์ฐฌ๊ฐ์ง๋ก ์ธ ๊ฐ์ง ์ํ์ ํฉ๋๋ค.
๋ค๋ง ์์๊ฐ ๋ฐ๋๋๋ค.
์ฒซ ๋ฒ์งธ ์ํ (๋ฌธ๋ฒ),
do ๋ฌธ ๋ธ๋ญ( ์ค๊ดํธ, {} ) ๋ด์ ํํ ๋ ๋ฌธ๋ฒ๋ค์ ์ํํฉ๋๋ค.
โป ์ด ๋, do-while๋ฌธ์ ์ข ๋ฃ์ํค๊ธฐ ์ํ ์กฐ๊ฑด์ ํ๋ณํ๊ธฐ ์ํด if๋ฌธ๊ณผ break, continue ๋ฌธ์ ์์ด์ ์ฌ์ฉํฉ๋๋ค.
๋ ๋ฒ์งธ ์ํ (์กฐ๊ฑด์),
์กฐ๊ฑด๋์ do-while๋ฌธ์ ์ํํ ์ ์๋์ง ํ์ธํฉ๋๋ค.
์กฐ๊ฑด์ ๋ง์กฑํ์ง ์๋ ๊ฒฝ์ฐ ์ฌ๊ธฐ์ do-while๋ฌธ์ ์ข ๋ฃ๋ฉ๋๋ค.
โป ์กฐ๊ฑด์์ boolean ๊ฐ๋ง ๋ฉ๋๋ค.
์ธ ๋ฒ์งธ ์ํ (๋ฐ๋ณต)
public class Main
{
public static void main(String[] args) {
int i = 0;
do {
System.out.printf("%d ", ++i);
}
while (i < 10);
}
}
๋ ธ์ ์ ๋ฆฌ URL
https://www.notion.so/24jihwan/019643d1ca304dd684ceaa73c34cf08e
๋ ผ๋ฆฌ ์ฌ๊ณ | Notion
์ฐ์ฐ์์ ๋ช ๋ น๋ฌธ ์ดํด
24jihwan.notion.site
'JAVA > ๊ธฐ๋ณธ ์ด๋ก ' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
10. Casting (ํ๋ณํ) (0) | 2024.07.14 |
---|---|
4. ์ /์ถ๋ ฅ (Input/Output, I/O) (0) | 2024.02.24 |
8. ๋ฐ๋ณต๋ฌธ - for ๋ฌธ (1) | 2024.02.10 |
7. ๋ค์ฐจ์ ๋ฐฐ์ด (Multi Dimensional Array) (1) | 2024.02.10 |
6. ๋ฐฐ์ด (Array) (1) | 2024.02.10 |