๊ด€๋ฆฌ ๋ฉ”๋‰ด

Binary Journey

[Java] ์ฝ”๋“œ๋กœ ์‹œ์ž‘ํ•˜๋Š” ์ž๋ฐ” ์ฒซ ๊ฑธ์Œ (4-6) ๋ณธ๋ฌธ

Java | Spring

[Java] ์ฝ”๋“œ๋กœ ์‹œ์ž‘ํ•˜๋Š” ์ž๋ฐ” ์ฒซ ๊ฑธ์Œ (4-6)

binaryJournalist 2024. 12. 20. 00:18
๋ฐ˜์‘ํ˜•

๐Ÿ’ก inflearn ๊น€์˜ํ•œ์˜ ์‹ค์ „์ž๋ฐ” ๋กœ๋“œ๋งต์„ ๋”ฐ๋ผ ํ•™์Šตํ•˜๊ณ  ๋ณต์Šตํ•œ ๋‚ด์šฉ์„ ์ ์—ˆ์Šต๋‹ˆ๋‹ค.

 

์—ฐ์‚ฐ์ž

 

์‚ฐ์ˆ  ์—ฐ์‚ฐ์ž

์‚ฐ์ˆ  ์—ฐ์‚ฐ์ž๋Š” ์ฃผ๋กœ ์ˆซ์ž๋ฅผ ๊ณ„์‚ฐํ•˜๋Š” ๋ฐ ์‚ฌ์šฉ๋œ๋‹ค.

 

 

์‹ค๋ฌด์—์„œ ์ฃผ๋กœ ๋‹ค๋ฃจ๋Š” ์—ฐ์‚ฐ์ž

  • ์‚ฐ์ˆ  ์—ฐ์‚ฐ์ž: +, -,*, /, %
  • ์ฆ๊ฐ ์—ฐ์‚ฐ์ž: ++, --
  • ๋น„๊ต ์—ฐ์‚ฐ์ž: ==, !=, >, <, >=, <=
  • ๋…ผ๋ฆฌ ์—ฐ์‚ฐ์ž: &&, ||, !
  • ๋Œ€์ž… ์—ฐ์‚ฐ์ž: =, +=, -=, *=, /=, %=
  • ์‚ผํ•ญ ์—ฐ์‚ฐ์ž: ? :
// ๋ณ€์ˆ˜ ์ดˆ๊ธฐํ™”  
int a = 5;  
int b = 2;  

// ๋ง์…ˆ  
int sum = a + b;  
System.out.println("a + b = " + sum);  

// ๋บ„์…ˆ  
int diff = a - b;  
System.out.println("a - b = " + diff);  

// ๊ณฑ์…ˆ  
int multi = a * b;  
System.out.println("a * b = " + multi);  

// ๋‚˜๋ˆ—์…ˆ  
int div = a / b; // ํ˜•๋ณ€ํ™˜์ด ์ผ์–ด๋‚จ  
System.out.println("a / b = " + div);  

// ๋‚˜๋จธ์ง€  
int mod = a % b;  
System.out.println("a % b = " + mod);

๐Ÿ’ก ์ˆซ์ž๋Š” 0์œผ๋กœ ๋‚˜๋ˆŒ ์ˆ˜ ์—†๋‹ค. ํ”„๋กœ๊ทธ๋žจ ์˜ค๋ฅ˜๊ฐ€ ๋ฐœ์ƒํ•œ๋‹ค.
Exception in thread "main" java.lang.ArithmeticException: / by zero

 

๋ฌธ์ž์—ด ๋”ํ•˜๊ธฐ

๋ฌธ์ž์—ด์—๋„ +์—ฐ์‚ฐ์ž๋ฅผ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋‹ค. ๋ฌธ์ž์—ด์— +์—ฐ์‚ฐ์ž๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด ๋‘ ๋ฌธ์ž์—ด์„ ์—ฐ๊ฒฐํ•  ์ˆ˜ ์žˆ๋‹ค.

// ๋ฌธ์ž์—ด๊ณผ  ๋ฌธ์ž์—ด ๋”ํ•˜๊ธฐ1  
String result1 = "hello" + "world";  
System.out.println(result1);  

// ๋ฌธ์ž์—ด๊ณผ  ๋ฌธ์ž์—ด ๋”ํ•˜๊ธฐ2  
String s1 = "string1";  
String s2 = "string2";  
String result2 = s1 + s2;  
System.out.println(result2);  

// ๋ฌธ์ž์—ด๊ณผ ์ˆซ์ž ๋”ํ•˜๊ธฐ1  
String result3 = "a + b = " + 10; // 10์„ ๋ฌธ์ž์—ด์œผ๋กœ ํ˜•๋ณ€ํ™˜ ํ•ด์คŒ  
System.out.println(result3);  

// ๋ฌธ์ž์—ด๊ณผ ์ˆซ์ž ๋”ํ•˜๊ธฐ2  
int num = 20;  
String str = "a + b = ";  
String result4 = str + num; // num์„ ๋ฌธ์ž์—ด์œผ๋กœ ํ˜•๋ณ€ํ™˜ ํ•ด์คŒ
System.out.println(result4);

 

์—ฐ์‚ฐ์ž ์šฐ์„ ์ˆœ์œ„

์‚ฐ์ˆ  ์—ฐ์‚ฐ์€ ์‚ฌ์น™ ์—ฐ์‚ฐ์ด ์ ์šฉ๋œ๋‹ค.

int sum1 = 1 + 2 * 3;  
int sum2 =  (1 + 2) * 3;  
System.out.println("sum1 = " + sum1);  
System.out.println("sum2 = " + sum2);

 

๋ณต์žกํ•œ ์ˆ˜์‹์˜ ๊ฒฝ์šฐ ๊ด„ํ˜ธ๋ฅผ ๋ช…์‹œ์ ์œผ๋กœ ์‚ฌ์šฉํ•˜๋Š” ๊ฒƒ์ด ๋” ๋ช…ํ™•ํ•˜๊ณ  ์ดํ•ดํ•˜๊ธฐ ์‰ฝ๋‹ค.
์—ฐ์‚ฐ์ž ์šฐ์„ ์ˆœ์œ„๊ฐ€ ์• ๋งคํ•˜๊ฑฐ๋‚˜ ์กฐ๊ธˆ์ด๋ผ๋„ ๋ณต์žกํ•˜๋‹ค๋ฉด ์–ธ์ œ๋‚˜ ๊ด„ํ˜ธ๋ฅผ ๊ณ ๋ คํ•˜์ž!

int sum3 = 2 * 2 + 3 * 3;  
int sum4 = (2 * 2) + (3 * 3);  
System.out.println("sum3 = " + sum3);  
System.out.println("sum4 = " + sum4);

 

์—ฐ์‚ฐ์ž ์šฐ์„ ์ˆœ์œ„ ์•”๊ธฐ๋ฒ•
์ฒ˜์Œ ๋‚˜์˜ค๋Š” ๊ด„ํ˜ธ()๊ฐ€ ์šฐ์„ ์ˆœ์œ„๊ฐ€ ๊ฐ€์žฅ ๋†’๊ณ  ๋งˆ์ง€๋ง‰ ๋Œ€์ž… ์—ฐ์‚ฐ์ž๊ฐ€ ์šฐ์„ ์ˆœ์œ„๊ฐ€ ๊ฐ€์žฅ ๋‚ฎ๋‹ค.

  1. ๊ด„ํ˜ธ()
  2. ๋‹จํ•ญ ์—ฐ์‚ฐ์ž: ++, --, !, ~, new, (type)
  3. ์‚ฐ์ˆ  ์—ฐ์‚ฐ์ž: *, /, % ์šฐ์„ , ๊ทธ ๋‹ค์Œ์— +, -
  4. Shift ์—ฐ์‚ฐ์ž: <<, >>, >>>
  5. ๋น„๊ต ์—ฐ์‚ฐ์ž: <, <=, >, >=, instanceof
  6. ๋“ฑ์‹์—ฐ์‚ฐ์ž: ==, !=
  7. ๋น„ํŠธ์—ฐ์‚ฐ์ž: &, ^, |
  8. ๋…ผ๋ฆฌ ์—ฐ์‚ฐ์ž: &&, ||
  9. ์‚ผํ•ญ ์—ฐ์‚ฐ์ž: ? :
  10. ๋Œ€์ž… ์—ฐ์‚ฐ์ž: =, +=, -=, *=, /=, %=

 

๐Ÿ’ก ๋ฌด์กฐ๊ฑด ์™ธ์šฐ๋ ค ํ•˜์ง€ ๋ง์ž!

  • ์—ฐ์‚ฐ์ž ์šฐ์„ ์ˆœ์œ„๋Š” ์ƒ์‹์„ ์—์„œ ์ƒ๊ฐํ•˜์ž.
  • ์• ๋งคํ•˜๋ฉด ๊ด„ํ˜ธ()๋ฅผ ์‚ฌ์šฉํ•˜์ž

 

์ฆ๊ฐ ์—ฐ์‚ฐ์ž

์ฆ๊ฐ€ ๋ฐ๊ฐ์†Œ ์—ฐ์‚ฐ์ž๋ฅผ ์ค„์—ฌ์„œ ์ฆ๊ฐ์—ฐ์‚ฐ์ž๋ผ๊ณ  ํ•œ๋‹ค.
++, --

int a = 0;  

a = a + 1;  
System.out.println("a = " + a); // 1  

a = a + 1;  
System.out.println("a = " + a); // 2  

// ์ฆ๊ฐ ์—ฐ์‚ฐ์ž  
++a; // a = a + 1  
System.out.println("a = " + a); // 3  

++a;  
System.out.println("a = " + a); // 4

 

์ „์œ„, ํ›„์œ„ ์ฆ๊ฐ ์—ฐ์‚ฐ์ž

์ฆ๊ฐ ์—ฐ์‚ฐ์ž๋Š” ํ”ผ์—ฐ์‚ฐ์ž ์•ž์— ๋‘๊ฑฐ๋‚˜ ๋’ค์— ๋‘˜ ์ˆ˜ ์žˆ์œผ๋ฉฐ, ์—ฐ์‚ฐ์ž์˜ ์œ„์น˜์— ๋”ฐ๋ผ ์—ฐ์‚ฐ์ด ์ˆ˜ํ–‰๋˜๋Š” ์‹œ์ ์ด ๋‹ฌ๋ผ์ง„๋‹ค.

 

  • ++a
    • ์ „์œ„(prefix) ์ฆ๊ฐ ์—ฐ์‚ฐ์ž
    • ์ฆ๊ฐ ์—ฐ์‚ฐ์ด ์ˆ˜ํ–‰๋œ ํ›„ ๋‚˜๋จธ์ง€ ์—ฐ์‚ฐ์ด ์ˆ˜ํ–‰๋œ๋‹ค.
  • a++
    • ํ›„์œ„(postfix) ์ฆ๊ฐ ์—ฐ์‚ฐ์ž
    • ๋‹ค๋ฅธ ์—ฐ์‚ฐ์ด ๋จผ์ € ์ˆ˜ํ–‰๋œ ํ›„ ์ฆ๊ฐ ์—ฐ์‚ฐ์ด ์ˆ˜ํ–‰๋œ๋‹ค.

 

int a = 1;  
int b = 0;  

// ์ „์œ„ ์ฆ๊ฐ ์—ฐ์‚ฐ์ž ์‚ฌ์šฉ ์˜ˆ  
b = ++a; // a์˜ ๊ฐ’์„ ๋จผ์ € ์ฆ๊ฐ€์‹œํ‚ค๊ณ  ๊ทธ ๊ฒฐ๊ณผ๋ฅผ b์— ๋Œ€์ž…  
System.out.println("a = " + a + ", b = " + b); // a = 2, b = 2 

