์ฐ์ฐ์(Operator) ๋?
์ด๋ ํ ๊ธฐ๋ฅ์ ์ํํ๋ ๊ธฐํธ ( +, - ,* ,/ ๋ฑ )
ํผ์ฐ์ฐ์(Operand) ๋?
์ฐ์ฐ์์ ์์ ๋์ ( ๋ณ์, ์์, ๋ฆฌํฐ๋ด, ์์ )
์ฐ์ฐ์(Operator)์ ์ข ๋ฅ
์ข ๋ฅ | ์ฐ์ฐ์ | ์ค๋ช |
์ฐ์ ์ฐ์ฐ์ | + - * / % << >> | ์ฌ์น ์ฐ์ฐ๊ณผ ๋๋จธ์ง ์ฐ์ฐ(%) |
๋น๊ต ์ฐ์ฐ์ | > < >= <= == != | ํฌ๊ณ ์์๊ณผ ๊ฐ๊ณ ๋ค๋ฆ์ ๋น๊ต |
๋ ผ๋ฆฌ ์ฐ์ฐ์ | && || ! & | ^ ~ | '๊ทธ๋ฆฌ๊ณ (AND)'์ '๋๋(OR)'์ผ๋ก ์กฐ๊ฑด์ ์ฐ๊ฒฐ |
๋์ ์ฐ์ฐ์ | = | ์ฐ๋ณ์ ๊ฐ์ ์ข๋ณ์ ์ ์ฅ |
๊ธฐ ํ | (type) ? : instanceof | ํ๋ณํ ์ฐ์ฐ์. ์ผํญ ์ฐ์ฐ์. instanceof์ฐ์ฐ์ |
์ฐ์ฐ์(Operator)์ ์ฐ์ ์์
ํ๋์ ์(expression)์ ์ฐ์ฐ์๊ฐ ๋ ์ด์ ์์ ๋, ์ด๋ค ์ฐ์ฐ์ ๋จผ์ ์ํํ ์ง๋ฅผ ์๋ ๊ฒฐ์ ํ๋ ๊ฒ
1. ์ฐ์ > ๋น๊ต > ๋ ผ๋ฆฌ > ๋์ . ๋์ ์ ์ ์ผ ๋ง์ง๋ง์ ์ํ๋๋ค.
2. ๋จํญ(1) > ์ดํญ(2) > ์ผํญ(3). ๋จํญ ์ฐ์ ์์๊ฐ ์ดํญ ์ฐ์ฐ์๋ณด๋ค ๋๋ค.
3. ๋จํญ ์ฐ์ฐ์์ ๋์ ์ฐ์ฐ์๋ฅผ ์ ์ธํ ๋ชจ๋ ์ฐ์ฐ์ ์งํ๋ฐฉํฅ์ ์ผ์ชฝ์์ ์ค๋ฅธ์ชฝ์ด๋ค.
์ฆ๊ฐ ์ฐ์ฐ์
์ฆ๊ฐ ์ฐ์ฐ์(++) = ํผ์ฐ์ฐ์์ ๊ฐ์ 1 ์ฆ๊ฐ์ํจ๋ค.
๊ฐ์ ์ฐ์ฐ์(--) = ํผ์ฐ์ฐ์์ ๊ฐ์ 1 ๊ฐ์์ํจ๋ค.
ํ์ | ์ค๋ช | ์ฌ์ฉ์ |
์ ์ํ | ๊ฐ์ด ์ฐธ์กฐ๋๊ธฐ ์ ์ ์ฆ๊ฐ์ํจ๋ค. | j = ++i; |
ํ์ํ | ๊ฐ์ด ์ฐธ์กฐ๋ ํ์ ์ฆ๊ฐ์ํจ๋ค. | j = i++; |
์ฆ๊ฐ ์ฐ์ฐ์๊ฐ ๋ ๋ฆฝ์ ์ผ๋ก ์ฌ์ฉ๋ ๊ฒฝ์ฐ, ์ ์ํ๊ณผ ํ์ํ์ ์ฐจ์ด๊ฐ ์๋ค.
๋ถํธ ์ฐ์ฐ์
'-'๋ ํผ์ฐ์ฐ์์ ๋ถํธ๋ฅผ ๋ฐ๋๋ก ๋ณ๊ฒฝ
'+'๋ ์๋ฌด๋ฐ ์ผ๋ ํ์ง ์๋๋ค.(์ค์ ์ฌ์ฉX)
ํ ๋ณํ ์ฐ์ฐ์
ํ ๋ณํ์ด๋, ๋ณ์ ๋๋ ์์์ ํ์ ์ ๋ค๋ฅธ ํ์ ์ผ๋ก ๋ณํํ๋ ๊ฒ
(ํ์
)ํผ์ฐ์ฐ์
double d =85.4;
int score = (int)d;
์ ํ๋ณํ ๊ณผ์ ์ ๋ค์๊ณผ ๊ฐ๋ค.
int score = (int)85.4;
int score = 85;
์๋ ํ๋ณํ
์ปดํ์ผ๋ฌ๊ฐ ์๋์ผ๋ก ํ ๋ณํ์ ํด์ฃผ๋ ๊ณผ์ .
๊ธฐ์กด์ ๊ฐ์ ์ต๋ํ ๋ณด์กดํ ์ ์๋ ํ์ ์ผ๋ก ์๋ ํ ๋ณํ๋๋ค.
1.byte → int
byte b = 10;
int i = b; (์๋ต๊ฐ๋ฅ)
byte์์ int ํ์
์ผ๋ก ํ๋ณํ์ ๊ฐ์์ค์ด ๋ฐ์ํ์ง ์๋๋ค.
intํ์
์ด byteํ์
๋ณด๋ค ์ ์ฅํ ์์๋ ๊ฐ์ด ๋ ๋ง๊ธฐ ๋๋ฌธ์ด๋ค.
2. int → byte
int i2 = 300;
byte b2 = (byte)i2; (์๋ต๋ถ๊ฐ)
int์์ byteํ์
์ผ๋ก ํ๋ณํ์ ๊ฐ์์ค์ด ๋ฐ์ํ๋ค.
๋ ํฐ ๊ฐ์ ํ์
์ด ์์ ํ์
์ผ๋ก ๋ณํํ๋ค๋ณด๋ ์๋์ผ๋ก ํ๋ณํ์ ํด์ผํ๋ฉฐ,
๋ณํ๊ณผ์ ์์ 300์ด๋ผ๋ ๊ฐ์ 44๋ก ๋ณํ๊ฒ๋๋ค.
๋ฐ๋ผ์ ํฐ ๊ฐ์ ์์ ๊ฐ์ผ๋ก ํ ๋ณํํ ๋๋ง ์๋ํ ๋ณํ์ ํด์ฃผ๋ฉด ๋๋ค.
์์ ๊ฐ์์ ํฐ ๊ฐ์ผ๋ก ํ ๋ณํ ์ ์๋์ผ๋ก ํ ๋ณํ์ด ๋๋ค.
์ฐ์ ๋ณํ
์ฐ์ฐ ์ ์ ํผ์ฐ์ฐ์์ ํ์ ์ ์ผ์น์ํค๋ ๊ฒ
โ ๋ ํผ์ฐ์ฐ์์ ํ์ ์ ๊ฐ๊ฒ ์ผ์น์ํจ๋ค. (๋ณด๋ค ํฐ ํ์ ์ผ๋ก ์ผ์น)
โก ํผ์ฐ์ฐ์์ ํ์ ์ด int๋ณด๋ค ์์ ํ์ ์ด๋ฉด int๋ก ๋ณํ๋๋ค. (byte , char , short)
๋ฐ์ฌ๋ฆผ ๋ฉ์๋ - Math.round()
์ค์๋ฅผ ์์์ ์ฒซ ์งธ์๋ฆฌ์์ ๋ฐ์ฌ๋ฆผํ ์ ์๋ฅผ ๋ฐํ
๋๋จธ์ง ์ฐ์ฐ์ - %
์ค๋ฅธ์ชฝ ํผ์ฐ์ฐ์๋ก ๋๋๊ณ ๋จ์ ๋๋จธ์ง๋ฅผ ๋ฐํ
๋๋๋ ํผ์ฐ์ฐ์๋ 0์ด ์๋ ์ ์๋ง ํ์ฉ(๋ถํธ๋ ๋ฌด์๋จ)
ํ์,์ง์๋ฑ ๋ฐฐ์๊ฒ์ฌ์ ์ฃผ๋ก ์ฌ์ฉํ๋ค.
int x = 10;
int y = 8;
x / y = 1
x % y = 2
๋น๊ต ์ฐ์ฐ์
๋ ํผ์ฐ์ฐ์๋ฅผ ๋น๊ตํด์ true(์ฐธ) ๋๋ false(๊ฑฐ์ง)์ ๋ฐํ
๋น๊ต์ฐ์ฐ์ | ์ฐ์ฐ๊ฒฐ๊ณผ |
> | ์ข๋ณ ๊ฐ์ด ํฌ๋ฉด, true ์๋๋ฉด false |
< | ์ข๋ณ ๊ฐ์ด ์์ผ๋ฉด, true ์๋๋ฉด false |
>= | ์ข๋ณ ๊ฐ์ด ํฌ๊ฑฐ๋ ๊ฐ์ผ๋ฉด, true ์๋๋ฉด false |
<= | ์ข๋ณ ๊ฐ์ด ์๊ฑฐ๋ ๊ฐ์ผ๋ฉด, true ์๋๋ฉด false |
๋ถ๋ฑํธ( < , > )๊ฐ ๋ฑํธ( = ) ๋ณด๋ค ๋จผ์ ์์ด์ผ๋งํ๋ค.
== | ๋ ๊ฐ์ด ๊ฐ์ผ๋ฉด, true ์๋๋ฉด false |
!= | ๋ ๊ฐ์ด ๋ค๋ฅด๋ฉด, true ์๋๋ฉด false |
๋ง์ฝ, 'A' > 'B' ์ด๋ ๊ฒ charํ์ ์ ๋น๊ตํ๋ค๋ฉด, int๋ณด๋ค ์์ ํ์ ์์ผ๋ก int๋ก ๋ณํ๋๋ค.
๊ทธ๋ ๊ธฐ์ 65 > 66 ์ผ๋ก ๋ณํ๋์ด false๊ฐ ์ถ๋ ฅ๋๋ค.
๋ฌธ์์ด์ ๋น๊ต - equals()
๋ฌธ์์ด ๋น๊ต์๋ ==๋์ equals()๋ฅผ ์ฌ์ฉํด์ผ ํ๋ค.
๋ ผ๋ฆฌ ์ฐ์ฐ์ - && ||
|| (OR๊ฒฐํฉ) : ํผ์ฐ์ฐ์ ์ค ์ด๋ ํ ์ชฝ์ด true์ด๋ฉด true๋ฅผ ๊ฒฐ๊ณผ๋ก ์ป๋๋ค.
&& (AND๊ฒฐํฉ) : ํผ์ฐ์ฐ์ ์์ชฝ ๋ชจ๋ true์ด์ด์ผ true๋ฅผ ๊ฒฐ๊ณผ๋ก ์ป๋๋ค.
๋๊ฐ ๊ฐ์ด ์ฌ์ฉํด์ผํ๋ ๊ฒฝ์ฐ์๋ OR์ ()๊ดํธ๋ฅผ ์ณ์ผํ๋ค.
&&(AND)๊ฐ ์ฐ์ ์์๊ฐ ๋๊ธฐ ๋๋ฌธ์ด๋ค.
๋ ผ๋ฆฌ ๋ถ์ ์ฐ์ฐ์ - !
true๋ฅผ false๋ก , false๋ true๋ก ๋ฐ๊พผ๋ค.
x | !x |
true | false |
false | true |
์กฐ๊ฑด ์ฐ์ฐ์ - ? :
์กฐ๊ฑด์์ ๊ฒฐ๊ณผ์ ๋ฐ๋ผ ์ฐ์ฐ๊ฒฐ๊ณผ๋ฅผ ๋ฌ๋ฆฌํ๋ค.
result = (x > y) ? x : y;
x๊ฐ ํฌ๋ฉด x์ ๊ฐ์ด result์ ํ ๋น๋๊ฒ ๋๋ค.
์ด ์ฐ์ฐ์๋ฅผ ์ฌ์ฉํ๊ฒ๋๋ฉด ๊ธด if๋ฌธ์ ์ฌ์ฉํ์ง์๊ณ result๊ฐ์ ํ ๋นํ ์์๋ค.
๋์ ์ฐ์ฐ์
์ค๋ฅธ์ชฝ ํผ์ฐ์ฐ์๋ฅผ ์ผ์ชฝ ํผ์ฐ์ฐ์์ ์ ์ฅ ํ ์ ์ฅ๋ ๊ฐ์ ๋ฐํํ๋ค.
int x ;
System.out.println(x = 5);
System.out.println(x);
lvalue - ๋์ ์ฐ์ฐ์์ ์ผ์ชฝ ํผ์ฐ์ฐ์ (left value) ์ ์ฅ๊ณต๊ฐ(๋ณ์ , ๋ฐฐ์ด)
rvalue - ๋์ ์ฐ์ฐ์์ ์ค๋ฅธ์ชฝ ํผ์ฐ์ฐ์ (right value)
๋ณตํฉ ๋์ ์ฐ์ฐ์
๋์ ์ฐ์ฐ์์ ๋ค๋ฅธ ์ฐ์ฐ์๋ฅผ ํ๋๋ก ์ถ์ฝ
์์ ํ๋ฅผ ์์๋๋๋ก ํ์.
'๐จ๏ธ Language > Java' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[Java]๋ฐฐ์ด (0) | 2022.08.25 |
---|---|
[Java]์กฐ๊ฑด๋ฌธ(if,switch)๊ณผ ๋ฐ๋ณต๋ฌธ(for,while) (0) | 2022.08.23 |
[Java]์ ์ํ์ ์ค๋ฒํ๋ก์ฐ(Overflow) (0) | 2022.08.20 |
[Java]ํ๋ฉด์์ ์ ๋ ฅ๋ฐ๊ธฐ Scanner (0) | 2022.08.20 |
[Java]printf()๋ฅผ ์ด์ฉํ ์ถ๋ ฅ (0) | 2022.08.20 |