์๋ฐ ์ฐ์ฐ์
์ฐ์ | +, -, *, /, % | ์ดํญ | ์ซ์ | ์ฌ์น์ฐ์ฐ๊ณผ ๋๋จธ์ง |
๋ถํธ | +, - | ๋จํญ | ์ซ์ | ์์์ ์์ ํ์ |
๋ฌธ์์ด | + | ์ดํญ | ๋ฌธ์์ด | ๋ ๋ฌธ์์ด์ ์ฐ๊ฒฐ |
๋์ | =, +=, -=, *=, /=, %= | ์ดํญ | ๋ค์ | ์ฐ๋ณ์ ๊ฐ์ ์ข๋ณ์ ๋์ |
์ฆ๊ฐ | ++, — | ๋จํญ | ์ซ์ | 1๋งํผ ์ฆ๊ฐ/๊ฐ์ |
๋น๊ต | ==, ≠, <, >, ≥, ≤, instanceof | ์ดํญ | boolean | ๊ฐ์ ๋น๊ต |
๋ ผ๋ฆฌ | !, &, | , &&, | ||
์กฐ๊ฑด | (์กฐ๊ฑด์)?A:B | ์ผํญ | ๋ค์ | ์กฐ๊ฑด์์ ๋ฐ๋ผ A ๋๋ B ์ค ์ ํ |
์ดํญ ์ฐ์ฐ์
์ดํญ ์ฐ์ฐ์๋ ํผ์ฐ์ฐ์๊ฐ ๋ ๊ฐ์ธ ์ฐ์ฐ์
์ฐ์ ์ฐ์ฐ์
์ฌ์น์ฐ์ฐ์ ๋ค๋ฃจ๋ ์ฐ์ฐ์๋ก ๊ฐ์ฅ ๊ธฐ๋ณธ์ ์ด๋ฉด์ ๊ฐ์ฅ ๋ง์ด ์ฌ์ฉ๋๋ ์ฐ์ฐ์ ์ค ํ๋
int num1 = 10, num2 = 40;
System.out.println("+ ์ฐ์ฐ์ : " + (num1 + num2));
System.out.println("- ์ฐ์ฐ์ : " + (num1 - num2));
System.out.println("* ์ฐ์ฐ์ : " + (num1 * num2));
System.out.println("/ ์ฐ์ฐ์ : " + (num1 / num2)); //๋ชซ์ ๊ตฌํ ๊ฒฝ์ฐ
System.out.println("/ ์ฐ์ฐ์ : " + ((double)num1 / num2)); //๊ฒฐ๊ณผ๊ฐ์ ๊ตฌํ ๊ฒฝ์ฐ, ํ๋ณํ
System.out.println("% ์ฐ์ฐ์ : " + (num1 % num2));
* Nan๊ณผ Infinity ์ฐ์ฐ
/๋๋ % ์ฐ์ฐ์๋ฅผ ์ฌ์ฉ ํ ๋๋ ์ฃผ์
์ข์ธก ํผ์ฐ์ฐ์๊ฐ ์ ์ ํ์ ์ธ ๊ฒฝ์ฐ ๋๋๋ ์์ธ ์ฐ์ธก ์ฐ์ฐ์๋ 0์ ์ฌ์ฉํ ์ ์์.
5 / 0.0 → Infinity (๋ฌดํ๋)
5 % 0.0 → NaN (Not a Number)
๋์ ์ฐ์ฐ์
๋์ ์ฐ์ฐ์๋ ๋ณ์์ ๊ฐ์ ๋์ ํ ๋ ์ฌ์ฉํ๋ ์ดํญ์ฐ์ฐ์์ด๋ฉฐ, ํผ์ฐ์ฐ์๋ค์ ๊ฒฐํฉ ๋ฐฉํฅ์ ์ค๋ฅธ์ชฝ์์ ์ผ์ชฝ
- ๊ฐ์ ๋์ ํ๋ ์ฐ์ฐ์ (= ๊ฐ๋ค๋ ์๋ฏธ๊ฐ ์๋๊ณ ๋์ ํ๋ค๋ ์๋ฏธ์ ์ ์ ํด์ผ ํจ)
- ๋์ ์ฐ์ฐ์์ ๋ค๋ฅธ ์ฐ์ฐ์๋ฅผ ๊ฒฐํฉํ์ฌ ๋ค์ํ ๋ณตํฉ ๋์ ์ฐ์ฐ์๋ฅผ ์ ๊ณต
- ๊ฐ์ ๋์ ์ ํญ์ ๋ค์์ ์์ผ๋ก ๋์ ํ๋ค.
์ฆ๊ฐ ์ฐ์ฐ์
++ -- : ๊ฐ์ 1์ฆ๊ฐ ํ๊ฑฐ๋ ๊ฐ์ ์ํค๋ ์ฐ์ฐ์
์์ ๋ถ์ผ๋ฉด : ์ฆ๊ฐ(๊ฐ์)์ํค๊ณ ๋์
, ๋ค์ ๋ถ์ผ๋ฉด : ๋์
ํ ์ฆ๊ฐ(๊ฐ์)
int num4 = 10;
System.out.println(num4++);
System.out.println(num4);
System.out.println(++num4);
๋น๊ต์ฐ์ฐ์
์ผ์ชฝ์ ํผ์ฐ์ฐ์์ ์ค๋ฅธ์ชฝ์ ํผ์ฐ์ฐ์๋ฅผ ๋น๊ตํ์ฌ, ์ด๋ ์ชฝ์ด ๋ ํฐ์ง, ์์์ง, ๋๋ ์๋ก ๊ฐ์์ง๋ฅผ ํ๋จ
์ดํญ ์ฐ์ฐ์์ด๋ฉฐ, ํผ์ฐ์ฐ์๋ค์ ๊ฒฐํฉ ๋ฐฉํฅ์ ์ผ์ชฝ์์ ์ค๋ฅธ์ชฝ์ ๋๋ค.
int x = 10, y = 20;
System.out.println(x > y); //false
System.out.println(x >= y);
System.out.println(x < y); //true
System.out.println(x <= y);
System.out.println(x == y);
System.out.println(x != y);
๋ ผ๋ฆฌ์ฐ์ฐ์
- && : A์ B๊ฐ ๋ชจ๋ ๋ง์กฑํด์ผ ์ฐธ
- || : OR ์ฐ์ฐ์์ด๋ฉฐ A์ด๊ฑฐ๋ B, ์ฆ A์ B์ค ํ๊ฐ๋ง ๋ง์กฑํ๋ฉด ์ฐธ์ด ๋๋ค.
- ! : NOT์ฐ์ฐ์์ด๋ฉฐ, ํ์ฌ์ ์กฐ๊ฑด์ ๋ถ์ ํ๋ฏ๋ก ๋ฐ๋๊ฐ ๋๋ค.
- ๋ ผ๋ฆฌ์ฐ์ฐ์๋ง ์ฐ์ด๋ ๊ฒฝ์ฐ๋ ์์ผ๋ฉฐ, ๋น๊ต ์ฐ์ฐ์์ ํจ๊ป ์ฐ์ธ๋ค.
int num5 = 10, num6 = 20;
boolean rst1, rst2, rst3;
rst1 = (num5 > num6) && (num5 > 5);
rst2 = (num5 > num6) || (num5 > 5);
rst3 = !((num5 > num6) || (num5 > 5));
System.out.println(rst1);
System.out.println(rst2);
System.out.println(rst3);
์ผํญ ์ฐ์ฐ์
ํผ์ฐ์ฐ์๊ฐ 3๊ฐ..
if ~ else ๋ฌธ ๋ณด๋ค ๊ฐ๊ฒฐํจ!
Scanner sc = new Scanner(System.in);
System.out.print("๋์ด๋ฅผ ์
๋ ฅํ์ธ์. : ");
int age = sc.nextInt();
boolean isAdult = (age > 19) ? true : false;
System.out.println(isAdult);
๋ฌธ์์ด ๊ฒฐํฉ ์ฐ์ฐ์
๋ฌธ์์ด ๊ฒฐํฉ ์ฐ์ฐ์์ธ +๋ ๋ฌธ์์ด์ ์๋ก ๊ฒฐํฉํ๋ ์ฐ์ฐ์ ์ ๋๋ค.
ํผ์ฐ์ฐ์ ์ค ํ์ชฝ์ด ๋ฌธ์์ด์ด๋ฉด + ์ฐ์ฐ์๋ ๋ฌธ์์ด์ ๊ฒฐํฉ ์ฐ์ฐ์๋ก ์ฌ์ฉ ๋ฉ๋๋ค.
๋นํธ์ฐ์ฐ์
- ๋นํธ ๋จ์์ ์ฐ์ฐ์ ์๋ฏธ
- 1 Byte๋ 8๊ฐ์ bit ๊ตฌ์ฑ (1bit๋ ์ ๊ธฐ์ ์ธ ์ ํธ์ ๋ฐ๋ผ ํ์ํ ์ ์๋ 0๊ณผ 1์ ์๋ฏธ)
- ํ๋์จ์ด๋ฅผ ์ ์ดํ๊ฑฐ๋ ์์์ฒ๋ฆฌ, ์์ฑ์ฒ๋ฆฌ๋ฑ์ ํ์ฉ ๋ ์ ์๋ค.
- & (๋นํธ AND) : ๋๊ฐ์ ๋นํธ๋ฅผ ๋น๊ตํด ๋ชจ๋ 1์ด๋ฉด 1
- |(๋นํธ OR) : ๋๊ฐ์ ๋นํธ ์ค ํ๊ฐ๋ง 1์ด๋ฉด 1
- ^(XOR) : ๋๊ฐ์ ๋นํธ์ ๊ฐ์ด ๊ฐ์ผ๋ฉด 0, ๋ค๋ฅด๋ฉด 1
- ~(๋นํธ NOT) : 0์ด๋ฉด 1, 1์ด๋ฉด 0์ผ๋ก ๋นํธ๋ฅผ ๋ฐ์ ์ํจ๋ค.
- << (์ผ์ชฝ์ผ๋ก ์ด๋) : ์ง์ ๋ ์๋งํผ ๋นํธ๋ฅผ ์ผ์ชฝ์ผ๋ก ์ด๋
- (์ค๋ฅธ์ชฝ์ผ๋ก ์ด๋) : ์ง์ ๋ ์๋งํผ ๋นํธ๋ฅผ ์ค๋ฅธ์ชฝ์ผ๋ก ์ด๋
int num1 = 10; // 00001010
int num2 = 12; // 00001100
System.out.println(num1 & num2); // 1000 == 8
System.out.println(num1 | num2); // 1110 == 14
System.out.println(num1 ^ num2); // 0110 == 6
System.out.println(~num1); // -11
System.out.println(num1 << 1); // 00010100 == 20
System.out.println(num1 >> 1); // 00000101 == 5