a = 1;  
b = 0;  
// ํ›„์œ„ ์ฆ๊ฐ ์—ฐ์‚ฐ์ž ์‚ฌ์šฉ ์˜ˆ  
b = a++; // a์˜ ํ˜„์žฌ ๊ฐ’์„ b์— ๋Œ€์ž…ํ•˜๊ณ , ๊ทธ ํ›„ a๊ฐ’์„ ์ฆ๊ฐ€์‹œํ‚ด  
System.out.println("a = " + a + ", b = " + b); // a = 2, b = 1

 

๋น„๊ต ์—ฐ์‚ฐ์ž

๋น„๊ต ์—ฐ์‚ฐ๋Š” ๋‘ ๊ฐ’์„ ๋น„๊ตํ•˜๋Š” ๋ฐ ์‚ฌ์šฉํ•œ๋‹ค.
๋น„๊ต ์—ฐ์‚ฐ์ž๋Š” ์ฃผ๋กœ ๋’ค์— ์„ค๋ช…ํ•˜๋Š” ์กฐ๊ฑด๋ฌธ๊ณผ ํ•จ๊ป˜ ์‚ฌ์šฉํ•œ๋‹ค.
๋น„๊ต ์—ฐ์‚ฐ์ž๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด ์ฐธ(true) ๋˜๋Š” ๊ฑฐ์ง“(false)์ด๋ผ๋Š” ๊ฒฐ๊ณผ๊ฐ€ ๋‚˜์˜จ๋‹ค. ์ฐธ/๊ฑฐ์ง“์€ booleanํ˜•์„ ์‚ฌ์šฉํ•œ๋‹ค.

 

๋น„๊ต ์—ฐ์‚ฐ์ž

  • ==: ๋™๋“ฑ์„ฑ (equal to)
  • !=: ๋ถˆ์ผ์น˜ (not equal to)
  • >: ํฌ๋‹ค (greater than)
  • <: ์ž‘๋‹ค (less than)
  • >=: ํฌ๊ฑฐ๋‚˜ ๊ฐ™๋‹ค (greater than or equal to)
  • <=: ์ž‘๊ฑฐ๋‚˜ ๊ฐ™๋‹ค (less than or equal to)

 

int a = 2;  
int b = 3;  

System.out.println("a == b = " + (a == b)); // false  
System.out.println("a != b = " + (a != b)); // true  
System.out.println("a > b = " + (a > b)); // false  
System.out.println("a < b = " + (a < b)); // true  
System.out.println("a >= b = " + (a >= b)); // false  
System.out.println("a <= b = " + (a <= b)); // true  

// ๊ฒฐ๊ณผ๋ฅผ boolean ๋ณ€์ˆ˜์— ๋‹ด์„ ์ˆ˜ ์žˆ๋‹ค.  
boolean result = a == b;  
System.out.println("result = " + result);

 

๋ฌธ์ž์—ด ๋น„๊ต

๋ฌธ์ž์—ด์ด ๊ฐ™์€์ง€ ๋น„๊ตํ•  ๋•Œ์—๋Š” ==์ด ์•„๋‹ˆ๋ผ .equals()๋ฉ”์„œ๋“œ๋ฅผ ์‚ฌ์šฉํ•ด์•ผ ํ•œ๋‹ค.

String str1 = "๋ฌธ์ž์—ด1";  
String str2 = "๋ฌธ์ž์—ด2";  

boolean result1 = "hello".equals("hello"); // ๋ฆฌํ„ฐ๋Ÿด ๋น„๊ต  
boolean result2 = str1.equals("๋ฌธ์ž์—ด1"); // ๋ฌธ์ž์—ด ๋ณ€์ˆ˜, ๋ฆฌํ„ฐ๋Ÿด ๋น„  
boolean result3 = str1.equals(str2); // ๋ฌธ์ž์—ด ๋ณ€์ˆ˜ ๋น„๊ต  

System.out.println(result1); // true  
System.out.println(result2); // true  
System.out.println(result3); // false

 

๋…ผ๋ฆฌ ์—ฐ์‚ฐ์ž

๋…ผ๋ฆฌ ์—ฐ์‚ฐ์ž๋Š” booleanํ˜•์ธ true, false๋ฅผ ๋น„๊ตํ•˜๋Š” ๋ฐ ์‚ฌ์šฉํ•œ๋‹ค.

 

๋…ผ๋ฆฌ ์—ฐ์‚ฐ์ž

  • && (๊ทธ๋ฆฌ๊ณ ): ๋‘ ํ”ผ์—ฐ์‚ฐ์ž๊ฐ€ ๋ชจ๋‘ ์ฐธ์ด๋ฉด ์ฐธ์„ ๋ฐ˜ํ™˜, ๋‘˜ ์ค‘ ํ•˜๋‚˜ ๊ฑฐ์ง“์ด๋ฉด ๊ฑฐ์ง“์„ ๋ฐ˜ํ™˜
  • || (๋˜๋Š”): ๋‘ ํ”ผ์—ฐ์‚ฐ์ž ์ค‘ ํ•˜๋‚˜๋ผ๋„ ์ฐธ์ด๋ฉด ์ฐธ์„ ๋ฐ˜ํ™˜, ๋‘˜ ๋‹ค ๊ฑฐ์ง“์ด๋ฉด ๊ฑฐ์ง“์„ ๋ฐ˜ํ™˜
  • ! (๋ถ€์ •): ํ”ผ์—ฐ์‚ฐ์ž์˜ ๋…ผ๋ฆฌ์  ๋ถ€์ •์„ ๋ฐ˜ํ™˜. ์ฆ‰ ์ฐธ์ด๋ฉด ๊ฑฐ์ง“์„, ๊ฑฐ์ง“์œผ๋ฉด ์ฐธ์„ ๋ฐ˜ํ™˜

 

System.out.println("&&: AND ์—ฐ์‚ฐ");  
System.out.println(true && true); // true  
System.out.println(true && false); // false  
System.out.println(false && false); // false  

System.out.println("|| : OR ์—ฐ์‚ฐ");  
System.out.println(true || true); // true  
System.out.println(true || false); // true  
System.out.println(false || false); // false  

System.out.println("! ์—ฐ์‚ฐ");  
System.out.println(!true); // false  
System.out.println(!false); // true  

System.out.println("๋ณ€์ˆ˜ ํ™œ์šฉ");  

boolean a = true;  
boolean b = false;  

System.out.println(a && b); // false  
System.out.println(a || b); // true  
System.out.println(!a); // false  
System.out.println(!b); // true
int a = 15;  
// a๋Š” 10๋ณด๋‹ค ํฌ๊ณ  20๋ณด๋‹ค ์ž‘๋‹ค  
boolean result1 = 10 < a && a < 20; // (a > 10) && (a < 20)  
System.out.println(result1);

 

๋Œ€์ž… ์—ฐ์‚ฐ์ž

๋Œ€์ž… ์—ฐ์‚ฐ์ž(=)๋Š” ๊ฐ’์„ ๋ณ€์ˆ˜์— ํ• ๋‹นํ•˜๋Š” ์—ฐ์‚ฐ์ž๋‹ค. ์ด ์—ฐ์‚ฐ์ž๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด ๋ณ€์ˆ˜์— ๊ฐ’์„ ํ• ๋‹นํ•  ์ˆ˜ ์žˆ๋‹ค.

 

์ถ•์•ฝ(๋ณตํ•ฉ) ๋Œ€์ž… ์—ฐ์‚ฐ์ž

์‚ฐ์ˆ  ์—ฐ์‚ฐ์ž์™€ ๋Œ€์ž… ์—ฐ์‚ฐ์ž๋ฅผ ํ•œ ๋ฒˆ์— ์ถ•์•ฝํ•ด์„œ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋Š”๋ฐ, ์ด๊ฒƒ์„ ์ถ•์•ฝ(๋ณตํ•ฉ) ๋Œ€์ž… ์—ฐ์‚ฐ์ž๋ผ ํ•œ๋‹ค.
+=, -=, *=, /=, %=

int a = 5;  
a += 3; // 5 + 3 = 8  
a -= 2; // 8 - 2 = 6  
a *= 4; // 6 * 4 = 24  
a /= 3; // 24 / 8 = 8  
a %= 5; // 8 % 5 = 3  

System.out.println(a);

 

๋ฌธ์ œ์™€ ํ’€์ด

๋ฌธ์ œ1 - int ์™€ ํ‰๊ท 

๋‹ค์Œ๊ณผ ๊ฐ™์€ ์ž‘์—…์„ ์ˆ˜ํ–‰ํ•˜๋Š” ํ”„๋กœ๊ทธ๋žจ์„ ์ž‘์„ฑํ•˜์„ธ์š”.
ํด๋ž˜์Šค ์ด๋ฆ„์€ OperationEx1๋ผ๊ณ  ์ ์–ด์ฃผ์„ธ์š”.

  1. num1, num2, num3๋ผ๋Š” ์ด๋ฆ„์˜ ์„ธ ๊ฐœ์˜ int๋ณ€์ˆ˜๋ฅผ ์„ ์–ธํ•˜๊ณ , ๊ฐ๊ฐ 10, 20, 30์œผ๋กœ ์ดˆ๊ธฐํ™”ํ•˜์„ธ์š”.
  2. ์„ธ ๋ณ€์ˆ˜์˜ ํ•ฉ์„ ๊ณ„์‚ฐํ•˜๊ณ , ๊ทธ ๊ฒฐ๊ณผ๋ฅผ sum์ด๋ผ๋Š” ์ด๋ฆ„์˜ int๋ณ€์ˆ˜์— ์ €์žฅํ•˜์„ธ์š”.
  3. ์„ธ ๋ณ€์ˆ˜์˜ ํ‰๊ท ์„ ๊ณ„์‚ฐํ•˜๊ณ , ๊ทธ ๊ฒฐ๊ณผ๋ฅผ average๋ผ๋Š” ์ด๋ฆ„์˜ int๋ณ€์ˆ˜์— ์ €์žฅํ•˜์„ธ์š”. ํ‰๊ท  ๊ณ„์‚ฐ ์‹œ ์†Œ์ˆ˜์  ์ดํ•˜์˜ ๊ฒฐ๊ณผ๋Š” ๋ฒ„๋ฆฌ์„ธ์š”.
  4. sum๊ณผ average ๋ณ€์ˆ˜์˜ ๊ฐ’์„ ์ถœ๋ ฅํ•˜์„ธ์š”.
package operator.ex;  

public class OperationEx1 {  
    public static void main(String[] args) {  
        int num1 = 10;  
        int num2 = 20;  
        int num3 = 30;  

        int sum = num1 + num2 + num3;  
        int average = sum / 3;  

        System.out.println("sum = " + sum);  
        System.out.println("average = " + average);  
    }  
}

 

๋ฌธ์ œ2 - double ๊ณผ ํ‰๊ท 

  • ํด๋ž˜์Šค ์ด๋ฆ„: OperationEx2
  • ๋‹ค์Œ double ๋ณ€์ˆ˜๋ฅผ ์„ ์–ธํ•˜๊ณ  ๊ทธ ํ•ฉ๊ณผ ํ‰๊ท ์„ ์ถœ๋ ฅํ•˜๋Š” ํ”„๋กœ๊ทธ๋žจ์„ ์ž‘์„ฑํ•˜์‹œ์˜ค.
    • val1: 1.5
    • val2: 2.5
    • val3: 3.5
