1. ์กฐ๊ฑด ์ฐ์ฐ์ ?:
๐ก ์กฐ๊ฑด์, ์ 1, ์2 ๋ชจ๋ ์ธ ๊ฐ์ ํผ์ฐ์ฐ์๋ฅผ ํ์๋ก ํ๋ ์ผํญ ์ฐ์ฐ์
์กฐ๊ฑด์์ ํ๊ฐ ๊ฒฐ๊ณผ๊ฐ true์ด๋ฉด ์1, false์ด๋ฉด ์ 2๊ฐ ์ฐ์ฐ ๊ฒฐ๊ณผ๊ฐ ๋๋ค.
์์
์ค์ฒฉ๋ ์กฐ๊ฑด์ฐ์ฐ์
์กฐ๊ฑด ์ฐ์ฐ์์ ๊ฒฐํฉ๊ท์น ์ค๋ฅธ์ชฝ → ์ผ์ชฝ
ex) x = 3์ธ ๊ฒฝ์ฐ
result = x > 0 ? 1 : (x == 0 ? 0 : -1)
-> result = x > 0 ? 1 : (3 == 0 ? 0 : -1)
-> result = x > 0 ? 1 : (false ? 0 : -1)
-> result = x > 0 ? 1 : -1
-> result = 3 > 0 ? 1 : -1
-> result = true ? 1 : -1
-> result = 1
์ฐ์ ๋ณํ
์ 1๊ณผ ์ 2, ์ด ๋ ํผ์ฐ์ฐ์์ ํ์ ์ด ๋ค๋ฅธ ๊ฒฝ์ฐ, ์ฐ์ ๋ณํ ๋ฐ์
x = x + (mod < 0.5 ? 0 : 0.5); // 0๊ณผ 0.5์ ํ์
์ด ๋ค๋ฅด๋ค.
—> x = x + (mod < 0.5 ? 0.0 : 0.5) // 0์ด 0.0์ผ๋ก ๋ณํ๋์๋ค.
2. ๋์ ์ฐ์ฐ = op=
๐ก ๋ณ์์ ๊ฐ์ ์ ์ฅ ๊ณต๊ฐ์ ๊ฐ ๋๋ ์์์ ์ฐ์ฐ ๊ฒฐ๊ณผ๋ฅผ ์ ์ฅํ๋ ๋ฐ ์ฌ์ฉํ๋ค.
์ฐ์ฐ์๋ค ์ค์์ ๊ฐ์ฅ ๋ฎ์ ์ฐ์ ์์ → ์ ์ผ ๋์ค์ ์ํ๋๋ค.
๊ฒฐํฉ ๊ท์น: ์ค๋ฅธ์ชฝ → ์ผ์ชฝ
lvalue์ rvalue
์ผ์ชฝ ํผ์ฐ์ฐ์: lvalue(left value)
์ค๋ฅธ์ชฝ ํผ์ฐ์ฐ์: rvalue(right value)
rvalue๋ ๋ณ์๋ฟ๋ง ์๋๋ผ ์์ด๋ ์์ ๋ฑ์ด ๋ชจ๋ ๊ฐ๋ฅ
lvalue๋ ๋ฐ๋์ ๋ณ์์ฒ๋ผ ๊ฐ์ ๋ณ๊ฒฝํ ์ ์๋ ๊ฒ์ด์ด์ผ ํ๋ค.
int i = 0;
3 = i + 3; // ์๋ฌ. lvalue๊ฐ ๊ฐ์ ์ ์ฅํ ์๋ ๊ณต๊ฐ์ด ์๋๋ค.
i + 3 = i; // ์๋ฌ. lvalue์ ์ฐ์ฐ ๊ฒฐ๊ณผ๋ ๋ฆฌํฐ๋ด (i + 3 -> 3)
final int MAX = 3; // ๋ณ์ ์์ ํค์๋ final์ ๋ถ์ด๋ฉด ์์๊ฐ ๋๋ค.
MAX = 10; // ์๋ฌ. ์์(MAX)์ ์๋ก์ด ๊ฐ์ ์ ์ฅํ ์ ์๋ค.
๋ณตํฉ ๋์ ์ฐ์ฐ์
๐ก๋ค๋ฅธ ์ฐ์ฐ์(op)์ ๊ฒฐํฉํ์ฌ op= ์ ๊ฐ์ ๋ฐฉ์์ผ๋ก ์ฌ์ฉ
๋ง์ง๋ง ์ค ์ ์!
i *= 10 + j;
i = i * 10 + j; // No
i = i * (10 + j) // ์ ๋ต
Reference
์๋ฐ์ ์ ์ - ๋จ๊ถ ์ฑ
'๐ Book > ์๋ฐ์ ์ ์' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
4-2์ฅ ๋ฐ๋ณต๋ฌธ (0) | 2023.03.29 |
---|---|
4-1์ฅ ์กฐ๊ฑด๋ฌธ (0) | 2023.03.29 |
3-5์ฅ ๋ ผ๋ฆฌ ์ฐ์ฐ์ (1) | 2023.03.14 |
3-4์ฅ ๋น๊ต ์ฐ์ฐ์ (0) | 2023.03.14 |
3-3์ฅ ์ฐ์ ์ฐ์ฐ์ (0) | 2023.03.14 |
๋๊ธ