์ผ | ์ | ํ | ์ | ๋ชฉ | ๊ธ | ํ |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 |
- redux-toolkit
- react-router
- createSlice
- ํญํด99
- redux
- react-redux
- ๋งค์ผ๋ฉ์ผ
- ํ๋ก๊ทธ๋๋จธ์ค
- useDispatch
- ์๋ฐ
- ํ ์ฝํ ์ฝ
- json-server
- Algorithm
- sw expert academy
- ์ฝ๋ฉํ ์คํธํฉ๊ฒฉ์๋๊ธฐ
- java
- SW
- ์๊ณ ๋ฆฌ์ฆ
- C++
- redux-saga
- ๋ฆฌ์กํธ
- ํญํดํ๋ฌ์ค
- Python
- react
- programmers
- axios
- ์ด์ฝํ
- maeil-mail
- Get
- JavaScript
- Today
- Total
Binary Journey
[Java] ์ฝ๋๋ก ์์ํ๋ ์๋ฐ ์ฒซ ๊ฑธ์ (4-6) ๋ณธ๋ฌธ
[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);
์ฐ์ฐ์ ์ฐ์ ์์ ์๊ธฐ๋ฒ
์ฒ์ ๋์ค๋ ๊ดํธ()
๊ฐ ์ฐ์ ์์๊ฐ ๊ฐ์ฅ ๋๊ณ ๋ง์ง๋ง ๋์
์ฐ์ฐ์๊ฐ ์ฐ์ ์์๊ฐ ๊ฐ์ฅ ๋ฎ๋ค.
๊ดํธ()
- ๋จํญ ์ฐ์ฐ์:
++
,--
,!
,~
,new
,(type)
- ์ฐ์ ์ฐ์ฐ์:
*
,/
,%
์ฐ์ , ๊ทธ ๋ค์์+
,-
- Shift ์ฐ์ฐ์:
<<
,>>
,>>>
- ๋น๊ต ์ฐ์ฐ์:
<
,<=
,>
,>=
,instanceof
- ๋ฑ์์ฐ์ฐ์:
==
,!=
- ๋นํธ์ฐ์ฐ์:
&
,^
,|
- ๋
ผ๋ฆฌ ์ฐ์ฐ์:
&&
,||
- ์ผํญ ์ฐ์ฐ์:
?
:
- ๋์
์ฐ์ฐ์:
=
,+=
,-=
,*=
,/=
,%=
๐ก ๋ฌด์กฐ๊ฑด ์ธ์ฐ๋ ค ํ์ง ๋ง์!
- ์ฐ์ฐ์ ์ฐ์ ์์๋ ์์์ ์์ ์๊ฐํ์.
- ์ ๋งคํ๋ฉด
๊ดํธ()
๋ฅผ ์ฌ์ฉํ์
์ฆ๊ฐ ์ฐ์ฐ์
์ฆ๊ฐ ๋ฐ๊ฐ์ ์ฐ์ฐ์๋ฅผ ์ค์ฌ์ ์ฆ๊ฐ์ฐ์ฐ์๋ผ๊ณ ํ๋ค.
++, --
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
๋ผ๊ณ ์ ์ด์ฃผ์ธ์.
num1
,num2
,num3
๋ผ๋ ์ด๋ฆ์ ์ธ ๊ฐ์int
๋ณ์๋ฅผ ์ ์ธํ๊ณ , ๊ฐ๊ฐ 10, 20, 30์ผ๋ก ์ด๊ธฐํํ์ธ์.- ์ธ ๋ณ์์ ํฉ์ ๊ณ์ฐํ๊ณ , ๊ทธ ๊ฒฐ๊ณผ๋ฅผ
sum
์ด๋ผ๋ ์ด๋ฆ์int
๋ณ์์ ์ ์ฅํ์ธ์. - ์ธ ๋ณ์์ ํ๊ท ์ ๊ณ์ฐํ๊ณ , ๊ทธ ๊ฒฐ๊ณผ๋ฅผ
average
๋ผ๋ ์ด๋ฆ์int
๋ณ์์ ์ ์ฅํ์ธ์. ํ๊ท ๊ณ์ฐ ์ ์์์ ์ดํ์ ๊ฒฐ๊ณผ๋ ๋ฒ๋ฆฌ์ธ์. 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.5val2
: 2.5val3
: 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();
}
'Java | Spring' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[Java] ์ฝ๋๋ก ์์ํ๋ ์๋ฐ ์ฒซ ๊ฑธ์ (4-6) Q & A (0) | 2025.01.25 |
---|---|
[Java] ์ฝ๋๋ก ์์ํ๋ ์๋ฐ ์ฒซ ๊ฑธ์ (1-3) Q & A (3) | 2024.12.19 |
[Java] ์ฝ๋๋ก ์์ํ๋ ์๋ฐ ์ฒซ ๊ฑธ์ (1-3) (1) | 2024.12.19 |
[Java] SLF4J LoggerFactory ์ฌ์ฉ (0) | 2021.04.05 |
[Java] Why does the string data type have a .toString() method? (0) | 2021.04.05 |