package operator.ex;  

public class OperationEx2 {  
    public static void main(String[] args) {  
        double val1 = 1.5;  
        double val2 = 2.5;  
        double val3 = 3.5;  

        double sum = val1 + val2 + val3;  
        double average = sum / 3;  

        System.out.println("sum = " + sum);  
        System.out.println("average = " + average);  
    }  
}

 

๋ฌธ์ œ3 - ํ•ฉ๊ฒฉ ๋ฒ”์œ„

  • ํด๋ž˜์Šค ์ด๋ฆ„: OperationEx3
  • intํ˜• ๋ณ€์ˆ˜ score๋ฅผ ์„ ์–ธํ•˜์„ธ์š”.
  • score๊ฐ€ 80์  ์ด์ƒ์ด๊ณ , 100์  ์ดํ•˜์ด๋ฉด true๋ฅผ ์ถœ๋ ฅํ•˜๊ณ  ์•„๋‹ˆ๋ฉด false๋ฅผ ์ถœ๋ ฅํ•˜์„ธ์š”.
package operator.ex;  

public class OperationEx3 {  
    public static void main(String[] args) {  
        int score = 80;  
        boolean result = 80 <= score && score <= 100;  
        System.out.println("result = " + result);  
    }  
}

 

 


 

์กฐ๊ฑด๋ฌธ

ํŠน์ • ์กฐ๊ฑด์— ๋”ฐ๋ผ ๋‹ค๋ฅธ ์ฝ”๋“œ๋ฅผ ์‹คํ–‰ํ•˜๋Š” ๊ฒƒ์„ ์กฐ๊ฑด๋ฌธ์ด๋ผ๊ณ  ํ•œ๋‹ค.

์กฐ๊ฑด๋ฌธ์—๋Š” if๋ฌธ, switch๋ฌธ์ด ์žˆ๋‹ค. ๋‘˜ ๋‹ค ํŠน์ • ์กฐ๊ฑด์— ๋”ฐ๋ผ์„œ ๋‹ค๋ฅธ ์ฝ”๋“œ๋ฅผ ์‹คํ–‰ํ•œ๋‹ค.

 

if ๋ฌธ

if๋ฌธ

if๋ฌธ์€ ํŠน์ • ์กฐ๊ฑด์ด ์ฐธ์ธ์ง€ ํ™•์ธํ•˜๊ณ  ๊ทธ ์กฐ๊ฑด์ด ์ฐธ(true)์ผ ๊ฒฝ์šฐ ํŠน์ • ์ฝ”๋“œ ๋ธ”๋ก์„ ์‹คํ–‰ํ•œ๋‹ค.

  • ์ฝ”๋“œ ๋ธ”๋ก: {}์ค‘๊ด„ํ˜ธ ์‚ฌ์ด์— ์žˆ๋Š” ์ฝ”๋“œ
if (condition) {
    // condition ์กฐ๊ฑด์ด ์ฐธ์ผ ๋•Œ ์‹คํ–‰๋˜๋Š” ์ฝ”๋“œ
}
int age = 20; // ์‚ฌ์šฉ์ž์˜ ๋‚˜์ด  

if (age >= 18) {  
    System.out.println("์„ฑ์ธ์ž…๋‹ˆ๋‹ค."); // ์‹คํ–‰  
}  

if (age < 18) {  
    System.out.println("๋ฏธ์„ฑ๋…„์ž์ž…๋‹ˆ๋‹ค."); // ์‹คํ–‰ํ•˜์ง€ ์•Š์Œ  
}

else ๋ฌธ

else๋ฌธ์€ if๋ฌธ์—์„œ ๋งŒ์กฑํ•˜๋Š” ์กฐ๊ฑด์ด ์—†์„ ๋•Œ ์‹คํ–‰ํ•˜๋Š” ์ฝ”๋“œ๋ฅผ ์ œ๊ณตํ•œ๋‹ค.

if (condition) {
    // ์กฐ๊ฑด์ด ์ฐธ์ผ ๋•Œ ์‹คํ–‰๋˜๋Š” ์ฝ”๋“œ
} else {
    // ๋งŒ์กฑํ•˜๋Š” ์กฐ๊ฑด์ด ์—†์„ ๋•Œ ์‹คํ–‰๋˜๋Š” ์ฝ”๋“œ
}
int age = 20; // ์‚ฌ์šฉ์ž์˜ ๋‚˜์ด  

if (age >= 18) {  
    System.out.println("์„ฑ์ธ์ž…๋‹ˆ๋‹ค."); // ์กฐ๊ฑด์ด ์ฐธ์ผ ๋•Œ ์‹คํ–‰  
} else {  
    System.out.println("๋ฏธ์„ฑ๋…„์ž์ž…๋‹ˆ๋‹ค."); // ๋งŒ์กฑํ•˜๋Š” ์กฐ๊ฑด์ด ์—†์„ ๋•Œ ์‹คํ–‰  
}

else if๋ฌธ

else if๋ฌธ์€ ์•ž์„  if๋ฌธ์˜ ์กฐ๊ฑด์ด ๊ฑฐ์ง“์ผ ๋•Œ ๋‹ค์Œ ์กฐ๊ฑด์„ ๊ฒ€์‚ฌํ•œ๋‹ค.
๋งŒ์•ฝ ์•ž์„  if๋ฌธ์ด ์ฐธ์ด๋ผ๋ฉด else if ๋‚ด ์ฝ”๋“œ ๋ธ”๋ก์€ ์‹คํ–‰๋˜์ง€ ์•Š๋Š”๋‹ค.
else๋ฌธ์€ ์ƒ๋žต ๊ฐ€๋Šฅํ•˜๋‹ค.

if (condition1) {
    // ์กฐ๊ฑด1์ด ์ฐธ์ผ ๋•Œ ์‹คํ–‰๋˜๋Š” ์ฝ”๋“œ
} else if (condition2) {
    // ์กฐ๊ฑด1์ด ๊ฑฐ์ง“์ด๊ณ  ์กฐ๊ฑด2๊ฐ€ ์ฐธ์ผ ๋•Œ ์‹คํ–‰๋˜๋Š” ์ฝ”๋“œ
} else if (condition3) {
    // ์กฐ๊ฑด2๊ฐ€ ๊ฑฐ์ง“์ด๊ณ  ์กฐ๊ฑด3์ด ์ฐธ์ผ ๋•Œ ์‹คํ–‰๋˜๋Š” ์ฝ”๋“œ
} else {
    // ๋ชจ๋“  ์กฐ๊ฑด์ด ๊ฑฐ์ง“์ผ ๋•Œ ์‹คํ–‰๋˜๋Š” ์ฝ”๋“œ
}

 

if๋ฌธ๋งŒ ์‚ฌ์šฉํ•œ๋‹ค๋ฉด

int age = 14;  

if (age <= 7) {  
    System.out.println("๋ฏธ์ทจํ•™์•„๋™์ž…๋‹ˆ๋‹ค.");  
}  
if (8 <= age && age <= 13) {  
    System.out.println("์ดˆ๋“ฑํ•™์ƒ์ž…๋‹ˆ๋‹ค.");  
}  
if (14 <= age && age <= 16) {  
    System.out.println("์ค‘ํ•™์ƒ์ž…๋‹ˆ๋‹ค.");  
}  
if (17 <= age && age <= 19) {  
    System.out.println("๊ณ ๋“ฑํ•™์ƒ์ž…๋‹ˆ๋‹ค.");  
}  
if (20 <= age) {  
    System.out.println("์„ฑ์ธ์ž…๋‹ˆ๋‹ค.");  
}
- ๋ถˆํ•„์š”ํ•œ ์กฐ๊ฑด ๊ฒ€์‚ฌ ๋ฌธ์ œ
- ์ฝ”๋“œ ํšจ์œจ์„ฑ ๋ฌธ์ œ

 

else if๋ฌธ์„ ์‚ฌ์šฉํ•˜์—ฌ ๋ฐ”๊ฟ”๋ณธ๋‹ค๋ฉด

int age = 14;  

if (age <= 7) {  
    System.out.println("๋ฏธ์ทจํ•™์•„๋™์ž…๋‹ˆ๋‹ค.");  
} else if (age <= 13) {  
    System.out.println("์ดˆ๋“ฑํ•™์ƒ์ž…๋‹ˆ๋‹ค.");  
} else if (age <= 16) {  
    System.out.println("์ค‘ํ•™์ƒ์ž…๋‹ˆ๋‹ค.");  
} else if (age <= 19) {  
    System.out.println("๊ณ ๋“ฑํ•™์ƒ์ž…๋‹ˆ๋‹ค.");  
} else {  
    System.out.println("์„ฑ์ธ์ž…๋‹ˆ๋‹ค.");  
}

 

 

์—ฐ๊ด€ ํ˜น์€ ๋…๋ฆฝ ์กฐ๊ฑด์ผ ๋•Œ if-else if๋ฌธ

if๋ฌธ๊ณผ else if๋ฌธ์„ ํ•จ๊ป˜ ์‚ฌ์šฉํ•˜๋Š” ๊ฒƒ์€ ์„œ๋กœ ์—ฐ๊ด€๋œ ์กฐ๊ฑด ์ผ ๋•Œ ์‚ฌ์šฉํ•œ๋‹ค.
๊ทธ๋Ÿฌ๋‚˜ ์„œ๋กœ ๊ด€๋ จ์ด ์—†๋Š” ๋…๋ฆฝ ์กฐ๊ฑด์ด๋ผ๋ฉด else if๋ฌธ์„ ์‚ฌ์šฉํ•˜์ง€ ์•Š๊ณ  if๋ฌธ์„ ๋”ฐ๋กœ ์‚ฌ์šฉํ•œ๋‹ค.

// ์—ฐ๊ด€๋œ ์กฐ๊ฑด
if (condition1) {
    // ์ž‘์—…1 ์ˆ˜ํ–‰
} else if (condition2) {
    // ์ž‘์—…2 ์ˆ˜ํ–‰
} else {
    // ์ž‘์—…3 ์ˆ˜ํ–‰
}
// ๋…๋ฆฝ๋œ ์กฐ๊ฑด
if (condition1) {
    // ์ž‘์—…1 ์ˆ˜ํ–‰
}
if (condition2) {
    // ์ž‘์—…2 ์ˆ˜ํ–‰
}

 

์˜ˆ์ œ1

// ์•„์ดํ…œ์˜ ๊ฐ€๊ฒฉ์ด 10,000์› ์ด์ƒ์ผ ๋•Œ 1,000์› ํ• ์ธ  
// ๋‚˜์ด๊ฐ€ 10์‚ด ์ดํ•˜์ผ ๋•Œ 1,000์› ํ• ์ธ  
// ์ค‘๋ณต ํ• ์ธ ๊ฐ€๋Šฅ - ํ•œ ์‚ฌ์šฉ์ž๊ฐ€ ๋™์‹œ์— ์—ฌ๋Ÿฌ ํ• ์ธ์„ ๋ฐ›์„ ์ˆ˜ ์žˆ์Œ  

int price = 10_000; // ์•„์ดํ…œ ๊ฐ€๊ฒฉ  
int age = 10;  
int discount = 0;  

if (price >= 10_000) {  
    discount += 1_000;  
    System.out.println("10,000์› ์ด์ƒ ๊ตฌ๋งค, 1,000์› ํ• ์ธ");  
}  
if (age >= 10) {  
    discount += 1_000;  
    System.out.println("์–ด๋ฆฐ์ด 1,000์› ํ• ์ธ");  
}  

