์๋ฐ ํ๋ก๊ทธ๋๋ฐ์์ ๋์ ์ฐ์ฐ์๋ ๋ณ์์ ๊ฐ์ ํ ๋นํ๋ ๋ฐ์ ์ฌ์ฉ๋๋ฉฐ, ํ๋ก๊ทธ๋จ ์์ฑ์ ์์ด์ ๋งค์ฐ ์ค์ํ ์ญํ ์ ํฉ๋๋ค. ์ด ๊ธ์์๋ ์๋ฐ ๋์ ์ฐ์ฐ์์ ๊ธฐ์ด๋ถํฐ ์์ฉ๊น์ง ๋ค์ํ ์ธก๋ฉด์ ์ดํด๋ณด๊ฒ ์ต๋๋ค.
โฃ ๋ชฉ์ฐจ
1. ๋์ ์ฐ์ฐ์๐
๋์
์ฐ์ฐ์๋ ๊ธฐ๋ณธ์ ์ผ๋ก '=' ๊ธฐํธ๋ฅผ ์ฌ์ฉํ๋ฉฐ, ๋ณ์์ ๊ฐ์ ํ ๋นํ๋ ๋ฐ์ ์ฐ์
๋๋ค.
์๋ฅผ ๋ค์ด ์๋ ์ฝ๋์์ 'x' ๋ณ์์ ๊ฐ 10์ ํ ๋นํ๊ณ ์์ต๋๋ค.
int x = 10;
2. ๋ณตํฉ ๋์ ์ฐ์ฐ์๐
๋ณตํฉ ๋์ ์ฐ์ฐ์๋ ๋์ ์ฐ์ฐ์์ ์ฐ์ ์ฐ์ฐ์๋ฅผ ๊ฒฐํฉํ ๊ฒ์ผ๋ก, '+='๋ '-='์ ๊ฐ์ ํํ๋ฅผ ๊ฐ์ง๋ฉฐ, ์ฐ์ฐ๊ณผ ๋์ ์ ๋์์ ์ํํฉ๋๋ค.
๊ตฌ๋ถ | ์ค๋ช | ์์ | ๋์ผํ ํํ์ |
+= | ์ผ์ชฝ ํผ์ฐ์ฐ์์ ์ค๋ฅธ์ชฝ ํผ์ฐ์ฐ์๋ฅผ ๋ํจ | x += 5; | x = x + 5; |
-= | ์ผ์ชฝ ํผ์ฐ์ฐ์์์ ์ค๋ฅธ์ชฝ ํผ์ฐ์ฐ์๋ฅผ ๋บ | y -= 3; | y = y - 3; |
*= | ์ผ์ชฝ ํผ์ฐ์ฐ์์ ์ค๋ฅธ์ชฝ ํผ์ฐ์ฐ์๋ฅผ ๊ณฑํจ | z *= 2; | z = z * 2; |
/= | ์ผ์ชฝ ํผ์ฐ์ฐ์๋ฅผ ์ค๋ฅธ์ชฝ ํผ์ฐ์ฐ์๋ก ๋๋ | a /= 4; | a = a / 4; |
%= | ์ผ์ชฝ ํผ์ฐ์ฐ์๋ฅผ ์ค๋ฅธ์ชฝ ํผ์ฐ์ฐ์๋ก ๋๋ ๋๋จธ์ง | b %= 7; | b = b % 7; |
&= | ๋นํธ AND ์ฐ์ฐ ํ ๋์ | c &= 2; | c = c & 2; |
|= | ๋นํธ OR ์ฐ์ฐ ํ ๋์ | d |= 3; | d = d | 3; |
^= | ๋นํธ XOR ์ฐ์ฐ ํ ๋์ | e ^= 4; | e = e ^ 4; |
<<= | ์ผ์ชฝ ์ํํธ ์ฐ์ฐ ํ ๋์ | f <<= 2; | f = f << 2; |
>>= | ์ค๋ฅธ์ชฝ ์ํํธ ์ฐ์ฐ ํ ๋์ | g >>= 3; | g = g >> 3; |
>>>= | ์ค๋ฅธ์ชฝ ์ํํธ (๋ถํธ ์์) ์ฐ์ฐ ํ ๋์ | h >>>= 1; | h = h >>> 1; |
๋ณตํฉ ๋์
์ฐ์ฐ์๋ ๊ธฐ์กด์ ๋ณ์ ๊ฐ์ ์๋ก์ด ๊ฐ์ ๋ํ๊ฑฐ๋ ๋นผ๋ ๋ฑ์ ์์
์ ํ ๋ ์ ์ฉํฉ๋๋ค.
public class Main {
public static void main(String[] args) {
// ์ด๊ธฐ๊ฐ ์ค์
int result = 0;
// result์ 10์ ๋ํ์ฌ result ๊ฐ ๊ฐฑ์
result += 10;
System.out.println("result=" + result); // ์ถ๋ ฅ: result=10
// result์์ 5๋ฅผ ๋นผ์ result ๊ฐ ๊ฐฑ์
result -= 5;
System.out.println("result=" + result); // ์ถ๋ ฅ: result=5
// result์ 3์ ๊ณฑํ์ฌ result ๊ฐ ๊ฐฑ์
result *= 3;
System.out.println("result=" + result); // ์ถ๋ ฅ: result=15
// result๋ฅผ 5๋ก ๋๋์ด result ๊ฐ ๊ฐฑ์
result /= 5;
System.out.println("result=" + result); // ์ถ๋ ฅ: result=3
// result๋ฅผ 3์ผ๋ก ๋๋ ๋๋จธ์ง๋ฅผ result ๊ฐ์ผ๋ก ์ค์
result %= 3;
System.out.println("result=" + result); // ์ถ๋ ฅ: result=0
}
}
3.๋์ ์ฐ์ฐ์์ ์์ฉ๐
์ฆ๊ฐ ์ฐ์ฐ์์ ๋์
์ฐ์ฐ์๋ฅผ ํจ๊ป ์ฌ์ฉํ ์ ์์ต๋๋ค. ์ด๋ ๋ณ์๋ฅผ ์ฆ๊ฐ์ํค๊ฑฐ๋ ๊ฐ์์ํค๋ ๋ฑ์ ์์
์ ํ ๋ ํธ๋ฆฌํฉ๋๋ค. ์๋ฅผ ๋ค์ด:
public class Main {
public static void main(String[] args) {
// ๋ณ์ ์ด๊ธฐํ
int num1 = 5;
int num2 = 10;
// ๋ณ์ num1์ 1 ์ฆ๊ฐ์ํด
num1++;
System.out.println("num1 after increment: " + num1); // ์ถ๋ ฅ: num1 after increment: 6
// ๋ณ์ num2๋ฅผ 1 ๊ฐ์์ํด
num2--;
System.out.println("num2 after decrement: " + num2); // ์ถ๋ ฅ: num2 after decrement: 9
// ๋ณ์์ ํจ๊ป ์ฌ์ฉ๋ ์ฆ๊ฐ ์ฐ์ฐ์์ ๊ฐ์ ๋ค๋ฅธ ๋ณ์์ ๋์
int result1 = num1++;
System.out.println("result1 after post-increment: " + result1); // ์ถ๋ ฅ: result1 after post-increment: 6
System.out.println("num1 after post-increment: " + num1); // ์ถ๋ ฅ: num1 after post-increment: 7
int result2 = ++num2;
System.out.println("result2 after pre-increment: " + result2); // ์ถ๋ ฅ: result2 after pre-increment: 10
System.out.println("num2 after pre-increment: " + num2); // ์ถ๋ ฅ: num2 after pre-increment: 10
}
}
์ฆ๊ฐ ์ฐ์ฐ์์ ๋์
์ฐ์ฐ์๋ฅผ ํจ๊ป ์ฌ์ฉํ ๋๋ ์ ์์ ํ์ ์ฐ์ฐ์ ์ฐจ์ด์ ์ฃผ์ํด์ผ ํฉ๋๋ค.
์ฆ๊ฐ ์ฐ์ฐ์์ ํ์น ์ฐ์ฐ์์ ์ ์น ์ฐ์ฐ์์ ๋ํด ๊ถ๊ธํ์๋ค๋ฉด ์๋ ํฌ์คํ
์ ํ์ธํด ์ฃผ์ธ์๐
๋์
์ฐ์ฐ์๋ ๋ณ์ ์ด๊ธฐํ, ์กฐ๊ฑด๋ฌธ์์์ ๋ณ์ ํ ๋น ๋ฑ ๋ค์ํ ์์ ๋ฅผ ํตํด ์ค์ ํ์ฉ ๋ฐฉ๋ฒ์ ์ดํด๋ณผ ์ ์์ต๋๋ค.
public class AssignmentOperatorExample {
public static void main(String[] args) {
// ๋ณ์ ์ด๊ธฐํ
int a = 5;
int b = 3;
int result = 0;
// ๋ณ์ ์ด๊ธฐํ ๋ฐ ๊ฐ ๋ณ๊ฒฝ
result = a; // ๋ณ์ a์ ๊ฐ์ result์ ๋์
System.out.println("result after initialization: " + result); // ์ถ๋ ฅ: result after initialization: 5
// ์กฐ๊ฑด๋ฌธ์์์ ๋ณ์ ํ ๋น
boolean condition = (a > b); // a๊ฐ b๋ณด๋ค ํฐ์ง ๋น๊ตํ ๊ฒฐ๊ณผ๋ฅผ condition์ ๋์
result = (condition) ? a : b; // condition์ด ์ฐธ์ด๋ฉด a๋ฅผ, ๊ฑฐ์ง์ด๋ฉด b๋ฅผ result์ ๋์
System.out.println("result after conditional assignment: " + result); // ์ถ๋ ฅ: result after conditional assignment: 5
// ๋ฐ๋ณต๋ฌธ์์์ ๋ณ์ ํ ๋น
for (int i = 0; i < 5; i++) {
result += i; // result์ i๋ฅผ ๋ํ์ฌ ๊ฐ ๊ฐฑ์
}
System.out.println("result after loop: " + result); // ์ถ๋ ฅ: result after loop: 15
}
}
- ๋ณ์ ์ด๊ธฐํ: ๋ณ์๋ฅผ ์ด๊ธฐํํ ๋ ๋์ ์ฐ์ฐ์๋ฅผ ์ฌ์ฉํฉ๋๋ค. (result = a;)
- ์กฐ๊ฑด๋ฌธ์์์ ๋ณ์ ํ ๋น: ์กฐ๊ฑด๋ฌธ ๋ด์์ ์กฐ๊ฑด์ ๋ฐ๋ผ ๋ณ์์ ๊ฐ์ ํ ๋นํ ๋ ๋์
์ฐ์ฐ์๋ฅผ ์ฌ์ฉํฉ๋๋ค.
(result = (condition) ? a :b;) - ๋ฐ๋ณต๋ฌธ์์์ ๋ณ์ ํ ๋น: ๋ฐ๋ณต๋ฌธ ๋ด์์ ๊ฐ์ ํ ๋นํ๊ฑฐ๋ ๊ฐฑ์ ํ ๋ ๋์
์ฐ์ฐ์๋ฅผ ์ฌ์ฉํฉ๋๋ค.
(result += i;)
์๋ ์์ ๋ ๋์
์ฐ์ฐ์๋ฅผ ์ฌ์ฉํ ๋ ์ฃผ์ํ ์ ๊ณผ ์ฝ๋์ ๊ฐ๋
์ฑ์ ๋์ด๋ ํ์ ๋ณด์ฌ์ค๋๋ค.
public class AssignmentOperatorExample {
public static void main(String[] args) {
// ์ฃผ์ํ ์ : ๋ณ์์ ๊ฐ ๋ณ๊ฒฝ
int x = 5;
int y = x;
System.out.println("Before: x=" + x + ", y=" + y); // ์ถ๋ ฅ: Before: x=5, y=5
x = 10; // x์ ๊ฐ์ ๋ณ๊ฒฝ
System.out.println("After: x=" + x + ", y=" + y); // ์ถ๋ ฅ: After: x=10, y=5
// ๊ฐ๋
์ฑ์ ๋์ด๋ ํ: ๋ณตํฉ ๋์
์ฐ์ฐ์ ์ฌ์ฉ
int a = 5;
int b = 3;
// ๊ฐ๋
์ฑ์ด ๋๊ณ ๊ฐ๊ฒฐํ ์ฝ๋
a += b; // a = a + b;
System.out.println("a after +=: " + a); // ์ถ๋ ฅ: a after +=: 8
// ๊ฐ๋
์ฑ์ด ๋ฎ๊ณ ๋ณต์กํ ์ฝ๋
int c = 5;
int d = 3;
c = c + d;
System.out.println("c after +: " + c); // ์ถ๋ ฅ: c after +: 8
}
}
- ์ฃผ์ํ ์ : ๋ณ์์ ๊ฐ์ด ๋ณ๊ฒฝ๋ ์ ์์ผ๋ฏ๋ก ๋ณ์ ํ ๋น ์ ๊ณผ ํ์ ๊ฐ์ ์ฃผ์ํด์ผ ํฉ๋๋ค.
- ๊ฐ๋ ์ฑ์ ๋์ด๋ ํ: ๋ณตํฉ ๋์ ์ฐ์ฐ์๋ฅผ ์ฌ์ฉํ๋ฉด ์ฝ๋๊ฐ ๋ ๊ฐ๊ฒฐํด์ง๊ณ ๊ฐ๋ ์ฑ์ด ๋์์ง๋๋ค.
4.ํต์ฌ ๋ด์ฉ๐