์ผ | ์ | ํ | ์ | ๋ชฉ | ๊ธ | ํ |
---|---|---|---|---|---|---|
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 |
29 | 30 | 31 |
- Absolute
- AGI
- ai
- AI agents
- AI engineer
- AI researcher
- ajax
- algorithm
- Algorithms
- aliases
- Array ๊ฐ์ฒด
- ASI
- bayes' theorem
- Bit
- Blur
- BOM
- bootstrap
- canva
- challenges
- ChatGPT
- Today
- In Total
A Joyful AI Research Journey๐ณ๐
[24] 230201 Java Ch. 3 ์ฐ์ฐ์: 1. ์ฐ์ฐ์์ ์ฐ์ฐ์, 2. ์ฐ์ฐ์์ ์ข ๋ฅ [K-๋์งํธ ํธ๋ ์ด๋ 24์ผ] ๋ณธ๋ฌธ
[24] 230201 Java Ch. 3 ์ฐ์ฐ์: 1. ์ฐ์ฐ์์ ์ฐ์ฐ์, 2. ์ฐ์ฐ์์ ์ข ๋ฅ [K-๋์งํธ ํธ๋ ์ด๋ 24์ผ]
yjyuwisely 2023. 2. 1. 12:50230201 Wed 24th class
Ch. 3 ์ฐ์ฐ์
์ง๋: p. 61 ~ (๊ต์ฌ: ํผ์ ๊ณต๋ถํ๋ ์๋ฐ, ์ ์: ์ ์ฉ๊ถ)
์ค๋ ๋ฐฐ์ด ๊ฒ ์ค ๊ธฐ์ตํ ๊ฒ์ ์ ๋ฆฌํ๋ค.
์ง๋ ์์ ๋ ๋ฐฐ์ด ๊ฒ ์ค ๋ค์ ๊ธฐ์ตํ ๊ฒ
์ฆ๊ฐ ์ฐ์ฐ์(increment and decrement operator)
- ํ์ํ(post increment): ์ ์ ์ฅ ํ ์ฆ๊ฐ p=x; x=x+1;
x++ value is incremented after value assign or printed.
- ์ ์ํ(pre increment): ์ ์ฆ๊ฐ ํ ์ ์ฅ x=x+1; p=x;
++x value incremented before the value is printing.
- ๋ฆฌํฐ๋ด(literal): ์์ค ์ฝ๋ ๋ด์์ ์ง์ ์
๋ ฅ๋ ๊ฐ
(์ฌ์ค ๋ฆฌํฐ๋ด์ ์์์ ๊ฐ์ ์๋ฏธ์ง๋ง, ํ๋ก๊ทธ๋จ์์๋ ์์๋ฅผ "๊ฐ์ ํ ๋ฒ ์ ์ฅํ๋ฉด ๋ณ๊ฒฝํ ์ ์๋ ๋ณ์"๋ก ์ ์ํ๊ธฐ ๋๋ฌธ์ ์ด์ ๊ตฌ๋ถํ๊ธฐ ์ํด "๋ฆฌํฐ๋ด"์ด๋ผ๋ ์ฉ์ด๋ฅผ ์ฌ์ฉํ๋ค.)
- CONCATENATE(์ฐ์์ํค๋ค) ํจ์๋ ์ฌ๋ฌ ๊ฐ์ ๋ฒ์ ๋๋ ์ฌ๋ฌ ๊ฐ์ ํ
์คํธ ๋ฌธ์์ด์ ํ๋์ ํ
์คํธ ๋ฌธ์์ด๋ก ์ฐ๊ฒฐํ๋ ํจ์์
๋๋ค.
The concat() method appends (concatenate) a string to the end of another string.
- ๊ธฐ๋ณธ ํ์
๋ณ์(byte, char, short, int, long, float, double, boolean)์ ๊ฐ์ ๋น๊ตํ ๋์๋ == ์ฐ์ฐ์๋ฅผ ์ฌ์ฉํ์ง๋ง
์ฐธ์กฐ ํ์
์ธ String ๋ณ์๋ฅผ ๋น๊ตํ ๋๋ equals() ๋ฉ์๋๋ฅผ ์ฌ์ฉํ๋ค.
์ฒ์ ์๊ฒ ๋ ๊ฒ
p. 122
XOR (๋ฐฐํ์ ๋
ผ๋ฆฌํฉ exclusive or): ํผ์ฐ์ฐ์๊ฐ ํ๋๋ true์ด๊ณ ๋ค๋ฅธ ํ๋๊ฐ false์ผ ๊ฒฝ์ฐ์๋ ์ฐ์ฐ ๊ฒฐ๊ณผ๊ฐ true
Exclusive or or exclusive disjunction is a logical operation that is true if and only if its arguments differ.
์ฐ์ฐ์ | ๊ฒฐ๊ณผ | ||
true | ^ | true | false |
true | false | true | |
false | true | true | |
false | false | false |
NOT (๋
ผ๋ฆฌ ๋ถ์ ): ํผ์ฐ์ฐ์์ ๋
ผ๋ฆฌ๊ฐ์ ๋ฐ๊ฟ
์ฐ์ฐ์ | ๊ฒฐ๊ณผ | |
! | true | false |
false | true |
๋
ผ๋ฆฌ ๋ถ์ ์ฐ์ฐ์๋ ์กฐ๊ฑด๋ฌธ๊ณผ ์ ์ด๋ฌธ์์ ์กฐ๊ฑด์์ ๊ฐ์ ๋ถ์ ํ๋๋กํด์ ์คํ ํ๋ฆ์ ์ ์ดํ ๋ ์ฃผ๋ก ์ฌ์ฉํ๋ค.
๋ํ ๋ ๊ฐ์ง ์ํ(true/false)๋ฅผ ๋ฒ๊ฐ์๊ฐ๋ฉฐ ๋ฒ๊ฒฝํ๋ ํ ๊ธ(toggle) ๊ธฐ๋ฅ์ ๊ตฌํํ ๋๋ ์ฌ์ฉํ๋ค.
ex) ๋ฆฌ๋ชจ์ปจ ์ ์ ๋ฒํผ on / off
์นํ์ด์ง ํ๋์ ๋ฒํผ: ๋ก๊ทธ์ธ / ๋ก๊ทธ์์
Ch. 3 ์ฐ์ฐ์(operator)
์ฑ ์ ๋ชฉ์ฐจ
03-1 ์ฐ์ฐ์์ ์ฐ์ฐ์
03-2 ์ฐ์ฐ์์ ์ข ๋ฅ
3.1 ์ฐ์ฐ์(operator)์ ์ฐ์ฐ์(expression) p. 102
์ฐ์ฐ์(operator): ์ฐ์ฐ์ ์ฌ์ฉ๋๋ ํ์๋ ๊ธฐํธ
ํผ์ฐ์ฐ์(operand): ์ฐ์ฐ์์ ํจ๊ป ์ฐ์ฐ๋๋ ๋ฐ์ดํฐ
์ฐ์ฐ์(expression): ์ฐ์ฐ์์ ํผ์ฐ์ฐ์๋ฅผ ์ด์ฉํ์ฌ ์ฐ์ฐ์ ๊ณผ์ ์ ๊ธฐ์ ํ ๊ฒ
์์ ) ์ฐ์ฐ์: +, -, *, ==, ํผ์ฐ์ฐ์: x, y, z ๋ณ์
x + y
x - y
x * y + z
x == y
1) ์ฐ์ฐ์์ ์ข ๋ฅ p. 103
์ฐ์ฐ์ ์ข ๋ฅ | ์ฐ์ฐ์ | ํผ์ฐ์ฐ์ ์ | ์ฐ์ถ๊ฐ | ๊ธฐ๋ฅ |
1.1 ๋ถํธ | +, - | ๋จํญ | ์ซ์ | ์์์ ์์์ ๋ถํธ |
1.2 ์ฆ๊ฐ | ++, -- | ์ซ์ | 1๋งํผ ์ฆ๊ฐ/๊ฐ์ | |
1.3 ๋ ผ๋ฆฌ | !, &, |, &&, || | boolean | ๋ ผ๋ฆฌ ๋ถ์ (!), ๋ ผ๋ฆฌ๊ณฑ(AND), ๋ ผ๋ฆฌํฉ(OR) | |
2.1 ์ฐ์ | +, -, *, /, % | ์ดํญ | ์ซ์ | ์ฌ์น์ฐ์ฐ ๋ฐ ๋๋จธ์ง ๊ณ์ฐ |
2.2 ๋ฌธ์์ด | + | ๋ฌธ์์ด | ๋ ๋ฌธ์์ด์ ์ฐ๊ฒฐ | |
2.3 ๋น๊ต | ==, !=, >, <, >=, instanceof | boolean | ๊ฐ์ ๋น๊ต | |
2.4 ๋ ผ๋ฆฌ | !, &, |, &&, || | boolean | ๋ ผ๋ฆฌ ๋ถ์ (!), ๋ ผ๋ฆฌ๊ณฑ(AND), ๋ ผ๋ฆฌํฉ(OR) | |
2.5 ๋์ | =, +=, -=, *=, /=, %= | ๋ค์ | ์ฐ๋ณ์ ๊ฐ์ ์ข๋ณ์ ๋ณ์์ ๋์ | |
3. ์กฐ๊ฑด | (์กฐ๊ฑด์) ? A : B | ์ผํญ | ๋ค์ | ์กฐ๊ฑด์์ ๋ฐ๋ผ A ๋๋ B ์ค ํ๋๋ฅผ ์ ํ |
instanceof๋ ๊ฐ์ฒด ํ์
์ ํ์ธํ๋ ์ฐ์ฐ์์ด๋ค. ํ๋ณํ ๊ฐ๋ฅ ์ฌ๋ถ๋ฅผ ํ์ธํ๋ฉฐ true / false๋ก ๊ฒฐ๊ณผ๋ฅผ ๋ฐํํ๋ค.
๋์
์ฐ์ฐ์๋ ์ค๋ฅธ์ชฝ ํผ์ฐ์ฐ์์ ๊ฐ์ ์ผ์ชฝ ํผ์ฐ์ฐ์์ธ ๋ณ์์ ์ ์ฅ๋๋ค.
instanceof ์ฐ์ฐ์๋ ์ผ์ชฝ ํผ์ฐ์ฐ์์ธ ์ธ์คํด์ค๊ฐ ์ค๋ฅธ์ชฝ ํผ์ฐ์ฐ์์ธ ํด๋์ค๋ ์ธํฐํ์ด์ค๋ก๋ถํฐ ์์ฑ๋์์ผ๋ฉด true๋ฅผ ๋ฐํํ๊ณ , ๊ทธ๋ ์ง ์์ผ๋ฉด false๋ฅผ ๋ฐํํฉ๋๋ค.
์ธ์คํด์ค ์ด๋ฆ instanceof ํด๋์ค ๋๋ ์ธํฐํ์ด์ค ์ด๋ฆ
์์ )
class A {}
class B extends A {}
public static void main(String[] args) {
A a = new A();
B b = new B();
System.out.println(a instanceof A); // true
System.out.println(b instanceof A); // true
System.out.println(a instanceof B); // false
System.out.println(b instanceof B); // true
}
2) ์ฐ์ฐ์ ๋ฐฉํฅ๊ณผ ์ฐ์ ์์ p. 104
a = b = c = 5;
์ด ์ฐ์ฐ์์ c = 5, b = c, a = b ์์๋ก ์คํ๋๋ค. (๋์
์ฐ์ฐ์)
์คํ๋๊ณ ๋ ํ์๋ a, b, c์ ๊ฐ์ด ๋ชจ๋ 5๊ฐ ๋๋ค.
- ๋จํญ, ์ดํญ, ์ผํญ ์ฐ์ฐ์ ์์ผ๋ก ์ฐ์ ์์๋ฅผ ๊ฐ์ง๋ค.
- ์ฐ์ , ๋น๊ต, ๋
ผ๋ฆฌ, ๋์
์ฐ์ฐ์ ์์ผ๋ก ์ฐ์ ์์๋ฅผ ๊ฐ์ง๋ค.
- ๋จํญ, ๋ถํธ, ๋์
์ฐ์ฐ์๋ฅผ ์ ์ธํ ๋ชจ๋ ์ฐ์ฐ์ ๋ฐฉํฅ์ ์ผ์ชฝ์์ ์ค๋ฅธ์ชฝ์ด๋ค.(→)
- ๋ณต์กํ ์ฐ์ฐ์์๋ ๊ดํธ ()๋ฅผ ์ฌ์ฉํด์ ์ฐ์ ์์๋ฅผ ์ ํ๋ค.
๋ง๋ฌด๋ฆฌ p. 106
4๊ฐ์ง ํค์๋๋ก ๋๋ด๋ ํต์ฌ ํฌ์ธํธ
1) ์ฐ์ฐ์(operator): ์ฐ์ฐ์ ์ข
๋ฅ๋ฅผ ๊ฒฐ์ ์ง๋ ๊ธฐํธ
์ฐ์ (+,-,*,/,%), ์ฆ๊ฐ(++,--), ๋น๊ต(==,!=,...), ๋
ผ๋ฆฌ(&&, ||, ...), ๋์
(=, +=, -=, ...)
2) ํผ์ฐ์ฐ์(operand): ์ฐ์ฐ์์์ ์ฐ์ฐ๋๋ ๋ฐ์ดํฐ(๊ฐ)๋ฅผ ๋งํ๋ค. ex) ์ฐ์ฐ์ 3 + x์์ x์ ๋ณ์
3) ์ฐ์ฐ ๋ฐฉํฅ: ์ฐ์ฐ์์์ ๊ฐ์ ์ข ๋ฅ์ ์ฐ์ฐ์๊ฐ ์ฌ๋ฌ ๊ฐ ์ฌ์ฉ๋ ๊ฒฝ์ฐ ์ผ์ชฝ์์ ์ค๋ฅธ์ชฝ์ผ๋ก ๋๋ ์ค๋ฅธ์ชฝ์์ ์ผ์ชฝ์ผ๋ก ์ฐ์ฐ๋๋ ๋ฐฉํฅ์ด ์๋ค. ๋๋ถ๋ถ์ ์ฐ์ฐ์๋ ์ผ์ชฝ์์ ์ค๋ฅธ์ชฝ์ผ๋ก ์ฐ์ฐ์ด ๋์ง๋ง, ์ฆ๊ฐ(++, --)๊ณผ ๋์ (=,+=,-=)์ ์ค๋ฅธ์ชฝ์์ ์ผ์ชฝ์ผ๋ก ์ฐ์ฐ๋๋ค.
4) ์ฐ์ฐ ์ฐ์ ์์: ์๋ก ๋ค๋ฅธ ์ฐ์ฐ์๋ค์ด ๋ณตํฉ์ ์ผ๋ก ๊ตฌ์ฑ๋๋ฉด ์ฐ์ ์ ์ผ๋ก ์ฐ์ฐ๋๋ ์ฐ์ฐ์๊ฐ ์๋ค. ํ์ง๋ง ๊ดํธ()๋ก ๊ฐ์ผ ์ฐ์ฐ์ด ์ต์ฐ์ ์์๋ฅผ ๊ฐ๊ธฐ ๋๋ฌธ์ ๋ณต์กํ ์ฐ์ฐ์์์ ์ฐ์ฐ์ ์์๋ฅผ ์ ํ๊ณ ์ถ์ ๋๋ ๊ดํธ ()๋ฅผ ํ์ฉํ๋ค.
ํ๋ก ์ ๋ฆฌํ๋ ํต์ฌ ํฌ์ธํธ
์ฐ์ฐ์ | ์ฐ์ฐ ๋ฐฉํฅ | ์ฐ์ ์์ |
์ฆ๊ฐ(++,--), ๋ถํธ(+,-), ๋ ผ๋ฆฌ(!) | ← | ๋์ |
์ฐ์ (*, /, %) | → | |
์ฐ์ (+, -) | → | |
๋น๊ต(<, >, <=, >=, instanceof) | → | |
๋น๊ต(==, !=) | → | |
๋ ผ๋ฆฌ(&) | → | |
๋ ผ๋ฆฌ(^) | → | |
๋ ผ๋ฆฌ(|) | → | |
๋ ผ๋ฆฌ(&&) | → | |
๋ ผ๋ฆฌ(||) | → | |
์กฐ๊ฑด(?:) | → | |
๋์ (์ ์ฅ)(=, +=, -=, *=, /=, %=) | ← | ๋ฎ์ |
3.2 ์ฐ์ฐ์์ ์ข ๋ฅ p. 108
์ฐ์ฐ์๋ ์ฐ์ถ ๋ฐฉ๋ฒ์ ๋ฐ๋ผ ์ฐ์ , ๋ถํธ, ๋ฌธ์์ด, ๋์
, ์ฆ๊ฐ ๋น๊ต ์ฐ์ฐ์๋ก ๊ตฌ๋ถํ๋ค.
ํผ์ฐ์ฐ์ ์์ ๋ฐ๋ผ ๋จํญ, ์ดํญ, ์ผํญ ์ฐ์ฐ์๋ก ๊ตฌ๋ถํ๋ค.
๋จํญ ์ฐ์ฐ์: ++x; //ํผ์ฐ์ฐ์์ ์: 1๊ฐ
์ดํญ ์ฐ์ฐ์: x+y; //ํผ์ฐ์ฐ์์ ์: 2๊ฐ
์ผํญ ์ฐ์ฐ์: (sum > 90) ? "A" : "B"; //ํผ์ฐ์ฐ์์ ์: 3๊ฐ
1) ๋จํญ ์ฐ์ฐ์ p. 109
๋จํญ ์ฐ์ฐ์๋ ํผ์ฐ์ฐ์๊ฐ ๋จ ํ๋๋ฟ์ธ ์ฐ์ฐ์๋ฅผ ๋งํ๋ค.
1.1 ๋ถํธ ์ฐ์ฐ์(+,-)
์ฐ์ฐ์ | ์ค๋ช | |
+ | ํผ์ฐ์ฐ์(x) | ํผ์ฐ์ฐ์์ ๋ถํธ ์ ์ง |
- | ํผ์ฐ์ฐ์ | ํผ์ฐ์ฐ์์ ๋ถํธ ๋ณ๊ฒฝ (์์๋ ์์๋ก, ์์๋ ์์๋ก) |
๋ถํธ ์ฐ์ฐ์์ ๊ฒฐ๊ณผ๋ int ํ์ ์ด๋ค.
์์ ) byte ํ์ ๊ฐ์ ๋ถํธ ์ฐ์ฐํ๋ฉด int ํ์ ๊ฐ์ผ๋ก ๋ฐ๋๋ฏ๋ก ์ปดํ์ผ ์๋ฌ๊ฐ ๋ฐ์ํ๋ค.
public class P110SignOperatorExample {
public static void main(String[] args) {
int x = -100;
int result1 = +x;
int result2 = -x;
System.out.println("result1=" + result1);
System.out.println("result2=" + result2);
byte b = 100;
//byte result3 = -b; //int๋ฅผ byteํ์
์ผ๋ก ์ ์ฅํ๋ ๊ฒ์ ๋ฌธ์ ๊ฐ ๋๋ค.
int result3 = -b;
System.out.println("result3=" + result3);
}
}
๊ฒฐ๊ณผ)
result1=-100
result2=100
result3=-100
1.2 ์ฆ๊ฐ ์ฐ์ฐ์(++, --) (increment and decrement operator) p. 111
์ฐ์ฐ์ | ์ค๋ช | |
++ | ํผ์ฐ์ฐ์(x) | ์ฆ๊ฐ์ฐ์ฐ์: ๋ค๋ฅธ ์ฐ์ฐ์ ์ํํ๊ธฐ ์ ์ ํผ์ฐ์ฐ์์ ๊ฐ์ 1 ์ฆ๊ฐ์ํจ๋ค. |
-- | ํผ์ฐ์ฐ์ | ๊ฐ์์ฐ์ฐ์: ๋ค๋ฅธ ์ฐ์ฐ์ ์ํํ๊ธฐ ์ ์ ํผ์ฐ์ฐ์์ ๊ฐ์ 1 ๊ฐ์์ํจ๋ค. |
ํผ์ฐ์ฐ์ | ++ | ์ฆ๊ฐ์ฐ์ฐ์: ๋ค๋ฅธ ์ฐ์ฐ์ ์ํํ ํ์ ํผ์ฐ์ฐ์์ ๊ฐ์ 1 ์ฆ๊ฐ์ํจ๋ค. |
ํผ์ฐ์ฐ์ | -- | ๊ฐ์์ฐ์ฐ์: ๋ค๋ฅธ ์ฐ์ฐ์ ์ํํ ํ์ ํผ์ฐ์ฐ์์ ๊ฐ์ 1 ๊ฐ์์ํจ๋ค. |
์ฐ์ฐ์ | ์ค๋ช |
++x | ๋จผ์ ํผ์ฐ์ฐ์์ ๊ฐ์ 1 ์ฆ๊ฐ์ํจ ํ์ ํด๋น ์ฐ์ฐ์ ์งํํ๋ค. |
x++ | ๋จผ์ ํด๋น ์ฐ์ฐ์ ์ํํ๊ณ ๋์, ํผ์ฐ์ฐ์์ ๊ฐ์ 1 ์ฆ๊ฐ์ํจ๋ค. |
--x | ๋จผ์ ํผ์ฐ์ฐ์์ ๊ฐ์ 1 ๊ฐ์์ํจ ํ์ ํด๋น ์ฐ์ฐ์ ์งํํ๋ค. |
x-- | ๋จผ์ ํด๋น ์ฐ์ฐ์ ์ํํ๊ณ ๋์, ํผ์ฐ์ฐ์์ ๊ฐ์ 1 ๊ฐ์์ํจ๋ค. |
์ฆ๊ฐ ์ฐ์ฐ์(increment and decrement operator)
- ํ์ํ(post increment): ์ ์ ์ฅ ํ ์ฆ๊ฐ p=x; x=x+1;
x++ value is incremented after value assign or printed.
- ์ ์ํ(pre increment): ์ ์ฆ๊ฐ ํ ์ ์ฅ x=x+1; p=x;
++x value incremented before the value is printing.
์์ )
z = ++x ์ฆ z = ++14
x = x + 1; z = x ์ฆ x = 14 + 1 = 15; z = 15
z = y++ ์ฆ z = 8++
z = y; y = y + 1 ์ฆ z = 8; y = 8 + 1 = 9;
z= 15 + 8 = 23
public class P112IncreaseDecreaseOperationExample {
public static void main(String[] args) {
int x = 10;
int y = 10;
int z;
System.out.println("-----------------------------");
x++;
++x;
System.out.println("x: " + x);
System.out.println("-----------------------------");
y--;
--y;
System.out.println("y: " + y);
System.out.println("-----------------------------");
z = x++;
System.out.println("z: " + z);
System.out.println("x: " + x);
System.out.println("-----------------------------");
z = ++x;
System.out.println("z: " + z);
System.out.println("x: " + x);
System.out.println("-----------------------------");
z = ++x + y++;
System.out.println("z: " + z);
System.out.println("x: " + x);
System.out.println("y: " + y);
}
}
๊ฒฐ๊ณผ)
-----------------------------
x: 12
-----------------------------
y: 8
-----------------------------
z: 12
x: 13
-----------------------------
z: 14
x: 14
-----------------------------
z: 23
x: 15
y: 9
1.3 ๋
ผ๋ฆฌ ๋ถ์ ์ฐ์ฐ์(!) p. 113
๋ ผ๋ฆฌ ๋ถ์ ์ฐ์ฐ์๋ true๋ฅผ false๋ก, false๋ฅผ true๋ก ๋ณ๊ฒฝํ๊ธฐ ๋๋ฌธ์ boolean ํ์ ์๋ง ์ฌ์ฉํ ์ ์๋ค.
์ฐ์ฐ์ | ์ค๋ช | |
! | ํผ์ฐ์ฐ์(x) | ํผ์ฐ์ฐ์๊ฐ true์ด๋ฉด false ๊ฐ์ ์ฐ์ถ ํผ์ฐ์ฐ์๊ฐ false์ด๋ฉด true ๊ฐ์ ์ฐ์ถ |
๋
ผ๋ฆฌ ๋ถ์ ์ฐ์ฐ์๋ ์กฐ๊ฑด๋ฌธ๊ณผ ์ ์ด๋ฌธ์์ ์กฐ๊ฑด์์ ๊ฐ์ ๋ถ์ ํ๋๋กํด์ ์คํ ํ๋ฆ์ ์ ์ดํ ๋ ์ฃผ๋ก ์ฌ์ฉํ๋ค.
๋ํ ๋ ๊ฐ์ง ์ํ(true/false)๋ฅผ ๋ฒ๊ฐ์๊ฐ๋ฉฐ ๋ฒ๊ฒฝํ๋ ํ ๊ธ(toggle) ๊ธฐ๋ฅ์ ๊ตฌํํ ๋๋ ์ฌ์ฉํ๋ค.
ex) ๋ฆฌ๋ชจ์ปจ ์ ์ ๋ฒํผ on / off
์นํ์ด์ง ํ๋์ ๋ฒํผ: ๋ก๊ทธ์ธ / ๋ก๊ทธ์์
์์ )
public class P114DenyLogicOperatorExample {
public static void main(String[] args) {
boolean play = true;
System.out.println(play);
play = !play;
System.out.println(play);
play = !play;
System.out.println(play);
play = !play;
System.out.println(play);
}
}
๊ฒฐ๊ณผ)
true
false
true
false
2) ์ดํญ ์ฐ์ฐ์ p. 114
์ดํญ ์ฐ์ฐ์๋ ํผ์ฐ์ฐ์๊ฐ 2๊ฐ์ธ ์ฐ์ฐ์๋ฅผ ๋งํ๋ค.
2.1 ์ฐ์ ์ฐ์ฐ์ (+,-,*,/,%) p. 114
์ฐ์ฐ์ | ์ค๋ช | ||
ํผ์ฐ์ฐ์(x) | + | ํผ์ฐ์ฐ์(y) | ๋ง์ ์ฐ์ฐ |
ํผ์ฐ์ฐ์ | - | ํผ์ฐ์ฐ์ | ๋บ์ ์ฐ์ฐ |
ํผ์ฐ์ฐ์ | * | ํผ์ฐ์ฐ์ | ๊ณฑ์ ์ฐ์ฐ |
ํผ์ฐ์ฐ์ | / | ํผ์ฐ์ฐ์ | ์ผ์ชฝ ํผ์ฐ์ฐ์๋ฅผ ์ค๋ฅธ์ชฝ ํผ์ฐ์ชฝ ํผ์ฐ์ฐ์๋ก ๋๋์ ์ฐ์ฐ |
ํผ์ฐ์ฐ์ | % | ํผ์ฐ์ฐ์ | ์ผ์ชฝ ํผ์ฐ์ฐ์๋ฅผ ์ค๋ฅธ์ชฝ ํผ์ฐ์ชฝ ํผ์ฐ์ฐ์๋ก ๋๋ ๋๋จธ์ง๋ฅผ ๊ตฌํ๋ ์ฐ์ฐ |
์์ 1) result5์ ๊ฒฝ์ฐ v1๋ v2 ์์ (double)๋ฅผ ์จ์ ์ค์ ํ์ ์ผ๋ก ๋ง๋ ๋ค.
public class P116ArithmeticOperationExample {
public static void main(String[] args) {
int v1 = 5;
int v2 = 2;
int result1 = v1 + v2;
System.out.println("result1: "+result1);
int result2 = v1 - v2;
System.out.println("result2: "+result2);
int result3 = v1 * v2;
System.out.println("result3: "+result3);
int result4 = v1 / v2;
System.out.println("result4: "+result4);
double result5 = (double) v1 / v2;
System.out.println("result5: "+result5);
int result6 = v1 % v2; //๋๋จธ์ง
System.out.println("result6: "+result6);
}
}
๊ฒฐ๊ณผ)
result1: 7
result2: 3
result3: 10
result4: 2
result5: 2.5
result6: 1
๋ฆฌํฐ๋ด์ ์)
๋ฆฌํฐ๋ด(literal): ์์ค ์ฝ๋ ๋ด์์ ์ง์ ์
๋ ฅ๋ ๊ฐ
(์ฌ์ค ๋ฆฌํฐ๋ด์ ์์์ ๊ฐ์ ์๋ฏธ์ง๋ง, ํ๋ก๊ทธ๋จ์์๋ ์์๋ฅผ "๊ฐ์ ํ ๋ฒ ์ ์ฅํ๋ฉด ๋ณ๊ฒฝํ ์ ์๋ ๋ณ์"๋ก ์ ์ํ๊ธฐ ๋๋ฌธ์ ์ด์ ๊ตฌ๋ถํ๊ธฐ ์ํด "๋ฆฌํฐ๋ด"์ด๋ผ๋ ์ฉ์ด๋ฅผ ์ฌ์ฉํ๋ค.)
int a = 10;
long b = 20L;
float c = 3.14f;
double d = 3.14;
์์ 2)
public class P117CharOperationExample {
public static void main(String[] args) {
char c1 = 'A' + 1; // char c1=bb;์ผ๋ก ์ปดํ์ผ๋๋ค.
char c2 = 'A';
char c3 = (char)(c2 + 1);//๊ฐ์ ํ์
๋ณํ์ ํ๋ค.
//char ํ์
์ธ c3์ ์ ์ฅํ๋ฏ๋ก ์ปดํ์ผ ์๋ฌ๊ฐ ๋ฐ์ํ๋ค. char ๋ณ์๊ฐ ์ฐ์ ์ฐ์ฐ์์ ์ฌ์ฉ๋๋ฉด int ํ์
์ผ๋ก ๋ณํ๋๋ฏ๋ก ์ฐ์ฐ ๊ฒฐ๊ณผ๋ int๊ฐ ๋๋ค.
//char c3 = c2 + 1;
System.out.println("c1: " + c1);
System.out.println("c2: " + c2);
System.out.println("c3: " + c3);
}
}
๊ฒฐ๊ณผ)
c1: B
c2: A
c3: B
2.2 ๋ฌธ์์ด ๊ฒฐํฉ ์ฐ์ฐ์ (+) p. 118
๋ฌธ์์ด ๊ฒฐํฉ ์ฐ์ฐ์์ธ +๋ ๋ฌธ์์ด์ ์๋ก ๊ฒฐํฉํ๋ ์ฐ์ฐ์์ด๋ค.
๋ฌธ์์ด๊ณผ ์ซ์๊ฐ ํผํฉ๋ + ์ฐ์ฐ์์ ์ผ์ชฝ์์๋ถํฐ ์ค๋ฅธ์ชฝ์ผ๋ก ์ฐ์ฐ์ด ์งํ๋๋ค. (ex. ๋ฌธ์์ด + ์ซ์, ์ซ์ (๋จผ์ ์ฐ์ฐ) + ๋ฌธ์์ด์ด๋ค.)
์์ )
public class P118StringConcatExample {
public static void main(String[] args) {
// String + double(์ซ์)
// ๋ฌธ์์ด + ์ซ์
// JDK6.0
String str1 = "JDK" + 6.0;
String str2 = str1 + " ํน์ง";
System.out.println(str2);
String str3 = "JDK" + 3 + 3.0; //๋ฌธ์์ด + ์ซ์
String str4 = 3 + 3.0 + "JDK"; //์ซ์(๋จผ์ ์ฐ์ฐ) + ๋ฌธ์์ด
System.out.println(str3);
System.out.println(str4);
}
}
๊ฒฐ๊ณผ)
JDK6.0 ํน์ง
JDK33.0
6.0JDK
2.3 ๋น๊ต ์ฐ์ฐ์ (<, <=, >, >=, ==, !=) p. 119
๋์ ์ฐ์ฐ์๋ boolean์ ์ ์ธํ ๊ธฐ๋ณธ ํ์
์ ์ฌ์ฉํ ์ ์๊ณ , ๋๋ฑ ์ฐ์ฐ์๋ ๋ชจ๋ ํ์
์ ์ฌ์ฉํ ์ ์๋ค.
๋น๊ต ์ฐ์ฐ์๋ ํ๋ฆ ์ ์ด๋ฌธ์ธ ์กฐ๊ฑด๋ฌธ(if), ๋ฐ๋ณต๋ฌธ(for, while)์์ ์ฃผ๋ก ์ด์ฉ๋์ด ์คํ ํ๋ฆ์ ์ ์ดํ ๋ ์ฌ์ฉ๋๋ค.
(num1 != num2) //num1๊ณผ num2๋ ๋ค๋ฅธ์ง
(num1 = !num2) //num2๊ฐ ๋ถ์ ๋ ๊ฒ์ num1์ ์ ์ฅํ๋ค.
์์ )
public class P119CompareOperatorExample1 {
public static void main(String[] args) {
int num1 = 10;
int num2 = 10;
boolean result1 = (num1 == num2);
boolean result2 = (num1 != num2);
boolean result3 = (num1 <= num2);
System.out.println("result1=" + result1);
System.out.println("result2=" + result2);
System.out.println("result3=" + result3);
char char1 = 'A';
char char2 = 'B';
boolean result4 = (char1 < char2);
System.out.println("result4=" + result4);
}
}
๊ฒฐ๊ณผ)
result1=true
result2=false
result3=true
result4=true
๋น๊ต ์ฐ์ฐ์์์๋ ์ฐ์ฐ์ ์ํํ๊ธฐ ์ ์ ํผ์ฐ์ฐ์์ ํ์
์ ์ผ์น์ํจ๋ค.
ex) 'A'==65๋ 'A'๊ฐ int ํ์
์ผ๋ก ๋ณํ๋์ด 65 == 65๋ฅผ ๋น๊ตํ๋ค.
3 == 3.0์์ 3์ด double๋ก ๋ณํ๋์ด 3.0 == 3.0์ผ๋ก ๋น๊ตํ๋ค.
'A' == 65 -> 65 == 65 -> true
3 == 3.0 -> 3.0 == 3.0 -> true
์์ธ: 0.1๊ณผ 0.1f๋ ๊ฐ์ง ์๋ค. 0.1f๋ 0.1์ ๊ทผ์ฟ๊ฐ(0.1000000149011612)์ผ๋ก ํํ๋๋ค. 0.1๋ณด๋ค ํฐ ๊ฐ์ด๋ค.
์์ )
public class P119CompareOperatorExample2 {
public static void main(String[] args) {
int v2 = 1;
double v3 = 1.0;
// int(4) double(8)
// double double
// 1.0 1.0
System.out.println(v2 == v3); //true
double v4 = 0.1;
float v5 = 0.1f;
// double(8) float(4)
System.out.printf("%15.14f\n",v4);
System.out.printf("%15.14f\n",v5);
System.out.println(v4 == v5); //false
System.out.println((float)0.4 == v5); //true
}
}
๊ฒฐ๊ณผ)
true
0.10000000000000
0.10000000149012
false
false
- ๊ธฐ๋ณธ ํ์
๋ณ์(byte, char, short, int, long, float, double, boolean)์ ๊ฐ์ ๋น๊ตํ ๋์๋ == ์ฐ์ฐ์๋ฅผ ์ฌ์ฉํ์ง๋ง
์ฐธ์กฐ ํ์
์ธ String ๋ณ์๋ฅผ ๋น๊ตํ ๋๋ equals() ๋ฉ์๋๋ฅผ ์ฌ์ฉํ๋ค. p. 121, p.97
boolean result = inputData. equals("๋น๊ต๋ฌธ์์ด");
inputData: ์ ์ฅ๋ ๋ฌธ์์ด
equals("๋น๊ต๋ฌธ์์ด"): ๋น๊ต
result: ๊ฐ์ผ๋ฉด true, ๋ค๋ฅด๋ฉด false
์์ ) p. 121
String strVar1 = "์ ์ฉ๊ถ";
String strVar2 = "์ ์ฉ๊ถ";
System.out.println(strVar1.equals(strVar2)); //true
System.out.println(!strVar1.equals(strVar2)); //false
2.4 ๋
ผ๋ฆฌ ์ฐ์ฐ์ (&&, ||, &, |, ^, !) p. 121
&&, & AND (๋
ผ๋ฆฌ๊ณฑ: Logical conjunction): ํผ์ฐ์ฐ์ ๋ชจ๋๊ฐ true์ผ ๊ฒฝ์ฐ์๋ง ์ฐ์ฐ ๊ฒฐ๊ณผ๊ฐ true
์ฐ์ฐ์ | ๊ฒฐ๊ณผ | ||
true(1) | && ๋๋ & |
true(1) | true(1) |
true(1) | false(0) | false(0) | |
false | true | false | |
false | false | false |
|| | OR (๋
ผ๋ฆฌํฉ: Logical disjunction): ํผ์ฐ์ฐ์ ์ค ํ๋๋ง true์ด๋ฉด ์ฐ์ฐ ๊ฒฐ๊ณผ๊ฐ true
์ฐ์ฐ์ | ๊ฒฐ๊ณผ | ||
true | || ๋๋ | |
true | true |
true | false | true | |
false | true | true | |
false | false | false |
^ XOR (๋ฐฐํ์ ๋
ผ๋ฆฌํฉ: exclusive or): ํผ์ฐ์ฐ์๊ฐ ํ๋๋ true์ด๊ณ ๋ค๋ฅธ ํ๋๊ฐ false์ผ ๊ฒฝ์ฐ์๋ ์ฐ์ฐ ๊ฒฐ๊ณผ๊ฐ true
Exclusive or or exclusive disjunction is a logical operation that is true if and only if its arguments differ.
์ฐ์ฐ์ | ๊ฒฐ๊ณผ | ||
true | ^ | true | false |
true | false | true | |
false | true | true | |
false | false | false |
! NOT (๋ ผ๋ฆฌ ๋ถ์ : Sheffer stroke): ํผ์ฐ์ฐ์์ ๋ ผ๋ฆฌ๊ฐ์ ๋ฐ๊พผ๋ค.
์ฐ์ฐ์ | ๊ฒฐ๊ณผ | |
! | true | false |
false | true |
๋
ผ๋ฆฌ ๋ถ์ ์ฐ์ฐ์๋ ์กฐ๊ฑด๋ฌธ๊ณผ ์ ์ด๋ฌธ์์ ์กฐ๊ฑด์์ ๊ฐ์ ๋ถ์ ํ๋๋กํด์ ์คํ ํ๋ฆ์ ์ ์ดํ ๋ ์ฃผ๋ก ์ฌ์ฉํ๋ค.
๋ํ ๋ ๊ฐ์ง ์ํ(true/false)๋ฅผ ๋ฒ๊ฐ์๊ฐ๋ฉฐ ๋ฒ๊ฒฝํ๋ ํ ๊ธ(toggle) ๊ธฐ๋ฅ์ ๊ตฌํํ ๋๋ ์ฌ์ฉํ๋ค.
&&: ์์ ํผ์ฐ์ฐ์๊ฐ false๋ผ๋ฉด ๋ค์ ํผ์ฐ์ฐ์๋ ํ๊ฐํ์ง ์๊ณ ๋ฐ๋ก false๋ผ๋ ์ฐ์ถ ๊ฒฐ๊ณผ๋ฅผ ๋ธ๋ค. &๋ณด๋ค ๋ ํจ์จ์ ์ด๋ค.
&: ๋ ํผ์ฐ์ฐ์ ๋ชจ๋๋ฅผ ํ๊ฐํด์ ์ฐ์ถ ๊ฒฐ๊ณผ๋ฅผ ๋ธ๋ค.
||: ์์ ํผ์ฐ์ฐ์๊ฐ true๋ผ๋ฉด ๋ค์ ํผ์ฐ์ฐ์๋ฅผ ํ๊ฐํ์ง ์๊ณ ๋ฐ๋ก true๋ผ๋ ์ฐ์ถ ๊ฒฐ๊ณผ๋ฅผ ๋ธ๋ค. ์๋ํ๋ฉด ํ๋๋ผ๋ true์ด๋ฉด ์ ์ฒด ์ฐ์ฐ์์ true์ด๊ธฐ ๋๋ฌธ์ด๋ค. |๋ณด๋ค ๋ ํจ์จ์ ์ผ๋ก ๋์ํ๋ค.
|: ๋ ํผ์ฐ์ฐ์ ๋ชจ๋๋ฅผ ํ๊ฐํด์ ์ฐ์ถ ๊ฒฐ๊ณผ๋ฅผ ๋ธ๋ค.
์์ )
public class P123LogicalOperatorExample {
public static void main(String[] args) {
int charCode = 'A';
//'A' == 65, 'Z' == 90
if((charCode >= 65) & (charCode <= 90)) {
System.out.println("๋๋ฌธ์๊ตฐ์.");
}
// 'a' == 97, 'z' == 122
if((charCode >= 97) & (charCode <= 122)) {
System.out.println("์๋ฌธ์๊ตฐ์.");
}
//'0' == 48, '9' == 57
// false && true
// !false && !true
// true && false
if((charCode < 48) && !(charCode > 57)) {
System.out.println("0~9 ์ซ์๊ตฐ์.");
}
int value = 6;
if((value%2==0) & (value%3==0)) {
System.out.println("2 ๋๋ 3์ ๋ฐฐ์๊ตฐ์.");
}
if((value%2==0) && (value%3==0)) {
System.out.println("2 ๋๋ 3์ ๋ฐฐ์๊ตฐ์.");
}
}
}
๊ฒฐ๊ณผ)
๋๋ฌธ์๊ตฐ์.
2 ๋๋ 3์ ๋ฐฐ์๊ตฐ์.
2 ๋๋ 3์ ๋ฐฐ์๊ตฐ์.
2.5 ๋์ ์ฐ์ฐ์ (=, +=, -=, *-, /=, %=) p. 123
๋์
์ฐ์ฐ์๋ ์ค๋ฅธ์ชฝ ํผ์ฐ์ฐ์์ ๊ฐ์ ์ผ์ชฝ ํผ์ฐ์ฐ์์ธ ๋ณ์์ ์ ์ฅ๋๋ค.
์ค๋ฅธ์ชฝ ํผ์ฐ์ฐ์์๋ ๋ฆฌํฐ๋ด ๋ฐ ๋ณ์, ๋ค๋ฅธ ์ฐ์ฐ์์ด ์ฌ ์ ์๋ค.
๋จ์ํ ์ค๋ฅธ์ชฝ ํผ์ฐ์ฐ์์ ๊ฐ์ ๋ณ์์ ์ ์ฅํ๋ ๋จ์ ๋์
์ฐ์ฐ์๊ฐ ์๊ณ ,
์ ํด์ง ์ฐ์ฐ์ ์ํํ ํ ๊ฒฐ๊ณผ๋ฅผ ๋ณ์์ ์ ์ฅํ๋ ๋ณตํฉ ๋์
์ฐ์ฐ์๋ ์๋ค.
๊ตฌ๋ถ | ์ฐ์ฐ์ | ์ค๋ช | ||
๋จ์ ๋์ ์ฐ์ฐ์ | ๋ณ์(result) | = | ํผ์ฐ์ฐ์(10) | ์ค๋ฅธ์ชฝ์ ํผ์ฐ์ฐ์์ ๊ฐ์ ์ผ์ชฝ ๋ณ์์ ์ ์ฅํ๋ค. ex) result = 10 |
๋ณตํฉ ๋์ ์ฐ์ฐ์ | ๋ณ์ | += | ํผ์ฐ์ฐ์ | ๋ณ์ = ๋ณ์ + ํผ์ฐ์ฐ์ ex) result = result + 10 |
๋ณ์ | -= | ํผ์ฐ์ฐ์ | ๋ณ์ = ๋ณ์ - ํผ์ฐ์ฐ์ |
|
๋ณ์ | *= | ํผ์ฐ์ฐ์ | ๋ณ์ = ๋ณ์ * ํผ์ฐ์ฐ์ | |
๋ณ์ | /= | ํผ์ฐ์ฐ์ | ๋ณ์ = ๋ณ์ / ํผ์ฐ์ฐ์ | |
๋ณ์ | %= | ํผ์ฐ์ฐ์ | ๋ณ์ = ๋ณ์ % ํผ์ฐ์ฐ์ | |
๋ณ์ | &= | ํผ์ฐ์ฐ์ | ๋ณ์ = ๋ณ์ & ํผ์ฐ์ฐ์ | |
๋ณ์ | |= | ํผ์ฐ์ฐ์ | ๋ณ์ = ๋ณ์ | ํผ์ฐ์ฐ์ | |
๋ณ์ | ^= | ํผ์ฐ์ฐ์ | ๋ณ์ = ๋ณ์ ^ ํผ์ฐ์ฐ์ |
๋์
์ฐ์ฐ์๋ ๋ชจ๋ ์ฐ์ฐ์๋ค ์ค์์ ๊ฐ์ฅ ๋ฎ์ ์ฐ์ฐ ์์๋ฅผ ๊ฐ์ง๊ณ ์๊ธฐ ๋๋ฌธ์ ์ ์ผ ๋ง์ง๋ง์ ์ํ๋๋ค.
๊ทธ๋ฆฌ๊ณ ์ฐ์ฐ์ ์งํ ๋ฐฉํฅ์ด ์ค๋ฅธ์ชฝ์์ ์ผ์ชฝ์ด๋ค.
a = b = c = 5;
์ด ์ฐ์ฐ์์ c = 5, b = c, a = b ์์๋ก ์คํ๋๋ค. ์คํ๋๊ณ ๋ ํ์๋ a, b, c์ ๊ฐ์ด ๋ชจ๋ 5๊ฐ ๋๋ค.
์์ )
public class P124AssignmentOperatorExample {
public static void main(String[] args) {
int result = 0;
//result = result + 10
result += 10;
System.out.println("result=" + result);
//result = result - 5
result -= 5;
System.out.println("result=" + result);
//result = result * 3
result *= 3;
System.out.println("result=" + result);
//result = result / 5
result /= 5;
System.out.println("result=" + result);
//result = result % 3
result %= 3;
System.out.println("result=" + result);
}
}
๊ฒฐ๊ณผ)
result=10
result=5
result=15
result=3
result=0
3) ์ผํญ ์ฐ์ฐ์ p. 125
์ผํญ ์ฐ์ฐ์(?:)๋ 3๊ฐ์ ํผ์ฐ์ฐ์๋ฅผ ํ์๋ก ํ๋ ์ฐ์ฐ์์ด๋ค. ? ์์ ์กฐ๊ฑด์์ ๋ฐ๋ผ ์ฝ๋ก (:) ์๋ค์ ํผ์ฐ์ฐ์๊ฐ ์ ํ๋๋ค๊ณ ํด์ ์กฐ๊ฑด ์ฐ์ฐ์์ด๋ผ๊ณ ๋ ํ๋ค.
์กฐ๊ฑด์(ํผ์ฐ์ฐ์1) ? ๊ฐ ๋๋ ํผ์ฐ์ฐ์(ํผ์ฐ์ฐ์2) : ๊ฐ ๋๋ ํผ์ฐ์ฐ์(ํผ์ฐ์ฐ์3)
x > 10 ? "x๊ฐ์ด ํฝ๋๋ค." : "x๊ฐ์ด ์์ต๋๋ค."
ํผ์ฐ์ฐ์2์ ํผ์ฐ์ฐ์3์๋ ์ฃผ๋ก ๊ฐ์ด ์ค์ง๋ง, ๊ฒฝ์ฐ์ ๋ฐ๋ผ์ ์ฐ์ฐ์์ด ์ฌ ์๋ ์๋ค.
์ผํญ ์ฐ์ฐ์๋ if๋ฌธ์ผ๋ก ๋ณ๊ฒฝํด์ ์์ฑํ ์๋ ์์ง๋ง, ํ ์ค์ ๊ฐ๋จํ๊ฒ ์์ฑํ๋ ค๋ฉด ์ผํญ ์ฐ์ฐ์๋ฅผ ์ฌ์ฉํ๋ ๊ฒ์ด ๋ ํจ์จ์ ์ด๋ค.
์์ )
public class P126ConditionOperationExample {
public static void main(String[] args) {
int score = 85;
//์กฐ๊ฑด์ ? ์ฐธ : ๊ฑฐ์ง
char grade = (score > 90) ? 'A' : ((score > 80) ? 'B' : 'C');
System.out.println(score + "์ ์ " + grade + "๋ฑ๊ธ์
๋๋ค.");
}
}
๊ฒฐ๊ณผ)
85์ ์ B๋ฑ๊ธ์
๋๋ค.
5๊ฐ์ง ํค์๋๋ก ๋๋ด๋ ํต์ฌ ํฌ์ธํธ
1) ์ฆ๊ฐ ์ฐ์ฐ์: ++, --๋ฅผ ๋งํ๋ฉฐ ๋ณ์์ ๊ฐ์ 1์ฉ ์ฆ๊ฐ, 1์ฉ ๊ฐ์์ํจ๋ค.
2) ๋น๊ต ์ฐ์ฐ์: ==, != ๋ฑ์ ๋งํ๋ฉฐ ๊ฐ์ด ๊ฐ์์ง, ๋ค๋ฅธ์ง๋ฅผ ๋น๊ตํ๊ณ boolean ๊ฐ์ ์ฐ์ถํ๋ค.
3) ๋ ผ๋ฆฌ ์ฐ์ฐ์: $$, ||, ! ๋ฑ์ ๋งํ๋ฉฐ ๋ ผ๋ฆฌ๊ณฑ, ๋ ผ๋ฆฌํฉ, ๋ ผ๋ฆฌ ๋ถ์ ์ ์ํํ๊ณ boolean ๊ฐ์ ์ฐ์ถํ๋ค.
4) ๋์ ์ฐ์ฐ์: =, +=, -= ๋ฑ์ ๋งํ๋ฉฐ ์ค๋ฅธ์ชฝ์ ๊ฐ์ ์ผ์ชฝ์ ๋์ ํ๊ฑฐ๋ ์ฐ์ฐ ํ ๋์ ํ๋ค.
5) ์ผํญ ์ฐ์ฐ์: (์กฐ๊ฑด์) ? A : B๋ฅผ ๋งํ๋ฉฐ ์กฐ๊ฑด์ด true์ด๋ฉด A๋ฅผ ์ฐ์ถํ๊ณ , false์ด๋ฉด B๋ฅผ ์ฐ์ถํ๋ค.
Q9) ๋๋ฒ์งธ ์์ 0 ๋๋ 0.0 ์
๋ ฅํ์ ๋ "๊ฒฐ๊ณผ: ๋ฌดํ๋"๊ฐ ์ถ๋ ฅ๋๊ฒ ๋ง๋ ๋ค.
๊ต์ฌ์ ์ ๋ต๊ณผ๋ ๋ค๋ฅด๊ฒ ๋ง๋ค์๋ค.
๊ต์ฌ์ ์ ๋ต์ if (num2 != 0.0)์ผ๋ก ์ฝ๋๊ฐ ์์ํ๋ค.
OR ์ธ ๋ ๋ ๊ฐ์ ์์ () ์ ์ด๋ค.
//double num1 = Double.parseDouble(scanner.nextLine());
double num1 = scanner.nextDouble();
์์ )
public class P129Q9 {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
System.out.println("์ฒซ ๋ฒ์งธ ์: ");
//double num1 = Double.parseDouble(scanner.nextLine()); ์๋์ฒ๋ผ ๊ฐ๋ฅํ๋ค.
double num1 = scanner.nextDouble();
System.out.println("์ฒซ ๋ฒ์งธ ์: ");
//double num2 = Double.parseDouble(scanner.nextLine());
double num2 = scanner.nextDouble();
System.out.println("-------------------------");
if (num2 == 0.0 || num2 == 0) { //if (num2 != 0.0) ๊ต์ฌ์ ์ ๋ต
System.out.println("๊ฒฐ๊ณผ: ๋ฌดํ๋"); //System.out.println("๊ฒฐ๊ณผ: "+(num1/num2));
}
else {
System.out.println("๊ฒฐ๊ณผ: "+(num1/num2)); //System.out.println("๊ฒฐ๊ณผ: ๋ฌดํ๋");
}
}
}
๊ฒฐ๊ณผ)
์ฒซ ๋ฒ์งธ ์:
10
์ฒซ ๋ฒ์งธ ์:
0
-------------------------
๊ฒฐ๊ณผ: ๋ฌดํ๋
Q10) ๋ฐ์ง๋ฆ์ด 10์ธ ์์ ๋์ด๋ฅผ ๊ตฌํ๋ผ.
๊ต์ฌ ์ ๋ต์ Double.parseDouble(var2 + "." + var3) ๋์ ์
๋ด๊ฐ ์ด ๋ฐฉ๋ฒ์ผ๋ก๋ ๊ฐ๋ฅํ๋ค. p.130
์์ )
public class P130Q10 {
public static void main(String[] args) {
int var1 = 10;
int var2 = 3;
int var3 = 14;
//double var4 = var1 * var1 * Double.parseDouble(var2 + "." + var3); //๊ต์ฌ์ ์ ๋ต
double var4 = var1 * var1 * (var2 + ((double)var3/100));
System.out.println("์์ ๋์ด: " + var4);
}
}
๊ฒฐ๊ณผ)
์์ ๋์ด: 314.0