System.out.println("์ด ํ• ์ธ ๊ธˆ์•ก: " + discount + "์›"); // ๊ฐ€๊ฒฉํ• ์ธ, ์–ด๋ฆฐ์ด ํ• ์ธ ์ ์šฉ, 2000์› ์ถœ๋ ฅ

 

์˜ˆ์ œ2

int price = 10_000; // ์•„์ดํ…œ ๊ฐ€๊ฒฉ  
int age = 10;  
int discount = 0;  

if (price >= 10_000) {  
    discount += 1_000;  
    System.out.println("10,000์› ์ด์ƒ ๊ตฌ๋งค, 1,000์› ํ• ์ธ");  
} else if (age >= 10) {  
    discount += 1_000;  
    System.out.println("์–ด๋ฆฐ์ด 1,000์› ํ• ์ธ");  
}  

System.out.println("์ด ํ• ์ธ ๊ธˆ์•ก: " + discount + "์›"); // ์–ด๋ฆฐ์ด ํ• ์ธ ์ ์šฉ ๋ถˆ๊ฐ€๋Šฅ, 1000์› ์ถœ๋ ฅ

 

์‹คํ–‰ํ•  ์ฝ”๋“œ๋ธ”๋ก์ด ํ•œ ์ค„ ์ผ ์‹œ if๋ฌธ, else if๋ฌธ, else๋ฌธ์—์„œ {}์ค‘๊ด„ํ˜ธ ์ƒ๋žต์ด ๊ฐ€๋Šฅํ•˜๋‹ค

if (condition) System.out.println("Hello World");
- ํ•˜์ง€๋งŒ ๊ฐ€๋…์„ฑ ๋ฐ ์œ ์ง€๋ณด์ˆ˜์„ฑ์„ ์ด์œ ๋กœ ์ƒ๋žต์„ ๊ถŒ์žฅํ•˜์ง€๋Š” ์•Š๋Š”๋‹ค.

switch ๋ฌธ

switch๋ฌธ์€ if๋ฌธ์„ ์กฐ๊ธˆ ๋” ํŽธ๋ฆฌํ•˜๊ฒŒ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋Š” ๊ธฐ๋Šฅ์ด๋‹ค.
if๋ฌธ์€ ๋น„๊ต ์—ฐ์‚ฐ์ž๋ฅผ ์‚ฌ์šฉํ•ด์•ผ ํ•˜์ง€๋งŒ switch๋ฌธ์€ ๋‹จ์ˆœํžˆ ๊ฐ™์€ ๊ฐ’๊ณผ ๋น„๊ตํ•  ์ˆ˜ ์žˆ๋‹ค.

switch๋ฌธ์€ ์กฐ๊ฑด์‹์— ํ•ด๋‹นํ•˜๋Š” ํŠน์ • ๊ฐ’์œผ๋กœ ์‹คํ–‰ํ•  ์ฝ”๋“œ๋ฅผ ์„ ํƒํ•œ๋‹ค.

switch (์กฐ๊ฑด์‹) {
    case value1:
        // ์กฐ๊ฑด์‹์˜ ๊ฒฐ๊ณผ ๊ฐ’์ด value1์ผ ๋•Œ ์‹คํ–‰๋˜๋Š” ์ฝ”๋“œ
        break;
    case value2:
        // ์กฐ๊ฑด์‹์˜ ๊ฒฐ๊ณผ ๊ฐ’์ด value2์ผ ๋•Œ ์‹คํ–‰๋˜๋Š” ์ฝ”๋“œ
        break;
    default:
        // ์กฐ๊ฑด์‹์˜ ๊ฒฐ๊ณผ ๊ฐ’์ด ์œ„์˜ ์–ด๋–ค ๊ฐ’์—๋„ ํ•ด๋‹นํ•˜์ง€ ์•Š์„ ๋•Œ ์‹คํ–‰๋˜๋Š” ์ฝ”๋“œ
}
- ์กฐ๊ฑด์‹์˜ ๊ฒฐ๊ณผ ๊ฐ’์ด ์–ด๋–ค case์˜ ๊ฐ’๊ณผ ์ผ์น˜ํ•˜๋ฉด ํ•ด๋‹น case์˜ ์ฝ”๋“œ๋ฅผ ์‹คํ–‰ํ•œ๋‹ค.
- break๋ฌธ์€ ํ˜„์žฌ ์‹คํ–‰ ์ค‘์ธ ์ฝ”๋“œ๋ฅผ ๋๋‚ด๊ณ  switch๋ฌธ์„ ๋น ์ ธ๋‚˜๊ฐ€๊ฒŒ ํ•˜๋Š” ์—ญํ• ์„ ํ•œ๋‹ค.
- ๋งŒ์•ฝ break๋ฌธ์ด ์—†์œผ๋ฉด, ์ผ์น˜ํ•˜๋Š” case ์ดํ›„์˜ ๋ชจ๋“  case ์ฝ”๋“œ๋“ค์ด ์ˆœ์„œ๋Œ€๋กœ ์‹คํ–‰๋œ๋‹ค.
- default๋Š” ์กฐ๊ฑด์‹์˜ ๊ฒฐ๊ณผ๊ฐ’์ด ๋ชจ๋“  case์˜ ๊ฐ’๊ณผ ์ผ์น˜ํ•˜์ง€ ์•Š์„ ๋•Œ ์‹คํ–‰๋œ๋‹ค. default ๊ตฌ๋ฌธ์€ ์„ ํƒ์ด๋‹ค.
- if, else-if, else ๊ตฌ์กฐ์™€ ๋™์ผํ•˜๋‹ค.

 

์˜ˆ์ œ1

// ํšŒ์› ๋“ฑ๊ธ‰์— ๋”ฐ๋ฅธ ์ฟ ํฐ ๋ฐœ๊ธ‰ ํ”„๋กœ๊ทธ๋žจ  
// grade  
// 1๋“ฑ๊ธ‰ - ์ฟ ํฐ 1000
// 2๋“ฑ๊ธ‰ - ์ฟ ํฐ 2000
// 3๋“ฑ๊ธ‰ - ์ฟ ํฐ 3000
// ๊ทธ์™ธ - ์ฟ ํฐ 500
int grade = 2;  
int coupon;  
if (grade == 1) {  
    coupon = 1000;  
} else if (grade == 2) {  
    coupon = 2000;  
} else if (grade == 3) {  
    coupon = 3000;  
} else {  
    coupon = 500;  
}  

System.out.println("๋ฐœ๊ธ‰ ๋ฐ›์€ ์ฟ ํฐ " + coupon);

 

์˜ˆ์ œ2: ์˜ˆ์ œ1์— switch๋ฌธ ์ ์šฉ

// ํšŒ์› ๋“ฑ๊ธ‰์— ๋”ฐ๋ฅธ ์ฟ ํฐ ๋ฐœ๊ธ‰ ํ”„๋กœ๊ทธ๋žจ 
// grade  
// 1๋“ฑ๊ธ‰ - ์ฟ ํฐ 1000
// 2๋“ฑ๊ธ‰ - ์ฟ ํฐ 2000
// 3๋“ฑ๊ธ‰ - ์ฟ ํฐ 3000
// ๊ทธ์™ธ - ์ฟ ํฐ 500
int grade = 2; 
int coupon;  
switch (grade) {  
    case 1: coupon = 1000; break;  
    case 2: coupon = 2000; break;  
    case 3: coupon = 3000; break;  
    default: coupon = 500;  
}  

System.out.println("๋ฐœ๊ธ‰ ๋ฐ›์€ ์ฟ ํฐ " + coupon);

 

์˜ˆ์ œ3: ์˜ˆ์ œ2 ์š”๊ตฌ์‚ฌํ•ญ ๋ณ€๊ฒฝ (2๋“ฑ๊ธ‰๋„ ์ฟ ํฐ 3000์›)

// ํšŒ์› ๋“ฑ๊ธ‰์— ๋”ฐ๋ฅธ ์ฟ ํฐ ๋ฐœ๊ธ‰ ํ”„๋กœ๊ทธ๋žจ  
// grade  
// 1๋“ฑ๊ธ‰ - ์ฟ ํฐ 1000
// 2๋“ฑ๊ธ‰ - ์ฟ ํฐ 3000 (์š”๊ตฌ์‚ฌํ•ญ ๋ณ€๊ฒฝ 2000 -> 3000)
// 3๋“ฑ๊ธ‰ - ์ฟ ํฐ 3000
// ๊ทธ์™ธ - ์ฟ ํฐ 500
int grade = 2;  
int coupon;  
switch (grade) {  
    case 1: coupon = 1000; break;  
    case 2:  
    case 3: coupon = 3000; break;  
    default: coupon = 500;  
}  

System.out.println("๋ฐœ๊ธ‰ ๋ฐ›์€ ์ฟ ํฐ " + coupon);

if๋ฌธ vs switch๋ฌธ

  • switch๋ฌธ์€ ์กฐ๊ฑด์‹์ด ํŠน์ • case์™€ ๊ฐ™์€์ง€๋งŒ ์ฒดํฌํ•  ์ˆ˜ ์žˆ๋‹ค.
  • if๋ฌธ์€ ์ฐธ ๊ฑฐ์ง“์˜ ๊ฒฐ๊ณผ๊ฐ€ ๋‚˜์˜ค๋Š” ์กฐ๊ฑด์„ ์ž์œ ๋กญ๊ฒŒ ์ ์„ ์ˆ˜ ์žˆ๋‹ค.

 

Java 14์˜ ์ƒˆ๋กœ์šด switch๋ฌธ

// ํšŒ์› ๋“ฑ๊ธ‰์— ๋”ฐ๋ฅธ ์ฟ ํฐ ๋ฐœ๊ธ‰ ํ”„๋กœ๊ทธ๋žจ  
// grade  
// 1๋“ฑ๊ธ‰ - ์ฟ ํฐ 1000
// 2๋“ฑ๊ธ‰ - ์ฟ ํฐ 2000
// 3๋“ฑ๊ธ‰ - ์ฟ ํฐ 3000
// ๊ทธ์™ธ - ์ฟ ํฐ 500
int grade = 2;  
int coupon = switch (grade) {  
    case 1 -> 1000;  
    case 2 -> 2000;  
    case 3 -> 3000;  
    default -> 500;  
};  

System.out.println("๋ฐœ๊ธ‰ ๋ฐ›์€ ์ฟ ํฐ " + coupon);
- `->`๋ฅผ ์‚ฌ์šฉํ•œ๋‹ค.
- ์„ ํƒ๋œ ๋ฐ์ดํ„ฐ๋ฅผ ๋ฐ˜ํ™˜ํ•  ์ˆ˜ ์žˆ๋‹ค.

 

์‚ผํ•ญ ์—ฐ์‚ฐ์ž

๋‹จ์ˆœํžˆ ์ฐธ๊ณผ ๊ฑฐ์ง“์— ๋”ฐ๋ผ ํŠน์ • ๊ฐ’์„ ๊ตฌํ•˜๋Š” ๊ฒฝ์šฐ ์‚ผํ•ญ ์—ฐ์‚ฐ์ž ๋˜๋Š” ์กฐ๊ฑด ์—ฐ์‚ฐ์ž๋ผ๊ณ  ๋ถˆ๋ฆฌ๋Š” ? : ์—ฐ์‚ฐ์ž๋ฅผ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋‹ค.
์ด ์—ฐ์‚ฐ์ž๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด if๋ฌธ๊ณผ ๋น„๊ตํ•ด์„œ ์ฝ”๋“œ๋ฅผ ๋‹จ์ˆœํ™”ํ•  ์ˆ˜ ์žˆ๋‹ค.

