-
Live Study - Java ์ ํ๋ฌธ, ๋ฐ๋ณต๋ฌธHello, World ๐ป/Java โ๏ธ 2020. 12. 6. 15:18
์ฝ๋๋ ์์์ ์๋๋ก ํ ๋ฌธ์ฅ์ฉ ์์ฐจ์ ์ผ๋ก ์ํ๋๋ค. ์ฝ๋๋ฅผ ์์ฑํ๋ค ๋ณด๋ฉด ์ด๋ค ์กฐ๊ฑด์ ๋ฐ๋ผ ์ด๋ค ์ฝ๋๋ ๊ฑด๋๋ฐ๊ณ ์ํํ๊ณ , ๊ฐ์ ์ฝ๋๋ฅผ ๋ฐ๋ณต์ ์ผ๋ก ์ํ์ํฌ ๋๊ฐ ์๋ค. ํ๋ก๊ทธ๋จ์ ํ๋ฆ์ ๋ฐ๊พธ๋ ์ญํ ์ ํ๋ ๊ฒ์ '์ ์ด๋ฌธ'์ด๋ผ๊ณ ํ๊ณ ์ ์ด๋ฌธ์๋ ์ ํ๋ฌธ๊ณผ ๋ฐ๋ณต๋ฌธ์ด ์๋ค.
์ ํ๋ฌธ
์ ํ๋ฌธ์๋ if, switch ๋ฌธ์ด ์๋ค. ์ ํ๋ฌธ์ ์กฐ๊ฑด๋ฌธ์ด๋ผ๊ณ ๋ ํ๋ค.
if
if ๋ฌธ์ ๊ฐ์ฅ ๊ธฐ๋ณธ์ ์ธ ์กฐ๊ฑด๋ฌธ์ด๋ค. ์๋์ ๊ฐ์ด ์กฐ๊ฑด์, ๊ดํธ๋ก ์ด๋ฃจ์ด์ ธ ์๋ค.
if (์กฐ๊ฑด์) { // ์ฝ๋ ๋ธ๋ก }
์กฐ๊ฑด์์ด True ์ด๋ฉด ์ค๊ดํธ ๋ด์ ๋ฌธ์ฅ์ ์ํํ๋ค.
์กฐ๊ฑด์์ ์ผ๋ฐ์ ์ผ๋ก ๋น๊ต ์ฐ์ฐ์, ๋ ผ๋ฆฌ ์ฐ์ฐ์๋ก ๊ตฌ์ฑ๋๋ค. >, <, ==, && || ๋ฑ.. ์ ์กฐ๊ฑด์์ ์ ๊ตฌ์ฑํด์ ์์ฑํด์ผ ํ๋ค.
์ด๋ ์ฃผ์ํด์ผ ํ ๊ฒ์ == ์ฐ์ฐ์๋ฅผ ์จ์ผ ํ๋๋ฐ = ์ฐ์ฐ์๋ฅผ ์ฌ์ฉํ๋ ์ค์๋ฅผ ํ ์๊ฐ ์์ด ์กฐ์ฌํด์ผ ํ๋ค. ๊ทธ๋์ ์๋์ ๊ฐ์ด == ๋น๊ต ์ฐ์ฐ์์ ์ผ์ชฝ์ ํผ์ฐ์ฐ์๋ฅผ ๋ณ์๊ฐ ์๋๋ผ ๋ฆฌํฐ๋ด์ ์ฌ์ฉํ๋ฉด ์ค์๋ฅผ ์ค์ผ ์ ์๋ค.5 == number
if ๋ฌธ์ ์ฝ๋ ๋ธ๋ก์ด ํ ์ค์ธ ๊ฒฝ์ฐ ์ค๊ดํธ{} ๋ฅผ ์๋ตํ ์ ์๋ค.
if (์กฐ๊ฑด๋ฌธ) // ์ฝ๋๋ธ๋ก
if ๋ฌธ์ else if, else ๋ฌธ๊ณผ ํจ๊ป ์ฌ์ฉํด ์ฌ๋ฌ ๊ฒฝ์ฐ์ ์๋ฅผ ์ฒ๋ฆฌํ ์ ์๋ค. ์๋๋ ์ฝ๋์ ์์ด๋ค.
if (์กฐ๊ฑด๋ฌธ) { // ์ฝ๋ 1 } else { // ์ฝ๋ 2 }
- ์กฐ๊ฑด๋ฌธ์ ๊ฒฐ๊ณผ๊ฐ True ์ด๋ฉด ์ฝ๋ 1์, False ์ด๋ฉด ์ฝ๋ 2๊ฐ ์ํ๋๋ค.
if (์กฐ๊ฑด1) { // ์ฝ๋ 1 } else if (์กฐ๊ฑด2) { // ์ฝ๋ 2 } else if (์กฐ๊ฑด3) { // ์ฝ๋ 3 } else { // ์ฝ๋ 4 }
- ์กฐ๊ฑด1 ์ด True ์ด๋ฉด ์ฝ๋1 ์ด ์ํ๋๋ค. ์กฐ๊ฑด1 ์ด True ์ด๊ณ ์ฝ๋1 ์ด ์ํ๋์์ผ๋ฉด ํด๋น ์กฐ๊ฑด๋ฌธ์ ํ์ถํ๋ค. ์กฐ๊ฑด2, ์กฐ๊ฑด3, else ๋ฌธ์ ์ํํ์ง ์๋ ๋ค๋ ๊ฒ์ด๋ค.
- ์กฐ๊ฑด1 ์ด False ์ด๋ฉด ์ฝ๋2๋ฅผ ์ํํ๊ณ , ์๋ ๊ฒฝ์ฐ ์กฐ๊ฑด3 ๋ ๋๊ฐ์ด ์ํ๋๋ค.
- ์กฐ๊ฑด1, ์กฐ๊ฑด2, ์กฐ๊ฑด3์ด ๋ชจ๋ False ์ธ ๊ฒฝ์ฐ ๋ง์ง๋ง else ๋ฌธ์ด ์ํ๋๋ค.
์๋์ ๊ฒฐ๊ณผ๋ ๋ญ๊น?
@Test public void testConditions() { int number = 15; if (number % 3 == 0 && number % 5 == 0) { System.out.println(1); } else if (number % 5 == 0) { System.out.println(2); } else if (number % 3 == 0) { System.out.println(3); } }
๊ฒฐ๊ณผ๋ฅผ ์์ํด ๋ณด๊ณ ๋ต์ ์ค๋ฅธ์ชฝ์ ๋๋๊ทธ! -> 1 (๋ง ์ถ๋ ฅ!)
switch
switch ๋ฌธ์ if else ์ ๋ค๋ฅด๊ฒ ํ๋์ ์กฐ๊ฑด์ผ๋ก ์ฌ๋ฌ ๋ถ๊ธฐ๋ฅผ ๊ฐ์ง ์ ์๋ค. switch ๋ byte, short, char, int ์์ ํ์ ๊ณผ Byte, Short, Integer, Character Wrapper ํ์ ๋ค, Enum, String ์ ํจ๊ป ๋์ํ๋ค.
์๋์ ์ฝ๋๋ int ํ์ ์ month ๋ณ์๋ฅผ ์ฌ์ฉํด, ํด๋น ์์ ์ถ๋ ฅํ๋ switch ๋ฌธ์ด๋ค.
@Test public void switchSample() { int month = 5; switch (month) { case 1: System.out.println("1์"); break; case 2: System.out.println("2์"); break; case 3: System.out.println("3์"); break; case 4: System.out.println("4์"); break; case 5: System.out.println("5์"); break; case 6: System.out.println("6์"); break; case 7: System.out.println("7์"); break; case 8: System.out.println("8์"); break; case 9: System.out.println("9์"); break; case 10:System.out.println("10์"); break; case 11:System.out.println("11์"); break; case 12:System.out.println("12์"); break; default:System.out.println("์ ํจํ์ง ์์ month!"); break; } }
switch ๋ฌธ์ ๋ณธ๋ฌธ์ ํ๋ ์ด์์ case ๋ฌธ๊ณผ default ๋ฌธ์ผ๋ก ๊ตฌ์ฑ๋๋ค. switch ๋ฌธ์ ์์ ํ๊ฐํ๊ณ ํด๋นํ๋ case ๋ฌธ์ ์ํํ๋ค. case ๋ฌธ์ ์กฐ๊ฑด์ด ๋ชจ๋ ํด๋นํ์ง ์์ผ๋ฉด default ๋ฌธ์ด ์ํ๋๋ค.
์์ switch ๋ฌธ์ if else ๋ฌธ์ผ๋ก ์์ฑํ๋ฉด ์๋์ ๊ฐ๋ค.
@Test public void switchSample() { int month = 5; if (month == 1) { System.out.println("1์"); } else if (month == 2) { System.out.println("2์"); } ... // 12 ๊น์ง ๋ฐ๋ณต else { System.out.println("์ ํจํ์ง ์์ month!"); } }
switch ๋ฌธ๊ณผ if else ๋ฌธ์ ๊ฐ๋ ์ฑ, ์กฐ๊ฑด์์ ๋ฐ๋ผ ์ด๋ค ๊ฒ์ ์ ํํ ์ง ํ๋จํด ์ฌ์ฉํ๋ฉด ๋๋ค. if else ๋ฌธ์ ๊ฐ์ ๋ฒ์๋ ์ฌ๋ฌ ์กฐ๊ฑด์ ์กฐํฉํด ํ๋จํ ์ ์๋ ๋ฐ๋ฉด, switch ๋ฌธ์ ํ๋์ ์ ์, Enum, String ๋ง ์ฌ์ฉํ ์ ์๋ค.
๋ ๊ณ ๋ คํด์ผ ํ ๊ฒ์ break ๋ฌธ์ด๋ค. switch ๋ฌธ์ ๊ฐ๊ฐ์ case ๋ฌธ์ ๋ง์ง๋ง์ ํญ์ break ๋ฅผ ์์ฑํด์ค์ผ ํ๋ค. (default ๋ฌธ์ break ๋ฌธ์ด ํ์ ์์ง๋ง break ๋ฌธ์ ํญ์ ์ฌ์ฉํ๋ ๊ฒ์ด ์ฝ๋ ์์ ๋ ์ฝ๊ณ ๋ ์ค์ํ๋ ๋ฐฉ๋ฒ์ด๋ผ๊ณ ํ๋ค)
break ๋ฌธ์ด ์์ผ๋ฉด break ๋ฌธ์ ๋ง๋๊ฑฐ๋ switch ๋ฌธ์ด ๋๋ ๋๊น์ง ํด๋น case ๋ฌธ ์๋์ ์๋ ๋ชจ๋ case ๋ฌธ์ ์ฝ๋๊ฐ ๋ชจ๋ ์คํ๋๋ค. break ๋ฌธ์ด ์์ผ๋ฉด ์๋ ์ฝ๋์ ์ถ๋ ฅ ๊ฒฐ๊ณผ๋ 5์๋ถํฐ ์ ํจํ์ง ์์ month! ๊น์ง ๋ชจ๋ ์ถ๋ ฅ๋๋ค.@Test public void switchSample() { int month = 5; switch (month) { case 1: System.out.println("1์"); case 2: System.out.println("2์"); case 3: System.out.println("3์"); case 4: System.out.println("4์"); case 5: System.out.println("5์"); case 6: System.out.println("6์"); case 7: System.out.println("7์"); case 8: System.out.println("8์"); case 9: System.out.println("9์"); case 10:System.out.println("10์"); case 11:System.out.println("11์"); case 12:System.out.println("12์"); default:System.out.println("์ ํจํ์ง ์์ month!"); } }
5์
6์
7์
8์
9์
10์
11์
12์
์ ํจํ์ง ์์ month!์ฌ๋ฌ ๊ฐ์ case ๋ฌธ์ ๋ํด ๊ฐ์ ์ฝ๋๋ฅผ ์ํ์ํค๋ ค๋ฉด ์๋์ ๊ฐ์ด ํ๋ฉด ๋๋ค.
@Test public void switchSample() { int month = 5; switch (month) { case 1: case 2: case 3: System.out.println("1๋ถ๊ธฐ"); break; case 4: case 5: case 6: System.out.println("2๋ถ๊ธฐ"); break; case 7: case 8: case 9: System.out.println("3๋ถ๊ธฐ"); break; case 10: case 11: case 12: System.out.println("4๋ถ๊ธฐ"); break; } }
'2๋ถ๊ธฐ' ์ถ๋ ฅ.
Java 7 ๋ถํฐ switch ๋ฌธ์ String ์ ์ฌ์ฉํ ์ ์๋ค.
public int getMonthNumber(String month) { if (month == null) { return 0; } int monthValue = 0; switch (month.toLowerCase()) { case "january": monthValue = 1; break; case "february": monthValue = 2; break; case "march": monthValue = 3; break; case "april": monthValue = 4; break; case "may": monthValue = 5; break; case "june": monthValue = 6; break; case "july": monthValue = 7; break; case "august": monthValue = 8; break; case "september": monthValue = 9; break; case "october": monthValue = 10; break; case "november": monthValue = 11; break; case "december": monthValue = 12; break; default: monthValue = 0; break; } return monthValue; }
switch ๋ฌธ์์ string ์ equals ๋ฉ์๋๋ฅผ ์ฌ์ฉํด ๋น๊ต ํ case ๋ฌธ์ ์ฐพ๊ฒ ๋๋ค. equals ๋ฉ์๋๋ ๋์๋ฌธ์๋ฅผ ๊ตฌ๋ถํ๊ธฐ ๋๋ฌธ์ ์ํฉ์ ๋ง๊ฒ ์ ๋ ฅ ๋ฌธ์๋ฅผ ์๋ฌธ์๋ ๋๋ฌธ์๋ก ๋ง์ถ๊ณ ๋น๊ตํ๋๋ก ํด์ผ ํ๋ค.null ์ ํญ์ ์กฐ์ฌํ์.
๋ฐ๋ณต๋ฌธ
๋ฐ๋ณต๋ฌธ์๋ while, do-while, for ๋ฌธ์ด ์๋ค.
while
while ๋ฌธ์ ์กฐ๊ฑด์์ด true ์ธ ๊ฒฝ์ฐ while ๋ธ๋ก์ ๊ณ์ ์ํํ๋ค.
while(์กฐ๊ฑด์) { // ์ฝ๋.. } ------------------------------------------- int count = 1; while (count <= 10) { System.out.println(count); count++; }
while ๋ฌธ์ ์กฐ๊ฑด์์ ํญ์ boolean ํ์ ์ ๊ฒฐ๊ณผ๋ฅผ ๋ฐํํด์ผ ํ๋ค.
์์ while ๋ฌธ์ 1๋ถํฐ 10๊น์ง ์ถ๋ ฅํ๊ณ ์ข ๋ฃ๋๋ค. while ๋ฌธ์ ์กฐ๊ฑด์์ ๋ค์ด๊ฐ๋ ๋ณ์ ๊ฐ์ ์ ์ ํ๊ฒ ๋ณ๊ฒฝํด์ผ ํ๋ค.do-while
while ๋ฌธ์ ์กฐ๊ฑด์ ๋ฐ๋ผ ํ๋ฒ๋ ์คํ์ด ์๋ ์๋ ์์ง๋ง, do-while ๋ฌธ์ ํญ์ ํ ๋ฒ์ ์ํํ๋ค. while ์กฐ๊ฑด์์ด ๋๋๊ณ ; (์ธ๋ฏธ์ฝ๋ก )์ผ๋ก ๋ซ์์ค์ผ ํ๋ค.
do { // ์ฝ๋.. } while (์กฐ๊ฑด์); ------------------------------ int count = 1; do { System.out.println(count); count++; } while (count <= 10);
for
for ๋ฌธ์ while ๋ฌธ ๋ณด๋ค ์ข ๋ Compact ํ ๋ฐฉ๋ฒ์ ์ ๊ณตํ๋ค.
for (initialization; termination; increment) { // ์ฝ๋.. }
initialization, ์ด๊ธฐ์ - ์ด๊ธฐ์ ๋ถ๋ถ์ ๋ฐ๋ณต๋ฌธ์์ ์ฌ์ฉํ ๋ณ์๋ฅผ ์ด๊ธฐํํ๋ค. ๋ฐ๋ณต๋ฌธ์ด ์์๋๋ฉด์ ํ ๋ฒ๋ง ์คํ๋๋ค.
termination, ์ข ๋ฃ ์กฐ๊ฑด - ์ข ๋ฃ ์กฐ๊ฑด์ด False ์ด๋ฉด ๋ฐ๋ณต๋ฌธ์ ์ข ๋ฃ๋๋ค.
increment, ์ฆ๋ถ์ - for ๋ฌธ์ ๋ณธ๋ฌธ์ด ๋ฐ๋ณต๋ ๋๋ง๋ค ์ํ๋๋ค. ์ด๊ธฐ์์์ ์ด๊ธฐํ ํ ๋ณ์์ ๊ฐ์ ์ฆ๊ฐ, ๊ฐ์, ๋ณ๊ฒฝ ์ํฌ ์ ์๋ค.for (int i = 1; i < 11; i++) { System.out.println(i); }
์์ for ๋ฌธ์ while ๋ฌธ์ผ๋ก ์์ฑํ ์ฝ๋์ ๊ฐ์ ๊ฒฐ๊ณผ๋ฅผ ์ถ๋ ฅํ๋ค.
for ๋ฌธ์ ์ด๊ธฐ์์์ ์ ์ธํ ๋ณ์๋ค์ for ๋ฌธ์ ๋ณธ๋ฌธ ๋ด์์ ๊ณ์ ์ ํจํ๋ค. ๊ทธ๋ฆฌ๊ณ for ๋ฌธ ๋ฐ์์ ํ์ํ์ง ์์ผ๋ฉด ํญ์ ํด๋น ์ด๊ธฐ์์์ ์ ์ธํ๊ณ ์ฌ์ฉํ๋ ๊ฒ์ด ์ค๋ฅ๋ฅผ ์ค์ด๋ ์ต๊ด์ธ ๊ฒ ๊ฐ๋ค.
i, j, k ๋ for ๋ฌธ์์ ๋ฐ๋ณต๋ฌธ์ ์ ์ดํ๊ธฐ ์ํด ์์ฃผ ์ฌ์ฉํ๋ ๋ณ์๋ช ์ด๋ค.enhanced for
ํฅ์๋ for ๋ฌธ์ด๋ผ๋ ๊ฒ์ด ์๋ค. Collections ๋ ๋ฐฐ์ด ํ์ ์ ์ํํ๊ธฐ ์ํ ๋ฐ๋ณต๋ฌธ์ด๋ค. ์ข ๋ Compact ํ๊ณ ์ฝ๊ธฐ ์ฝ๋ค. ๊ฐ๋ฅํ๋ฉด ํฅ์๋ for ๋ฌธ์ ์ฐ๋ ๊ฒ์ด ์ข๋ค.
int[] numbers = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10}; for (int number : numbers) { System.out.println(number); }
References
docs.oracle.com/javase/tutorial/java/nutsandbolts/switch.html
docs.oracle.com/javase/tutorial/java/nutsandbolts/for.html
www.yes24.com/Product/Goods/24259565'Hello, World ๐ป > Java โ๏ธ' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
Live Study - Java Package (0) 2020.12.30 Live Study - Java ์์ (Inheritance) (0) 2020.12.23 Live Study - Java ์ Class (0) 2020.12.14 Live Study - Java ๊ฐ ์ ๊ณตํ๋ ๋ค์ํ ์ฐ์ฐ์ (0) 2020.11.24 Live Study - Java JVM ์ ๋ํด (0) 2020.11.21