๐ง์ฐ์ฐ์๋?
x + y
์์ x + y ๋ผ๋ ์ฐ์ฐ์์ด ์๋ค.
์ฌ๊ธฐ์ ์ฐ์ฐ์๋ ์ฐ์ฐ์ ์ฌ์ฉ๋๋ ํ์๋ ๊ธฐํธ๋ก + ๋ฅผ ๋งํ๋ค.
์ฐ์ฐ๋๋ ๋ฐ์ดํฐ์ธ x ์ y๋ ํผ์ฐ์ฐ์๋ผ๊ณ ํ๋ค.
์ฐ์ฐ์์ ์ข ๋ฅ๋ ์๋์ ๊ฐ์ผ๋ฉฐ, ์ฐ์ฐ ์ ์ฐ์ ์์์ ๋ฐ๋ผ ์ ๋ฆฌ๋์ด ์์.
*ํผ๊ณต์ ๊ต์ฌ ์ฐธ์กฐ
์ฐ์ฐ์ | ์ฐ์ฐ ๋ฐฉํฅ | ์ฐ์ ์์ |
์ฆ๊ฐ(++), ๋ถํธ(+, -), ๋ ผ๋ฆฌ(!) | ← | ๋์ ↑ โฃ โฃ โฃ โฃ โฃ โฃ โฃ โฃ โฃ โฃ โฃ โฃ โฃ โฃ โฃ โฃ ↓ ๋ฎ์ |
์ฐ์ (*, /, %) | → | |
์ฐ์ (+ , - ) | → | |
๋น๊ต( <, >, <=, >=, instanceof) | → | |
๋น๊ต(==, !=) | → | |
๋ ผ๋ฆฌ(&) | → | |
๋ ผ๋ฆฌ(^) | → | |
๋ ผ๋ฆฌ( ¦ ) | → | |
๋ ผ๋ฆฌ(&&) | → | |
๋ ผ๋ฆฌ( ¦ ¦ ) | → | |
์กฐ๊ฑด(?:) | → | |
๋์ (=, +=, -=, *=, /=, %=) | ← |
์์ ๋์จ ์ฐ์ฐ์๋ค์ ํผ์ฐ์ฐ์ ๊ฐ์์ ๋ฐ๋ผ ๋จํญ, ์ดํญ, ์ผํญ ์ฐ์ฐ์๋ก ๋ถ๋ฅํ ์ ์๋ค.
๐ง๋จํญ ์ฐ์ฐ์
ํผ์ฐ์ฐ์๊ฐ 1๊ฐ์ด๋ฉฐ, ๋ถํธ ์ฐ์ฐ์์ ์ฆ๊ฐ ์ฐ์ฐ์, ๋ ผ๋ฆฌ ๋ถ์ ์ฐ์ฐ์(!)๊ฐ ์ฌ๊ธฐ์ ํด๋น๋๋ค.
๐ฅ๏ธ๋จํญ์ฐ์ฐ์ ์์
package basic;
//์ฐ์ฐ์(Operator) : ๊ณ์ฐ์ ๋ชฉ์ ์ผ๋ก ์ ๊ณต๋๋ ๊ธฐํธ ๋๋ ํค์๋
// => ํผ์ฐ์ฐ์ : ์ฐ์ฐ์์ ์ํด ๊ณ์ฐ๋๋ ๊ฐ์ ์๋ฏธ
// => ๋จํญ์ฐ์ฐ์(ํผ์ฐ์ฐ์ : 1๊ฐ), ์ดํญ์ฐ์ฐ์(ํผ์ฐ์ฐ์ : 2๊ฐ), ์ผํญ์ฐ์ฐ์(ํผ์ฐ์ฐ์ : 3๊ฐ)
public class OperatorApp {
public static void main(String[] args) {
//์ต์ฐ์ ์ฐ์ฐ์ : ๋ฌด์กฐ๊ฑด ๊ฐ์ฅ ๋จผ์ ์ฐ์ฐ ์ฒ๋ฆฌ๋๋ ์ฐ์ฐ์
// => () : ์ฐ์ ์ฒ๋ฆฌ ์ฐ์ฐ์, []: ๋ฐฐ์ด ์ฐ์ฐ์, ์ฐ์ฐ์ : ๊ฐ์ฒด ์ฐ์ฐ์
System.out.println("10 + 20 * 3 = "+(10+20*3));
System.out.println("10 + 20 * 3 = "+((10+20)*3));
System.out.println("==================================================");
//๋จํญ ์ฐ์ฐ์ : ํผ์ฐ์ฐ์์ ๊ฐฏ์๊ฐ 1๊ฐ์ธ ์ฐ์ฐ์
// => + : ์์ํ ์ฐ์ฐ์ - ํผ์ฐ์ฐ์์ +1์ ๊ณฑํ ๊ฒฐ๊ณผ๊ฐ์ ์ ๊ณตํ๋ ์ฐ์ฐ์
// => - : ์์ํ ์ฐ์ฐ์(2์ ๋ณด์ ์ฐ์ฐ์) - ํผ์ฐ์ฐ์์ -1์ ๊ณฑํ ๊ฒฐ๊ณผ๊ฐ์ ์ ๊ณตํ๋ ์ฐ์ฐ์
// => ~ : Bit Not ์ฐ์ฐ์(1์ ๋ณด์ ์ฐ์ฐ์) - ํผ์ฐ์ฐ์(์ ์๊ฐ)๋ก ํํ๋ Bit ๋จ์์ ๊ฐ์ ๋ฐ๋๋ก ๋ณํํ์ฌ ์ ๊ณตํ๋ ์ฐ์ฐ์
// => ! : Not ์ฐ์ฐ์ - false ์ true ๋ฅผ ๋ฐ๋๋ก ๋ณํํ์ฌ ์ ๊ณตํ๋ ์ฐ์ฐ์
// => ++ : 1 ์ฆ๊ฐ ์ฐ์ฐ์ - ํผ์ฐ์ฐ์๋ฅผ ๋ฐ๋์ ๋ณ์๋ก ์ฌ์ฉํ๋ฉฐ ๋ณ์์ ๊ฐ์ 1 ์ฆ๊ฐํ์ฌ ์ ์ฅํ๋ ์ฐ์ฐ์
// => -- : 1 ๊ฐ์ ์ฐ์ฐ์ - ํผ์ฐ์ฐ์๋ฅผ ๋ฐ๋์ ๋ณ์๋ก ์ฌ์ฉํ๋ฉฐ ๋ณ์์ ๊ฐ์ 1 ๊ฐ์ํ์ฌ ์ ์ฅํ๋ ์ฐ์ฐ์
// => (์๋ฃํ) : ๊ฐ์ ํ๋ณํ ์ฐ์ฐ์ - ํผ์ฐ์ฐ์์ ์๋ฃํ์ ์ผ์์ ์ผ๋ก ๋ณํํ์ฌ ์ ๊ณตํ๋ ์ฐ์ฐ์
// => new : ๊ฐ์ฒด ์์ฑ ์ฐ์ฐ์ - ํด๋์ค์ ์์ฑ์๋ฅผ ์ด์ฉํ์ฌ ๊ฐ์ฒด๋ฅผ ์์ฑํ์ฌ ์ ๊ณตํ๋ ์ฐ์ฐ์
int a1=10;
System.out.println("a1 = "+a1);
System.out.println("a1 = "+(-a1));
System.out.println("==================================================");
System.out.println("20 > 10 = "+(20>10));
System.out.println("!(20 > 10) = "+!(20>10));
System.out.println("==================================================");
int a2=10, a3=10;
System.out.println("a2 = "+a2+", a3 = "+a3);
//++a2;
//--a3;
//์์น ๋ณ๊ฒฝ ๊ฐ๋ฅ
a2++;
a3--;
System.out.println("a2 = "+a2+", a3 = "+a3);
System.out.println("==================================================");
int a4=10, a5=10;
System.out.println("a4 = "+a4+", a5 = "+a5);
int a6=++a4;
int a7=a5++;
System.out.println("a4 = "+a4+", a5 = "+a5);
System.out.println("a6 = "+a6+", a7 = "+a7);
System.out.println("==================================================");
}
}
๐ง์ดํญ ์ฐ์ฐ์
ํผ์ฐ์ฐ์๊ฐ 2๊ฐ์ด๋ฉฐ, ๋จํญ์ฐ์ฐ์(๋ถํธ&์ฆ๊ฐ&๋ ผ๋ฆฌ๋ถ์ )์ ์ผํญ์ฐ์ฐ์(์กฐ๊ฑด?:)์ ์ ์ธํ ๋๋จธ์ง ๋ชจ๋๊ฐ ์ฌ๊ธฐ์ ํด๋น๋๋ค.
๐ฅ๏ธ์ดํญ์ฐ์ฐ์ ์์
package basic;
public class OperatorApp {
public static void main(String[] args) {
//์ดํญ ์ฐ์ฐ์ : ํผ์ฐ์ฐ์์ ๊ฐฏ์๊ฐ 2๊ฐ์ธ ์ฐ์ฐ์
// => ์ฐ์ ์ฐ์ฐ์, ์ด๋ ์ฐ์ฐ์, ๋น๊ต ์ฐ์ฐ์, ๋
ผ๋ฆฌ ์ฐ์ฐ์, ๋์
์ฐ์ฐ์
//์ฐ์ ์ฐ์ฐ์ : *, /, %, +, -
int b1=20, b2=10;
System.out.println(b1+"*"+b2+" = "+(b1*b2));
System.out.println(b1+"/"+b2+" = "+(b1/b2));
System.out.println(b1+"%"+b2+" = "+(b1%b2));
System.out.println(b1+"+"+b2+" = "+(b1+b2));
System.out.println(b1+"-"+b2+" = "+(b1-b2));
System.out.println("==================================================");
// ์ด๋ ์ฐ์ฐ์ : ์ ์๊ฐ์ ์ํ๋ ๋ฐฉํฅ์ผ๋ก Bit ์๋งํผ ์ด๋ํ๋ ์ฐ์ฐ์
// => <<(์ผ์ชฝ ์ด๋ ์ฐ์ฐ์), >>(์ค๋ฅธ์ชฝ ์ด๋ ์ฐ์ฐ์), >>>(์ค๋ฅธ์ชฝ ์ด๋ ์ฐ์ฐ์)
//50(10) : 4Byte - 00000000 00000000 00000000 00110010
//50 << 3 : 00000000 00000000 00000001 10010000 - 400(10)
//50 >> 3 : 00000000 00000000 00000000 00000110 - 6(10)
//-50(10) : 4Byte - 11111111 11111111 11111111 11001110
//-50 >> 3 : - 11111111 11111111 11111111 11111001
//-50 >>> 3 : - 00011111 11111111 11111111 11111001
//๋น๊ต(๊ด๊ณ) ์ฐ์ฐ์ : ๊ฐ์ ๋น๊ตํ์ฌ false ๋๋ true ์ค ํ๋์ ๋
ผ๋ฆฌ๊ฐ์ ์ ๊ณตํ๋ ์ฐ์ฐ์
// => >, <, >=, <=, ==, !=, instanceof : ๊ฐ์ฒด ๋น๊ต ์ฐ์ฐ์
System.out.println("20 > 10 = "+(20>10));
System.out.println("20 < 10 = "+(20<10));
System.out.println("20 == 10 = "+(20==10));
System.out.println("20 != 10 = "+(20!=10));
System.out.println("==================================================");
//๋
ผ๋ฆฌ ์ฐ์ฐ์ : Bit ๋
ผ๋ฆฌ ์ฐ์ฐ์, ์ผ๋ฐ ๋
ผ๋ฆฌ ์ฐ์ฐ์
//๊ฒฐ๊ณผ๊ฐ์ true / false๋ก ๋ฐํ๋จ
// => Bit ๋
ผ๋ฆฌ ์ฐ์ฐ์ : ๋ ํผ์ฐ์ฐ์์ ์ ์๊ฐ์ Bit ๋จ์๋ก ๊ณ์ฐํ๊ธฐ ์ํ ์ฐ์ฐ์ - &(๋
ผ๋ฆฌ๊ณฑ), ^(๋ฐฐํ์ ๋
ผ๋ฆฌํฉ), |(๋
ผ๋ฆฌํฉ)
/*
00110110 00110110 00110110
& 11011100 ^ 11011100 | 11011100
00010100 11101010 11111110
*/
// => ์ผ๋ฐ ๋
ผ๋ฆฌ ์ฐ์ฐ์ : ๋ ๊ฐ์ ๋น๊ต ์ฐ์ฐ์์ ์ฐ๊ฒฐํ๊ธฐ ์ํ ์ฐ์ฐ์
int c=20;
System.out.println("c = "+c);
//๋ณ์>์์ผ๊ฐ && ๋ณ์<ํฐ๊ฐ : ์์๊ฐ~ํฐ๊ฐ ๋ฒ์์ ๊ฐ์ธ์ง๋ฅผ ํ์ธํ๊ธฐ ์ํ ์ฐ์ฐ์
System.out.println("c >= 10 && c <= 30 = "+(c >= 10 && c <= 30));
System.out.println("c < 10 || c > 30 = "+(c < 10 || c > 30));
System.out.println("==================================================");
//๋์
์ฐ์ฐ์ : ์ผ์ชฝ ํผ์ฐ์ฐ์(๋ณ์)์ ๊ฐ์ ์ ์ฅํ๊ธฐ ์ํ ์ฐ์ฐ์
// => ๋ฌด์กฐ๊ฑด ๋ง์ง๋ง์ ์คํ๋๋ ์ฐ์ฐ์
// => ์์ ๋์
์ฐ์ฐ์ : ๋ณ์์ ๊ฐ์ ์ ์ฅํ๋ ์ฐ์ฐ์(=)
// => ์ฐ์ฐ ๋์
์ฐ์ฐ์ : ๋ณ์๊ฐ์ ์ฐ์ฐ ์ฒ๋ฆฌํ์ฌ ๋ณ์์ ์ ์ฅํ๋ ์ฐ์ฐ์ (*=. /=, %=. +=, -=, <<=, >>=, >>>=, &=, ^=, |=)
int e=10;
System.out.println("e = "+e);
e*=20;// => e=e*20
//e์ 10์ด ๋์
๋์ด ์์ผ๋, 10*20์ํด์ 200์ด๋ผ๋ ๊ฒฐ๊ณผ ์ถ๋ ฅ
System.out.println("e = "+e);
}
}
๐ง์ผํญ ์ฐ์ฐ์
ํผ์ฐ์ฐ์๊ฐ 3๊ฐ์ด๋ฉฐ, ์กฐ๊ฑด ์ฐ์ฐ์(?:) ํ๋๋ง ์ฌ๊ธฐ์ ํด๋น๋๋ค.
๐ฅ๏ธ์ผํญ์ฐ์ฐ์ ์์
package basic;
//์ ๋ณด์ฒ๋ฆฌ๊ธฐ์ฌ ์ํ์ ์ข
์ข
๋์ค๊ธฐ๋ ํ๋ค๊ณ ํจ. ์๊ธฐํด๋๋ฉด ์ข์๋ฏ! โ
public class OperatorApp {
public static void main(String[] args) {
//์ผํญ ์ฐ์ฐ์ : ํผ์ฐ์ฐ์์ ๊ฐฏ์๊ฐ 3๊ฐ์ธ ์ฐ์ฐ์
//ํ์) ์กฐ๊ฑด์ ? ์ฐธ๊ฐ : ๊ฑฐ์ง๊ฐ
// => ์กฐ๊ฑด์ : false ๋๋ true ์ค ํ๋์ ๋
ผ๋ฆฌ๊ฐ์ ์ ๊ณตํ๋ ์ฐ์ฐ์
// => ์กฐ๊ฑด์์ด [true]์ธ ๊ฒฝ์ฐ ์ฐธ๊ฐ์ ์ ๊ณตํ๊ณ [false]์ธ ๊ฒฝ์ฐ ๊ฑฐ์ง๊ฐ์ ์ ๊ณต
int d1=10, d2=20;
System.out.println("ํฐ๊ฐ = "+(d1 > d2 ? d1 : d2));
System.out.println("==================================================");
//int d3=10;
int d3=11;
//[X % Y == 0] ์ฐ์ฐ์์ ๊ฒฐ๊ณผ๊ฐ์ 0๊ณผ ๋น๊ตํ์ฌ ๊ฐ์ ๊ฒฝ์ฐ X๋ Y์ ๋ฐฐ์๋ก ํํ
System.out.println(d3+" = "+(d3 % 2 == 0 ? "์ง์" : "ํ์"));
System.out.println("==================================================");
}
}
'Backend > Java' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[Java]๋ฐ๋ณต๋ฌธ - For๋ฌธ & While๋ฌธ(+do-while๋ฌธ) (0) | 2023.11.29 |
---|---|
[Java]์ ์ด๋ฌธ - If~else๋ฌธ & Switch๋ฌธ (0) | 2023.11.28 |
[Java]ํ๋ณํ(Type Casting) (1) | 2023.11.23 |
[Java] ๋ณ์์ ๋ฐ์ดํฐ ํ์ (์๋ฃํ) (2) | 2023.11.22 |
[Java]Hello World ์ถ๋ ฅํ๊ธฐ (1) | 2023.11.22 |