(์กฐ๊ฑด) ? ์ฐธ_ํ‘œํ˜„์‹ : ๊ฑฐ์ง“_ํ‘œํ˜„์‹;

 

  • ์‚ผํ•ญ ์—ฐ์‚ฐ์ž๋Š” ํ•ญ์ด 3๊ฐœ๋ผ๋Š” ๋œป์ด๋‹ค.
    • ์กฐ๊ฑด
    • ์ฐธ_ํ‘œํ˜„์‹
    • ๊ฑฐ์ง“_ํ‘œํ˜„์‹
  • ํŠน์ • ์กฐ๊ฑด์— ๋”ฐ๋ผ ๊ฒฐ๊ณผ๊ฐ€ ๋‚˜์˜ค๊ธฐ ๋•Œ๋ฌธ์— ์กฐ๊ฑด ์—ฐ์‚ฐ์ž๋ผ๊ณ ๋„ ํ•œ๋‹ค.
  • ์กฐ๊ฑด์— ๋งŒ์กฑํ•˜๋ฉด ์ฐธ_ํ‘œํ˜„์‹์ด ์‹คํ–‰๋˜๊ณ , ๋งŒ์กฑํ•˜์ง€ ์•Š์œผ๋ฉด ๊ฑฐ์ง“_ํ‘œํ˜„์‹์ด ์‹คํ–‰๋œ๋‹ค.
  • ์‚ผํ•ญ ์—ฐ์‚ฐ์ž์—†์ด if๋ฌธ์„ ์‚ฌ์šฉํ•ด๋„ ๋œ๋‹ค.

 

์˜ˆ์ œ1

int age = 18;  
String status;  
if (age >= 18) {  
    status = "์„ฑ์ธ";  
} else {  
    status = "๋ฏธ์„ฑ๋…„์ž";  
}  
System.out.println("age = " + age + ", status = " + status);

 

์˜ˆ์ œ2: ์˜ˆ์ œ1์— ์‚ผํ•ญ ์—ฐ์‚ฐ์ž ์ ์šฉ

int age = 18;  
String status = (age >= 18) ? "์„ฑ์ธ" : "๋ฏธ์„ฑ๋…„์ž";  
System.out.println("age = " + age + ", status = " + status);

 

๋ฌธ์ œ์™€ ํ’€์ด

๋ฌธ์ œ: "ํ•™์  ๊ณ„์‚ฐํ•˜๊ธฐ"

ํ•™์ƒ์˜ ์ ์ˆ˜๋ฅผ ๊ธฐ๋ฐ˜์œผ๋กœ ํ•™์ ์„ ์ถœ๋ ฅํ•˜๋Š” ์ž๋ฐ” ํ”„๋กœ๊ทธ๋žจ์„ ์ž‘์„ฑํ•˜์ž. ๋‹ค์Œ๊ณผ ๊ฐ™์€ ๊ธฐ์ค€์„ ๋”ฐ๋ฅธ๋‹ค.

  • 90์  ์ด์ƒ: A
  • 80์  ์ด์ƒ 90์  ๋ฏธ๋งŒ : B
  • 70์  ์ด์ƒ 80์  ๋ฏธ๋งŒ : C
  • 60์  ์ด์ƒ 70์  ๋ฏธ๋งŒ: D
  • 60์  ๋ฏธ๋งŒ: F

์ ์ˆ˜๋Š” ๋ณ€์ˆ˜(int score)๋กœ ์ง€์ •ํ•˜๊ณ , ํ•ด๋‹น ๋ณ€์ˆ˜๋ฅผ ๊ธฐ๋ฐ˜์œผ๋กœ ํ•™์ ์„ ์ถœ๋ ฅํ•œ๋‹ค.

 

์ถœ๋ ฅ์˜ˆ์‹œ

score: 95
์ถœ๋ ฅ: ํ•™์ ์€ A์ž…๋‹ˆ๋‹ค.

 

ScoreEx

package cond.ex;  

public class ScoreEx {  
    public static void main(String[] args) {  
        int score = 95;  
        String grade;  
        if (score >= 90) {  
            grade = "A";  
        } else if (score >= 80) {  
            grade = "B";  
        } else if (score >= 70) {  
            grade = "C";  
        } else if (score >= 60) {  
            grade = "D";  
        } else {  
            grade = "F";  
        }        System.out.println("score: " + score);  
        System.out.println("ํ•™์ ์€ " + grade+ "์ž…๋‹ˆ๋‹ค.");  
    }  
}

 

๋ฌธ์ œ: "๊ฑฐ๋ฆฌ์— ๋”ฐ๋ฅธ ์šด์†ก ์ˆ˜๋‹จ ์„ ํƒํ•˜๊ธฐ"

์ฃผ์–ด์ง„ ๊ฑฐ๋ฆฌ์— ๋”ฐ๋ผ ๊ฐ€์žฅ ์ ํ•ฉํ•œ ์šด์†ก ์ˆ˜๋‹จ์„ ์„ ํƒํ•˜๋Š” ํ”„๋กœ๊ทธ๋žจ์„ ์ž‘์„ฑํ•˜์ž. ๋‹ค์Œ๊ณผ ๊ฐ™์€ ๊ธฐ์ค€์„ ๋”ฐ๋ฅธ๋‹ค.

  • ๊ฑฐ๋ฆฌ๊ฐ€ 1km ์ดํ•˜์ด๋ฉด "๋„๋ณด"
  • ๊ฑฐ๋ฆฌ๊ฐ€ 10km ์ดํ•˜์ด๋ฉด "์ž์ „๊ฑฐ"
  • ๊ฑฐ๋ฆฌ๊ฐ€ 100km ์ดํ•˜์ด๋ฉด "์ž๋™์ฐจ"
  • ๊ฑฐ๋ฆฌ๊ฐ€ 100km ์ดˆ๊ณผ์ด๋ฉด "๋น„ํ–‰๊ธฐ"

๊ฑฐ๋ฆฌ๋Š” ๋ณ€์ˆ˜(int distance)๋กœ ์ง€์ •ํ•˜๊ณ  ํ•ด๋‹น ๋ณ€์ˆ˜๋ฅผ ๊ธฐ๋ฐ˜์œผ๋กœ ์šด์†ก ์ˆ˜๋‹จ์„ ์ถœ๋ ฅํ•œ๋‹ค.

 

์ถœ๋ ฅ์˜ˆ์‹œ

distance: 1
์ถœ๋ ฅ: ๋„๋ณด๋ฅผ ์ด์šฉํ•˜์„ธ์š”.

 

DistanceEx

package cond.ex;  

public class DistanceEx {  
    public static void main(String[] args) {  
        int distance = 99;  
        String transport;  

        if (distance <= 1 ) {  
            transport = "๋„๋ณด";  
        } else if (distance <= 10 ) {  
            transport = "์ž์ „๊ฑฐ";  
        } else if (distance <= 100 ) {  
            transport = "์ž๋™์ฐจ";  
        } else {  
            transport = "๋น„ํ–‰๊ธฐ";  
        }  
        System.out.println("distance : " + distance);  
        System.out.println(transport + "๋ฅผ ์ด์šฉํ•˜์„ธ์š”");  
    }  
}

 

๋ฌธ์ œ: "ํ™˜์œจ ๊ณ„์‚ฐํ•˜๊ธฐ"

ํŠน์ • ๊ธˆ์•ก์„ ๋ฏธ๊ตญ ๋‹ฌ๋Ÿฌ์—์„œ ํ•œ๊ตญ ์›์œผ๋กœ ๋ณ€ํ™˜ํ•˜๋Š” ํ”„๋กœ๊ทธ๋žจ์„ ์ž‘์„ฑํ•˜์ž.
ํ™˜์œจ์€ 1๋‹ฌ๋Ÿฌ๋‹น 1300์›์ด๋ผ๊ณ  ๊ฐ€์ •ํ•œ๋‹ค.

๋‹ค์Œ๊ณผ ๊ฐ™์€ ๊ธฐ์ค€์„ ๋”ฐ๋ฅธ๋‹ค.

  • ๋‹ฌ๋Ÿฌ๊ฐ€ 0๋ฏธ๋งŒ์ด๋ฉด "์ž˜๋ชป๋œ ๊ธˆ์•ก์ž…๋‹ˆ๋‹ค."
  • ๋‹ฌ๋Ÿฌ๊ฐ€ 0์ผ ๋•Œ "ํ™˜์ „ํ•  ๊ธˆ์•ก์ด ์—†์Šต๋‹ˆ๋‹ค."
  • ๋‹ฌ๋Ÿฌ๊ฐ€ 0์ดˆ๊ณผ ์ผ ๋•Œ "ํ™˜์ „ ๊ธˆ์•ก์€ (๊ณ„์‚ฐ๋œ ์›ํ™” ๊ธˆ์•ก)์›์ž…๋‹ˆ๋‹ค."

๊ธˆ์•ก์€ ๋ณ€์ˆ˜(int dollar)๋กœ ์ง€์ •ํ•˜๊ณ  ํ•ด๋‹น ๋ณ€์ˆ˜๋ฅผ ๊ธฐ๋ฐ˜์œผ๋กœ ํ•œ๊ตญ ์›์œผ๋กœ์˜ ํ™˜์ „ ๊ธˆ์•ก์„ ์ถœ๋ ฅํ•œ๋‹ค.

 

์ถœ๋ ฅ์˜ˆ์‹œ

dollar: -5
์ถœ๋ ฅ: ์ž˜๋ชป๋œ ๊ธˆ์•ก์ž…๋‹ˆ๋‹ค.

dollar: 0
์ถœ๋ ฅ: ํ™˜์ „ํ•  ๊ธˆ์•ก์ด ์—†์Šต๋‹ˆ๋‹ค.

dollar: 10
์ถœ๋ ฅ: ํ™˜์ „ ๊ธˆ์•ก์€ 13000์›์ž…๋‹ˆ๋‹ค.

 

ExchangeEx

package cond.ex;  

public class ExchangeEx {  
    public static void main(String[] args) {  
        int dollar = 10;  

        if (dollar < 0) {  
            System.out.println("์ž˜๋ชป๋œ ๊ธˆ์•ก์ž…๋‹ˆ๋‹ค.");  
        } else if (dollar == 0) {  
            System.out.println("ํ™˜์ „ํ•  ๊ธˆ์•ก์ด ์—†์Šต๋‹ˆ๋‹ค.");  
        } else {  
            int dollarToWon = dollar * 1300;  
            System.out.println("ํ™˜์ „ ๊ธˆ์•ก์€ " + dollarToWon + "์›์ž…๋‹ˆ๋‹ค.");  
        }    
    }  
}

 

๋ฌธ์ œ: ํ‰์ ์— ๋”ฐ๋ฅธ ์˜ํ™” ์ถ”์ฒœํ•˜๊ธฐ

์š”์ฒญํ•œ ํ‰์  ์ด์ƒ์˜ ์˜ํ™”๋ฅผ ์ฐพ์•„์„œ ์ถ”์ฒœํ•˜๋Š” ํ”„๋กœ๊ทธ๋žจ์„ ์ž‘์„ฑํ•˜์ž.

  • ์–ด๋ฐ”์›ƒํƒ€์ž„ - ํ‰์ 9
  • ํ† ์ด์Šคํ† ๋ฆฌ - ํ‰์ 8
  • ๊ณ ์งˆ๋ผ - ํ‰์ 7

ํ‰์  ๋ณ€์ˆ˜๋Š” double rating์„ ์‚ฌ์šฉํ•˜๊ณ  if๋ฌธ์„ ํ™œ์šฉํ•˜์—ฌ ์ž‘์„ฑํ•œ๋‹ค.

 

์ถœ๋ ฅ์˜ˆ์‹œ

rating: 9
์ถœ๋ ฅ: '์–ด๋ฐ”์›ƒํƒ€์ž„'์„ ์ถ”์ฒœํ•ฉ๋‹ˆ๋‹ค.

rating: 7.1
์ถœ๋ ฅ:
'์–ด๋ฐ”์›ƒํƒ€์ž„'์„ ์ถ”์ฒœํ•ฉ๋‹ˆ๋‹ค.
'ํ† ์ด์Šคํ† ๋ฆฌ'๋ฅผ ์ถ”์ฒœํ•ฉ๋‹ˆ๋‹ค.

rating: 7
์ถœ๋ ฅ:
'์–ด๋ฐ”์›ƒํƒ€์ž„'์„ ์ถ”์ฒœํ•ฉ๋‹ˆ๋‹ค.
'ํ† ์ด์Šคํ† ๋ฆฌ'๋ฅผ ์ถ”์ฒœํ•ฉ๋‹ˆ๋‹ค.
'๊ณ ์งˆ๋ผ'๋ฅผ ์ถ”์ฒœํ•ฉ๋‹ˆ๋‹ค.

 

MovieRecommendEx

package cond.ex;  

public class MovieRecommendEx {  
    public static void main(String[] args) {  
        double rating = 7.1;  

        if (rating <= 9) {  
            System.out.println("'์–ด๋ฐ”์›ƒํƒ€์ž„'์„ ์ถ”์ฒœํ•ฉ๋‹ˆ๋‹ค.");  
        }
        if (rating <= 8) {  
            System.out.println("'ํ† ์ด์Šคํ† ๋ฆฌ'๋ฅผ ์ถ”์ฒœํ•ฉ๋‹ˆ๋‹ค.");  
        }
        if (rating <= 7) {  
            System.out.println("'๊ณ ์งˆ๋ผ'๋ฅผ ์ถ”์ฒœํ•ฉ๋‹ˆ๋‹ค.");  
        }
    }  
}

 

๋ฌธ์ œ: "ํ•™์ ์— ๋”ฐ๋ฅธ ์„ฑ์ทจ๋„ ์ถœ๋ ฅํ•˜๊ธฐ"

String grade๋ผ๋Š” ๋ฌธ์ž์—ด์„ ๋งŒ๋“ค๊ณ , ํ•™์ ์— ๋”ฐ๋ผ ์„ฑ์ทจ๋„๋ฅผ ์ถœ๋ ฅํ•˜๋Š” ํ”„๋กœ๊ทธ๋žจ์„ ์ž‘์„ฑํ•˜์ž.
๊ฐ ํ•™์ ์€ ๋‹ค์Œ๊ณผ ๊ฐ™์€ ์„ฑ์ทจ๋„๋ฅผ ๋‚˜ํƒ€๋‚ธ๋‹ค.

  • A: ํƒ์›”ํ•œ ์„ฑ๊ณผ์ž…๋‹ˆ๋‹ค.
  • B: ์ข‹์€ ์„ฑ๊ณผ์ž…๋‹ˆ๋‹ค.
  • C: ์ค€์ˆ˜ํ•œ ์„ฑ๊ณผ์ž…๋‹ˆ๋‹ค.
  • D: ํ–ฅ์ƒ์ด ํ•„์š”ํ•ฉ๋‹ˆ๋‹ค.
  • F: ๋ถˆํ•ฉ๊ฒฉ์ž…๋‹ˆ๋‹ค
  • ๊ทธ์™ธ: ์ž˜๋ชป๋œ ํ•™์ ์ž…๋‹ˆ๋‹ค.

switch๋ฌธ์„ ์‚ฌ์šฉํ•ด์„œ ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•œ๋‹ค.

 

์ถœ๋ ฅ์˜ˆ์‹œ

grade: "B"
์ถœ๋ ฅ: "์ข‹์€ ์„ฑ๊ณผ์ž…๋‹ˆ๋‹ค."

 

GradeEx

package cond.ex;  

public class GradeEx {  
    public static void main(String[] args) {  
        String grade = "Z";  
        String result = switch (grade) {  
            case "A" -> "ํƒ์›”ํ•œ ์„ฑ๊ณผ์ž…๋‹ˆ๋‹ค.";  
            case "B" -> "์ข‹์€ ์„ฑ๊ณผ์ž…๋‹ˆ๋‹ค.";  
            case "C" -> "์ค€์ˆ˜ํ•œ ์„ฑ๊ณผ์ž…๋‹ˆ๋‹ค.";  
            case "D" -> "ํ–ฅ์ƒ์ด ํ•„์š”ํ•ฉ๋‹ˆ๋‹ค.";  
            case "F" -> "๋ถˆํ•ฉ๊ฒฉ์ž…๋‹ˆ๋‹ค.";  
            default -> "์ž˜๋ชป๋œ ํ•™์ ์ž…๋‹ˆ๋‹ค.";  
        };
        System.out.println(result);  
    }  
}

 

๋ฌธ์ œ: ๋” ํฐ ์ˆซ์ž ์ฐพ๊ธฐ

 

๋‘ ๊ฐœ์˜ ์ •์ˆ˜ ๋ณ€์ˆ˜ a์™€ b๋ฅผ ๊ฐ€์ง€๊ณ  ์žˆ๋‹ค. a์˜ ๊ฐ’์€ 10์ด๊ณ  b์˜ ๊ฐ’์€ 20์ด๋‹ค. ์‚ผํ•ญ ์—ฐ์‚ฐ์ž๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๋‘ ์ˆซ์ž ์ค‘ ๋” ํฐ ์ˆซ์ž๋ฅผ ์ถœ๋ ฅํ•˜๋Š” ์ฝ”๋“œ๋ฅผ ์ž‘์„ฑํ•˜์ž.

 

์ถœ๋ ฅ์˜ˆ์‹œ

๋” ํฐ ์ˆซ์ž๋Š” 20์ž…๋‹ˆ๋‹ค.

 

BiggerNumberEx

package cond.ex;  

public class BiggerNumberEx {  
    public static void main(String[] args) {  
        int a = 10;  
        int b = 20;  
        int max = a > b ? a : b;  
        System.out.println("๋” ํฐ ์ˆซ์ž๋Š” " + max + "์ž…๋‹ˆ๋‹ค.");  
    }  
}

 

๋ฌธ์ œ: ํ™€์ˆ˜ ์ง์ˆ˜ ์ฐพ๊ธฐ

 

์ •์ˆ˜ x๊ฐ€ ์ฃผ์–ด์กŒ์„ ๋•Œ x๊ฐ€ ์ง์ˆ˜์ด๋ฉด "์ง์ˆ˜"๋ฅผ, ํ™€์ˆ˜์ด๋ฉด "ํ™€์ˆ˜"๋ฅผ ์ถœ๋ ฅํ•˜๋Š” ํ”„๋กœ๊ทธ๋žจ์„ ์ž‘์„ฑํ•˜์ž.
์‚ผํ•ญ ์—ฐ์‚ฐ์ž๋ฅผ ์‚ฌ์šฉํ•ด์•ผ ํ•œ๋‹ค.

 

์ถœ๋ ฅ์˜ˆ์‹œ

x: 2
์ถœ๋ ฅ: x = 2, ์ง์ˆ˜

x: 3
์ถœ๋ ฅ: x = 3, ํ™€์ˆ˜

 

EvenOrOdd

package cond.ex;  

public class EvenOrOddEx {  
    public static void main(String[] args) {  
        int x = 2;  
        String result = x % 2 == 0 ? "์ง์ˆ˜" : "ํ™€์ˆ˜";  
        System.out.println("x = " + x + ", " + result);  
    }  
}

 

 

 


 

๋ฐ˜๋ณต๋ฌธ

๋ฐ˜๋ณต๋ฌธ

๋ฐ˜๋ณต๋ฌธ์€ ํŠน์ • ์ฝ”๋“œ๋ฅผ ๋ฐ˜๋ณตํ•ด์„œ ์‹คํ–‰ํ•  ๋•Œ ์‚ฌ์šฉํ•œ๋‹ค.
java๋Š” while, do-while, for ๋ฐ˜๋ณต๋ฌธ์„ ์ œ๊ณตํ•œ๋‹ค.

 

๋ฐ˜๋ณต๋ฌธ์ด ์™œ ํ•„์š”ํ•œ๊ฐ€?

 

๋ฐ˜๋ณต๋ฌธ์„ ์‚ฌ์šฉํ•˜์ง€ ์•Š๋Š”๋‹ค๋ฉด

// 1์„ ํ•œ ๋ฒˆ์”ฉ ๋”ํ•ด์„œ ์ด 3๋ฒˆ ๋”ํ•˜๊ธฐ 
int count = 0;  

count = count + 1;  
System.out.println("ํ˜„์žฌ ์ˆซ์ž๋Š”: " + count);  
count = count + 1;  
System.out.println("ํ˜„์žฌ ์ˆซ์ž๋Š”: " + count);  
count = count + 1;  
System.out.println("ํ˜„์žฌ ์ˆซ์ž๋Š”: " + count);
- ๊ฐ™์€ ๋กœ์ง์˜ ๋ฐ˜๋ณต
- ํŠน์ • ์ฝ”๋“œ๋ฅผ 100,000,000๋ฒˆ ๋ฐ˜๋ณต ์‹คํ–‰ํ•ด์•ผ ํ•œ๋‹ค๋ฉด?
- 100๋ฒˆ ์ด์ƒ ๋ฐ˜๋ณต๋œ ์ฝ”๋“œ๋ฅผ ์ˆ˜์ •ํ•ด์•ผ ํ•œ๋‹ค๋ฉด?

while ๋ฌธ

while๋ฌธ์€ ์กฐ๊ฑด์— ๋”ฐ๋ผ ์ฝ”๋“œ๋ฅผ ๋ฐ˜๋ณตํ•ด์„œ ์‹คํ–‰ํ•  ๋•Œ ์‚ฌ์šฉํ•œ๋‹ค.

while (์กฐ๊ฑด์‹) {
    // ์‹คํ–‰ํ•  ์ฝ”๋“œ
}
- ์กฐ๊ฑด์‹์„ ํ™•์ธํ•œ๋‹ค. ์กฐ๊ฑด์‹์ด ์ฐธ์ด๋ฉด ์ฝ”๋“œ ๋ธ”๋Ÿญ์„ ์‹คํ–‰ํ•˜๊ณ  ๊ฑฐ์ง“์ด๋ฉด while๋ฌธ์„ ๋ฒ—์–ด๋‚œ๋‹ค.
- ์ฝ”๋“œ ๋ธ”๋Ÿญ์ด ๋๋‚˜๋ฉด ๋‹ค์‹œ ์กฐ๊ฑด์‹ ๊ฒ€์‚ฌ๋กœ ๋˜๋Œ์•„๊ฐ€์„œ ์กฐ๊ฑด์‹์„ ํ™•์ธํ•œ๋‹ค.
// 1์„ ํ•œ ๋ฒˆ์”ฉ ๋”ํ•ด์„œ ์ด 3๋ฒˆ ๋”ํ•˜๊ธฐ  
int count = 0;  

while (count < 3) {  
    count++;  
    System.out.println("ํ˜„์žฌ ์ˆซ์ž๋Š”: " + count);  
}

 

๋ฌธ์ œ: 1๋ถ€ํ„ฐ ํ•˜๋‚˜์”ฉ ์ฆ๊ฐ€ํ•˜๋Š” ์ˆ˜๋ฅผ 3๋ฒˆ ๋”ํ•˜๊ธฐ (1 - 3 ๋”ํ•˜๊ธฐ)

 

while๋ฌธ ์‚ฌ์šฉํ•˜์ง€ ์•Š์•˜์„ ๋•Œ - 1

int sum = 0;  

sum = sum + 1;  
System.out.println("i = " + 1 + ", sum = " + sum);  
sum = sum + 2;  
System.out.println("i = " + 2 + ", sum = " + sum);  
sum = sum + 3;  
System.out.println("i = " + 3 + ", sum = " + sum);

 

while๋ฌธ ์‚ฌ์šฉํ•˜์ง€ ์•Š์•˜์„ ๋•Œ - 2

int sum = 0;  
int i = 1

sum = sum + i;  
System.out.println("i = " + i + ", sum = " + sum);  
i++;

sum = sum + i;  
System.out.println("i = " + i + ", sum = " + sum);  
i++;

sum = sum + i;  
System.out.println("i = " + i + ", sum = " + sum);

 

while๋ฌธ ์‚ฌ์šฉ

int sum = 0;  
int i = 1;  
int endNum = 3;  

while (i <= endNum) {  
    sum += i;  
    System.out.println("i = " + i + ", sum = " + sum);  
    i++;  
}

do-while ๋ฌธ

do-while๋ฌธ์€ while๋ฌธ๊ณผ ๋น„์Šทํ•˜์ง€๋งŒ ์กฐ๊ฑด์— ์ƒ๊ด€์—†์ด ๋ฌด์กฐ๊ฑด ํ•œ ๋ฒˆ์€ ์ฝ”๋“œ๋ฅผ ์‹คํ–‰ํ•œ๋‹ค.

do {
    // ์ฝ”๋“œ
} while (์กฐ๊ฑด์‹)

 

while๋ฌธ

int i = 10;  
while (i < 3) {  
    System.out.println("ํ˜„์žฌ ์ˆซ์ž๋Š”? " + i); // ์‹คํ–‰ํ•˜์ง€ ์•Š์Œ  
    i++;  
}

 

do-while๋ฌธ

int i = 10;  
do {  
    System.out.println("ํ˜„์žฌ ์ˆซ์ž๋Š”? " + i); // 10  
    i++;  
} while (i < 3);  
System.out.println("ํ˜„์žฌ ์ˆซ์ž๋Š”? " + i); // 11

break, continue

break์™€ continue๋Š” ๋ฐ˜๋ณต๋ฌธ์—์„œ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋Š” ํ‚ค์›Œ๋“œ์ด๋‹ค.
break๋Š” ๋ฐ˜๋ณต๋ฌธ์„ ์ฆ‰์‹œ ์ข…๋ฃŒํ•˜๊ณ  ๋‚˜๊ฐ„๋‹ค.
continue๋Š” ๋ฐ˜๋ณต๋ฌธ์˜ ๋‚˜๋จธ์ง€ ๋ถ€๋ถ„์„ ๊ฑด๋„ˆ๋›ฐ๊ณ  ๋‹ค์Œ ํšŒ์ฐจ ๋ฐ˜๋ณต์œผ๋กœ ์ง„ํ–‰ํ•˜๋Š” ๋ฐ ์‚ฌ์šฉ๋œ๋‹ค.
while, do-while, for๋ฌธ์—์„œ ๋ชจ๋‘ ์‚ฌ์šฉ ๊ฐ€๋Šฅํ•˜๋‹ค.

 

break

while (์กฐ๊ฑด์‹) {
    ์ฝ”๋“œ1;
    break; // ์ฆ‰์‹œ while ๋ฌธ ์ข…๋ฃŒ
    ์ฝ”๋“œ2;
}
// while๋ฌธ ์ข…๋ฃŒ
- break๋ฅผ ๋งŒ๋‚˜๋ฉด ์ฝ”๋“œ2๊ฐ€ ์‹คํ–‰๋˜์ง€ ์•Š๊ณ  while๋ฌธ์ด ์ข…๋ฃŒ๋œ๋‹ค.

 

continue

while (์กฐ๊ฑด์‹) {
    ์ฝ”๋“œ1;
    continue; // ์ฆ‰์‹œ ์กฐ๊ฑด์‹์œผ๋กœ ์ด๋™
    ์ฝ”๋“œ2
}
// while๋ฌธ ์ข…๋ฃŒ
- continue๋ฅผ ๋งŒ๋‚˜๋ฉด ์ฝ”๋“œ2๊ฐ€ ์‹คํ–‰๋˜์ง€ ์•Š๊ณ  ๋‹ค์‹œ ์กฐ๊ฑด์‹์œผ๋กœ ์ด๋™ํ•œ๋‹ค.

 

๋ฌธ์ œ

1๋ถ€ํ„ฐ ์‹œ์ž‘ํ•ด์„œ ์ˆซ์ž๋ฅผ ๊ณ„์† ๋ˆ„์ ํ•ด์„œ ๋‹คํ•˜๋‹ค๊ฐ€ ํ•ฉ๊ณ„๊ฐ€ 10๋ณด๋‹ค ์ฒ˜์Œ์œผ๋กœ ํฐ ๊ฐ’ ๊ตฌํ•˜๊ธฐ

int sum = 0;  
int i = 1;  
while (true) {  
    sum += i;  
    if (sum > 10) {  
        System.out.println("ํ•ฉ์ด 10๋ณด๋‹ค ํฌ๋ฉด ์ข…๋ฃŒ: i =" + i + ", sum = " + sum);  
        break;  
    }  
    i++;  
}

 

1๋ถ€ํ„ฐ 5๊นŒ์ง€ ์ˆซ์ž๋ฅผ ์ถœ๋ ฅํ•˜๋Š”๋ฐ, ์ˆซ์ž๊ฐ€ 3์ผ ๋•Œ๋Š” ์ถœ๋ ฅ ๊ฑด๋„ˆ๋›ฐ๊ธฐ

int i = 0;  
while (i < 5) {
    i++;
    if (i == 3) {  
        continue;  
    }  
    System.out.println(i);   
}

for ๋ฌธ

for๋ฌธ๋„ while๋ฌธ๊ณผ ๊ฐ™์€ ๋ฐ˜๋ณต๋ฌธ์ด๋‹ค. ์ฝ”๋“œ๋ฅผ ๋ฐ˜๋ณต ์‹คํ–‰ํ•˜๋Š” ์—ญํ• ์„ ํ•œ๋‹ค.
์ฃผ๋กœ ๋ฐ˜๋ณต ํšŸ์ˆ˜๊ฐ€ ์ •ํ•ด์ ธ ์žˆ์„ ๋•Œ ์‚ฌ์šฉํ•œ๋‹ค.

for (1. ์ดˆ๊ธฐ์‹; 2. ์กฐ๊ฑด์‹; 4. ์ฆ๊ฐ์‹) {
    // 3. ์ฝ”๋“œ
}

 

for๋ฌธ์€ ๋‹ค์Œ ์ˆœ์„œ๋Œ€๋กœ ์‹คํ–‰๋œ๋‹ค.


1. ์ดˆ๊ธฐ์‹์ด ์‹คํ–‰๋œ๋‹ค.
  ์ฃผ๋กœ ๋ฐ˜๋ณต ํšŸ์ˆ˜์™€ ๊ด€๋ จ๋œ ๋ณ€์ˆ˜๋ฅผ ์„ ์–ธํ•˜๊ณ  ์ดˆ๊ธฐํ™”ํ•  ๋•Œ ์‚ฌ์šฉํ•œ๋‹ค.
  ์ดˆ๊ธฐ์‹์€ ๋”ฑ 1๋ฒˆ๋งŒ ์‚ฌ์šฉ๋œ๋‹ค.
2. ์กฐ๊ฑด์‹์„ ๊ฒ€์ฆํ•œ๋‹ค.
  ์ฐธ์ด๋ฉด ์ฝ”๋“œ๋ฅผ ์‹คํ–‰ํ•˜๊ณ  ๊ฑฐ์ง“์ด๋ฉด for๋ฌธ์„ ๋น ์ ธ๋‚˜๊ฐ„๋‹ค.
3. ์ฝ”๋“œ๋ฅผ ์‹คํ–‰ํ•œ๋‹ค.
4. ์ฝ”๋“œ๊ฐ€ ์ข…๋ฃŒ๋˜๋ฉด ์ฆ๊ฐ์‹์„ ์‹คํ–‰ํ•œ๋‹ค.
  ์ฃผ๋กœ ์ดˆ๊ธฐ์‹์— ๋„ฃ์€ ๋ฐ˜๋ณต ํšŸ์ˆ˜์™€ ๊ด€๋ จ๋œ ๋ณ€์ˆ˜์˜ ๊ฐ’์„ ์ฆ๊ฐ€ํ•  ๋•Œ ์‚ฌ์šฉํ•œ๋‹ค.
5. ๋‹ค์‹œ 2.์กฐ๊ฑด์‹๋ถ€ํ„ฐ ์‹œ์ž‘ํ•œ๋‹ค.

 

for๋ฌธ์—์„œ ์ดˆ๊ธฐ์‹, ์กฐ๊ฑด์‹, ์ฆ๊ฐ์‹์€ ์„ ํƒ์ด๋‹ค. ๋ชจ๋‘ ์ƒ๋žตํ•  ์ˆ˜ ์žˆ์ง€๋งŒ ์ƒ๋žตํ•˜๋”๋ผ๋„ ๊ฐ ์˜์—ญ์„ ๊ตฌ๋ถ„ํ•˜๋Š” ์„ธ๋ฏธ์ฝœ๋ก (;)์€ ์œ ์ง€ํ•ด์•ผ ํ•œ๋‹ค.

for๋ฌธ์€ ๋ณต์žกํ•ด ๋ณด์ด์ง€๋งŒ while๋ฌธ์„ ์กฐ๊ธˆ ๋” ํŽธํ•˜๊ฒŒ ๋‹ค๋ฃฐ ์ˆ˜ ์žˆ๋„๋ก ๊ตฌ์กฐํ™”ํ•œ ๊ฒƒ์ด๋‹ค.

 

for (;;) {
    // ์ฝ”๋“œ
}

 

์œ„๋Š” ์กฐ๊ฑด์ด ์—†๊ธฐ ๋•Œ๋ฌธ์— ์•„๋ž˜์™€ ๊ฐ™๋‹ค.

while (true) {
    // ์ฝ”๋“œ
}

 

๐Ÿ’ก for๋ฌธ์„ ์ข€ ๋” ํŽธ๋ฆฌํ•˜๊ฒŒ ์‚ฌ์šฉํ•˜๋„๋ก ๋„์™€์ฃผ๋Š” ํ–ฅ์ƒ๋œ for๋ฌธ ๋˜๋Š” for-each๋ฌธ์œผ๋กœ ๋ถˆ๋ฆฌ๋Š” ๋ฐ˜๋ณต๋ฌธ๋„ ์žˆ๋‹ค.

 

๋ฌธ์ œ

i๋ถ€ํ„ฐ ํ•˜๋‚˜์”ฉ ์ฆ๊ฐ€ํ•˜๋Š” ์ˆ˜๋ฅผ endNum(๋งˆ์ง€๋ง‰ ์ˆ˜)๊นŒ์ง€ ๋”ํ•˜๊ธฐ

int endNum = 3;  
int sum = 0;  
for (int i = 1; i <= endNum; i++) {  
    sum += i;  
    System.out.println("i = " + i + ", sum = " + sum);  
}

 

1๋ถ€ํ„ฐ ์‹œ์ž‘ํ•˜์—ฌ ์ˆซ์ž๋ฅผ ๊ณ„์† ๋ˆ„์ ํ•ด์„œ ๋”ํ•˜๋‹ค๊ฐ€ ํ•ฉ๊ณ„๊ฐ€ 10๋ณด๋‹ค ํฐ ์ฒ˜์Œ ๊ฐ’์€ ์–ผ๋งˆ์ธ๊ฐ€?

int sum = 0;  
for (int i = 1;; i++) {  
    sum += i;  
    if (sum > 10) {  
        System.out.println("i = " + i + ", sum = " + sum);  
        break;  
    }  
}

 

for vs  while

 

for

int endNum = 3;  
int sum = 0;  
for (int i = 1; i <= endNum; i++) {  
    sum += i;  
    System.out.println("i = " + i + ", sum = " + sum);  
}

while

int sum = 0;  
int i = 1;  
int endNum = 3;  

while (i <= endNum) {  
    sum += i;  
    System.out.println("i = " + i + ", sum = " + sum);  
    i++;  
}
  • for๋ฌธ์€ ์ดˆ๊ธฐํ™”, ์กฐ๊ฑด ๊ฒ€์‚ฌ, ๋ฐ˜๋ณต ํ›„ ์ž‘์—… ๋“ฑ์ด ๊ทœ์น™์ ์œผ๋กœ ํ•œ ์ค„์— ๋ชจ๋‘ ๋“ค์–ด ์žˆ์–ด ์ฝ”๋“œ๋ฅผ ์ดํ•ดํ•˜๊ธฐ ๋” ์‰ฝ๋‹ค. ํŠนํžˆ ๋ฐ˜๋ณต์„ ์œ„ํ•ด ๊ฐ’์ด ์ฆ๊ฐ€ํ•˜๋Š” ์นด์šดํ„ฐ ๋ณ€์ˆ˜๋ฅผ ๋‹ค๋ฅธ ๋ถ€๋ถ„๊ณผ ๋ช…ํ™•ํ•˜๊ฒŒ ๊ตฌ๋ถ„ํ•  ์ˆ˜ ์žˆ๋‹ค.
    • ๋ฐ˜๋ณต ํšŸ์ˆ˜์— ์ง์ ‘์ ์ธ ์˜ํ–ฅ์„ ์ฃผ๋Š” ๋ณ€์ˆ˜๋ฅผ ์„ ์–ธ๋ถ€ํ„ฐ, ๊ฐ’ ์ฆ๊ฐ€, ์กฐ๊ฑด์‹ ํ™œ์šฉ๊นŒ์ง€ ๊ธฐ๋ณธ for๋ฌธ ๊ตฌ์กฐ๋ฅผ ํ™œ์šฉํ•ด์„œ ์ฒ˜๋ฆฌํ•  ์ˆ˜ ์žˆ๋‹ค.
    • ๋ฐ˜๋ฉด while์˜ ๊ฒฝ์šฐ ๋ณ€์ˆ˜ i๋ฅผ ์„ ์–ธํ•˜๋Š” ๋ถ€๋ถ„, i++๋กœ ์ฆ๊ฐ€ํ•˜๋Š” ๋ถ€๋ถ„์ด ๊ธฐ์กด ์ฝ”๋“œ์— ๋ถ„์‚ฐ๋˜์–ด ์žˆ๋‹ค.

 

๊ตฌ๋ถ„ for while
์žฅ์  1. ์ดˆ๊ธฐํ™”, ์กฐ๊ฑด ์ฒดํฌ. ๋ฐ˜๋ณต ํ›„์˜ ์ž‘์—…์„ ํ•œ ์ค„์—์„œ ์ฒ˜๋ฆฌํ•  ์ˆ˜ ์žˆ์–ด ํŽธ๋ฆฌํ•˜๋‹ค.
2. ์ •ํ•ด์ง„ ํšŸ์ˆ˜๋งŒํผ ๋ฐ˜๋ณต ์ˆ˜ํ–‰ํ•˜๋Š” ๊ฒฝ์šฐ์— ์‚ฌ์šฉํ•˜๊ธฐ ์ ์ ˆํ•˜๋‹ค.
3. ๋ฃจํ”„ ๋ณ€์ˆ˜์˜ ๋ฒ”์œ„๊ฐ€ for๋ฃจํ”„ ๋ธ”๋ก์— ์ œํ•œ๋˜๋ฏ€๋กœ ๋‹ค๋ฅธ ๊ณณ์—์„œ ์ด ๋ณ€์ˆ˜๋ฅผ ์‹ค์ˆ˜๋กœ ๋ณ€๊ฒฝํ•  ๊ฐ€๋Šฅ์„ฑ์ด ์ ๋‹ค.

1. ๋ฃจํ”„์˜ ์กฐ๊ฑด์ด ๋ฃจํ”„ ๋‚ด๋ถ€์—์„œ ๋ณ€๊ฒฝ๋˜๋Š” ๊ฒฝ์šฐ while ๋ฃจํ”„์—์„œ ๊ด€๋ฆฌํ•˜๊ธฐ ์‰ฝ๋‹ค.
2. for ๋ฃจํ”„๋ณด๋‹ค ๋” ๋ณต์žกํ•œ ์กฐ๊ฑด๊ณผ ์‹œ๋‚˜๋ฆฌ์˜ค์— ์ ํ•ฉํ•˜๋‹ค.

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

์ค‘์ฒฉ ๋ฐ˜๋ณต๋ฌธ

๋ฐ˜๋ณต๋ฌธ์€ ๋‚ด๋ถ€์— ๋˜ ๋ฐ˜๋ณต๋ฌธ์„ ๋งŒ๋“ค ์ˆ˜ ์žˆ๋‹ค. for, while๋ฌธ ๋ชจ๋‘ ๊ฐ€๋Šฅํ•˜๋‹ค.

for (int i = 0; i < 2; i++) {  
    System.out.println("์™ธ๋ถ€ for ์‹œ์ž‘ i: " + i);  
    for (int j = 0; j < 3; j++) {  
        System.out.println("๋‚ด๋ถ€ for " + i + " - " + j);  
    }  
    System.out.println("์™ธ๋ถ€ for ์ข…๋ฃŒ i: " + i);  
    System.out.println();  
}

 

๋ฌธ์ œ์™€ ํ’€์ด

๋ฌธ์ œ: ์ž์—ฐ์ˆ˜ ์ถœ๋ ฅ

์ฒ˜์Œ 10๊ฐœ์˜ ์ž์—ฐ์ˆ˜๋ฅผ ์ถœ๋ ฅํ•˜๋Š” ํ”„๋กœ๊ทธ๋žจ์„ ์ž‘์„ฑํ•˜์ž. ์ด๋•Œ int count๋ผ๋Š” ๋ณ€์ˆ˜๋ฅผ ์‚ฌ์šฉํ•œ๋‹ค.
while๋ฌธ, for๋ฌธ ๋‘ ๊ฐ€์ง€ ๋ฒ„์ „์œผ๋กœ ์ž‘์„ฑํ•œ๋‹ค.

 

WhileNumber1

package loop.ex;  

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

 

ForNumber1

package loop.ex;  

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

 

๋ฌธ์ œ: ์ง์ˆ˜ ์ถœ๋ ฅ

๋ฐ˜๋ณต๋ฌธ์„ ์‚ฌ์šฉํ•˜์—ฌ ์ฒ˜์Œ 10๊ฐœ์˜ ์ง์ˆ˜๋ฅผ ์ถœ๋ ฅํ•˜๋Š” ํ”„๋กœ๊ทธ๋žจ์„ ์ž‘์„ฑํ•ด๋ณด์ž. ์ด ๋•Œ int num๋ณ€์ˆ˜๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์ˆ˜๋ฅผ ํ‘œํ˜„ํ•ด์•ผ ํ•œ๋‹ค.
while๋ฌธ, for๋ฌธ ๋‘ ๊ฐ€์ง€ ๋ฒ„์ „์œผ๋กœ ์ž‘์„ฑํ•œ๋‹ค.

 

EvenWhile1

package loop.ex;  

public class EvenWhile1 {  
    public static void main(String[] args) {  
        int count = 1;  
        int num = 0;  
        while (count <= 10) {  
            num = num + 2;  
            System.out.println(num);  
            count++;  
        }    }  
}

 

EvenFor1

for (int num = 2, count = 1; count <= 10; count++, num += 2) {  
    System.out.println(num);  
}

 

EvenFor2

int num = 0;  
for (int count = 1; count <= 10; count++) {  
    num += 2;  
    System.out.println(num);  
}

๋ฌธ์ œ: ๋ˆ„์ ํ•ฉ ๊ณ„์‚ฐ

๋ฐ˜๋ณต๋ฌธ์„ ์‚ฌ์šฉํ•˜์—ฌ 1๋ถ€ํ„ฐ max๊นŒ์ง€์˜ ํ•ฉ์„ ๊ณ„์‚ฐํ•˜๊ณ  ์ถœ๋ ฅํ•˜๋Š” ํ”„๋กœ๊ทธ๋žจ์„ ์ž‘์„ฑํ•ด ๋ณด์ž.
int sum๋ณ€์ˆ˜๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๋ˆ„์ ํ•ฉ์„ ํ‘œํ˜„ํ•˜๊ณ  int i๋ณ€์ˆ˜๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์นด์šดํŠธ๋ฅผ ์ˆ˜ํ–‰ํ•ด์•ผ ํ•œ๋‹ค.
while๋ฌธ, for๋ฌธ ๋‘ ๊ฐ€์ง€ ๋ฒ„์ „์œผ๋กœ ์ž‘์„ฑํ•œ๋‹ค.

 

SumWhile1

int i = 1;  
int max = 10;  
int sum = 0;  
while (i <= max) {  
    sum += i;  
    System.out.println("i: " + i + ", sum: " + sum);  
    i++;  
}

 

SumFor1

int sum = 0;  
for (int i = 1, max = 10; i <= max; i++) {  
    sum += i;  
    System.out.println("i: " + i + ", sum: " + sum);  
}

 

๋ฌธ์ œ: ๊ตฌ๊ตฌ๋‹จ ์ถœ๋ ฅ

์ค‘์ฒฉ for๋ฌธ์„ ์‚ฌ์šฉํ•ด์„œ ๊ตฌ๊ตฌ๋‹จ์„ ์™„์„ฑํ•ด๋ผ.

NestedEx1

for (int i = 1; i <= 9; i++) {  
    for (int j = 1; j <= 9; j++) {  
        System.out.println(i + " * " + j + " = " + i * j);  
    }  
}

 

๋ฌธ์ œ: ํ”ผ๋ผ๋ฏธ๋“œ ์ถœ๋ ฅ

int row๋ณ€์ˆ˜๋ฅผ ์‚ฌ์šฉํ•œ๋‹ค. ์ด ์ˆ˜๋งŒํผ ๋‹ค์Œ๊ณผ ๊ฐ™์€ ํ”ผ๋ผ๋ฏธ๋“œ๋ฅผ ์ถœ๋ ฅํ•˜๋ฉด ๋œ๋‹ค.
System.out.print()๋ฅผ ํ™œ์šฉํ•œ๋‹ค.

 

PyramidEx1

for (int i = 1, rows = 5; i <= rows; i++) {  
    for (int j = 1; j <= i; j++) {  
        System.out.print("*");;  
    }  
    System.out.println();  
}
๋ฐ˜์‘ํ˜•