π©· Javaμ μ°μ°μλ?
Javaμμμ μ°μ°μ(Operators)λ νΉμ ν μ°μ°μ μννλλ‘ μ€κ³λ κΈ°νΈμ λλ€.
μ°μ°μλ₯Ό μ¬μ©νμ¬ λ³μμ κ°μ λ€μν μ’ λ₯μ μ°μ°μ μ μ©ν μ μμ΅λλ€.
π μ°μ°μμ μ’ λ₯
1οΈβ£μ°μ μ°μ°μ
μ°μ μ°μ°μλ ννλ€ μκ³ κ³μλ λ°μ κ°μ΄ μ¬μΉμ°μ° κ°μ λνκΈ° , λΉΌκΈ° λ±μ΄ μ΄μ ν΄λΉλ©λλ€. μλ°μ μ°μ°μλ μ‘°κΈ λ μ’ λ₯κ° λ€μνλ°, μ°μ°μμ μ’ λ₯λ₯Ό μμΈνκ² μ€λͺ λλ¦¬κ² μ΅λλ€.
1. λ§μ μ°μ°μ ( + )
- λ κ°μ νΌμ°μ°μλ₯Ό λν©λλ€.
- μμΉν λ°μ΄ν°λΏλ§ μλλΌ, λ¬Έμμ΄ μ°κ²°μλ μ¬μ©λ μ μμ΅λλ€.
int a = 1;
int b = 2;
int c = a + b; // cμ κ°μ 3
String hello = "Hello, ";
String rabbit = "Rabbit!";
String greeting = hello + rabbit; // greetingμ κ°μ "Hello, Rabbit!"
2. λΊμ μ°μ°μ ( - )
- μΌμͺ½ νΌμ°μ°μμμ μ€λ₯Έμͺ½ νΌμ°μ°μλ₯Ό λΊλλ€.
int a = 5;
int b = 3;
int c = a - b; // cμ κ°μ 2
3. κ³±μ μ°μ°μ ( * )
- λ κ°μ νΌμ°μ°μλ₯Ό κ³±ν©λλ€.
int a = 2;
int b = 3;
int c = a * b; // cμ κ°μ 6
4. λλμ μ°μ°μ ( / )
- μΌμͺ½ νΌμ°μ°μλ₯Ό μ€λ₯Έμͺ½ νΌμ°μ°μλ‘ λλλλ€.
- μ μ λλμ μ κ²½μ°, κ²°κ³Όλ μ μλ‘μ λλ¨Έμ§λ₯Ό λ²λ¦¬κ³ λͺ«λ§ λ°νν©λλ€
- . λΆλ μμμ λλμ μ κ²½μ°, μ νν μμ κ²°κ³Όλ₯Ό λ°νν©λλ€.
int a = 10;
int b = 3;
int c = a / b; // cμ κ°μ 3 (μ μ λλμ
)
double x = 10.0;
double y = 3.0;
double z = x / y; // zμ κ°μ 3.33... (λΆλ μμμ λλμ
)
5. λλ¨Έμ§ μ°μ°μ ( % )
- μΌμͺ½ νΌμ°μ°μλ₯Ό μ€λ₯Έμͺ½ νΌμ°μ°μλ‘ λλκ³ λ λλ¨Έμ§λ₯Ό λ°νν©λλ€.
- μ΄ μ°μ°μλ λλμ μ λλ¨Έμ§λ₯Ό ꡬν λ μ μ©νλ©°, μ«μκ° μ΄λ€ κ°μΌλ‘ λλμ΄ λ¨μ΄μ§λμ§ νμΈν λ μμ£Ό μ¬μ©λ©λλ€.
int a = 10;
int b = 3;
int c = a % b; // cμ κ°μ 1
int d = 4;
int e = 2;
int f = d % e; // fμ κ°μ 0
2οΈβ£λΉκ΅ μ°μ°μ
λΉκ΅ μ°μ°μλ λ κ°μ λΉκ΅νκ³ κ·Έ κ²°κ³Όλ‘ λ Όλ¦¬μ μΈ κ°μΈ true λλ falseλ₯Ό λ°νν©λλ€.
1. λλ± μ°μ°μ ( '==' )
- λ νΌμ°μ°μμ κ°μ΄ κ°μμ§ λΉκ΅ν©λλ€.
- κ°μΌλ©΄ true, λ€λ₯΄λ©΄ falseλ₯Ό λ°νν©λλ€.
int a = 10;
int b = 20;
boolean result = (a == b) // true
2. λΆλ± μ°μ°μ ( '!=' )
- λ νΌμ°μ°μμ κ°μ΄ κ°μμ§ λΉκ΅ν©λλ€.
- κ°μΌλ©΄ true, λ€λ₯΄λ©΄ falseλ₯Ό λ°νν©λλ€.
int a = 10;
int b = 20;
boolean result = (a != b); // true
3. ν¬λ€ μ°μ°μ ( '>' )
- λ νΌμ°μ°μμ κ°μ΄ κ°μμ§ λΉκ΅ν©λλ€.
- κ°μΌλ©΄ true, λ€λ₯΄λ©΄ falseλ₯Ό λ°νν©λλ€.
int a = 15;
int b = 10;
boolean result = (a > b); // true
4. μλ€ μ°μ°μ ( '<' )
- λ νΌμ°μ°μμ κ°μ΄ κ°μμ§ λΉκ΅ν©λλ€.
- κ°μΌλ©΄ true, λ€λ₯΄λ©΄ falseλ₯Ό λ°νν©λλ€.
int a = 10;
int b = 15;
boolean result = (a < b); // true
5. ν¬κ±°λ μλ€ μ°μ°μ ( '>=' )
- λ νΌμ°μ°μμ κ°μ΄ κ°μμ§ λΉκ΅ν©λλ€.
- κ°μΌλ©΄ true, λ€λ₯΄λ©΄ falseλ₯Ό λ°νν©λλ€.
int a = 15;
int b = 15;
boolean result = (a >= b); // true
6. μκ±°λ κ°λ€ μ°μ°μ ( '<=' )
- λ νΌμ°μ°μμ κ°μ΄ κ°μμ§ λΉκ΅ν©λλ€.
- κ°μΌλ©΄ true, λ€λ₯΄λ©΄ falseλ₯Ό λ°νν©λλ€.
int a = 10;
int b = 15;
boolean result = (a <= b); // true
3οΈβ£λ Όλ¦¬ μ°μ°μ
λ Όλ¦¬ μ°μ°μλ μ£Όλ‘ λ Όλ¦¬μ μΈ μ‘°κ±΄μ νκ°νλ λ° μ¬μ©λ©λλ€.
1. AND μ°μ°μ ( '&&' )
- λ 쑰건 λͺ¨λ trueμΌ λλ§ κ²°κ³Όκ° trueκ° λ©λλ€.
- 첫 λ²μ§Έ μ‘°κ±΄μ΄ falseμ΄λ©΄, λ λ²μ§Έ 쑰건μ κ²μ¦νμ§ μμ΅λλ€.
boolean a = true;
boolean b = false;
boolean c = true;
boolean result = a && b; // false
boolean result2 = a && c; // true
2. OR μ°μ°μ ( ' || ' )
- λ 쑰건 μ€ νλλΌλ 'true'μ΄λ©΄ κ²°κ³Όκ° 'true'κ° λ©λλ€.
- 첫 λ²μ§Έ μ‘°κ±΄μ΄ trueμ΄λ©΄, λ λ²μ§Έ 쑰건μ κ²μ¦νμ§ μμ΅λλ€.
boolean a = true;
boolean b = false;
boolean result = a || b; // true
boolean result2 = b || b; // false
3. NOT μ°μ°μ ( ' ! ' )
- λ¨μΌ 쑰건μ λ Όλ¦¬ κ°μ λ°μ μν΅λλ€.
- 'true'λ 'false'λ‘, 'false'λ 'true'λ‘ λ³νλ©λλ€.
boolean a = true;
boolean result = !a; // false
4οΈβ£ν λΉ μ°μ°μ
ν λΉ μ°μ°μλ λ³μμ κ°μ ν λΉνλ λ° μ¬μ©λλ μ°μ°μμ λλ€
1. κΈ°λ³Έ ν λΉ μ°μ°μ ( ' = ' )
- κ°μ₯ κΈ°λ³Έμ μΈ ν λΉ μ°μ°μλ‘, μ€λ₯Έμͺ½ νΌμ°μ°μμ κ°μ μΌμͺ½ νΌμ°μ°μ(λ³μ)μ μ μ₯ν©λλ€.
int a = 10; // a λ³μμ 10μ ν λΉ
2. λ§μ ν λΉ μ°μ°μ ( ' += ' )
- μΌμͺ½ λ³μμ μ€λ₯Έμͺ½ κ°μ λνκ³ κ²°κ³Όλ₯Ό μΌμͺ½ λ³μμ μ μ₯ν©λλ€.
int a = 5;
a += 3; // a = a + 3κ³Ό λμΌ, aλ μ΄μ 8
3. λΊμ ν λΉ μ°μ°μ ( ' -= ' )
- μΌμͺ½ λ³μμμ μ€λ₯Έμͺ½ κ°μ λΉΌκ³ κ²°κ³Όλ₯Ό μΌμͺ½ λ³μμ μ μ₯ν©λλ€.
int a = 5;
a -= 2; // a = a - 2μ λμΌ, aλ μ΄μ 3
4. κ³±μ ν λΉ μ°μ°μ ( ' *= ' )
- μΌμͺ½ λ³μμ μ€λ₯Έμͺ½ κ°μ κ³±νκ³ κ²°κ³Όλ₯Ό μΌμͺ½ λ³μμ μ μ₯ν©λλ€.
int a = 5;
a *= 2; // a = a * 2μ λμΌ, aλ μ΄μ 10
5. λλμ ν λΉ μ°μ°μ ( ' /= ' )
- μΌμͺ½ λ³μλ₯Ό μ€λ₯Έμͺ½ κ°μΌλ‘ λλκ³ κ²°κ³Όλ₯Ό μΌμͺ½ λ³μμ μ μ₯ν©λλ€.
int a = 10;
a /= 2; // a = a / 2μ λμΌ, aλ μ΄μ 5
5οΈβ£λΉνΈ μ°μ°μ
Javaμμ λΉνΈ μ°μ°μλ μ μ νμ μ λ°μ΄ν°μ λν΄ λΉνΈ λ¨μλ‘ μ°μ°μ μννλ μ°μ°μ
AND μ°μ°μ (&) |
λ νΌμ°μ°μμ λΉνΈλ₯Ό λΉκ΅νμ¬ λ λ€ 1μ΄λ©΄ κ²°κ³Όμ ν΄λΉ λΉνΈλ₯Ό 1λ‘, νλλΌλ 0μ΄λ©΄ 0μΌλ‘ μ€μ ν©λλ€. | 5 & 3 (μ΄μ§μλ‘ 0101 & 0011)μ κ²°κ³Όλ 0001μ΄λ―λ‘, κ²°κ³Όλ 1μ λλ€. |
OR μ°μ°μ ( | ) |
λ νΌμ°μ°μμ λΉνΈλ₯Ό λΉκ΅νμ¬ νλλΌλ 1μ΄λ©΄ κ²°κ³Όμ ν΄λΉ λΉνΈλ₯Ό 1λ‘, λ λ€ 0μ΄λ©΄ 0μΌλ‘ μ€μ ν©λλ€. | 5 | 3 (μ΄μ§μλ‘ 0101 | 0011)μ κ²°κ³Όλ 0111μ΄λ―λ‘, κ²°κ³Όλ 7μ λλ€. |
XOR μ°μ°μ (^) |
λ νΌμ°μ°μμ λΉνΈλ₯Ό λΉκ΅νμ¬ λΉνΈκ° μλ‘ λ€λ₯΄λ©΄ κ²°κ³Όμ ν΄λΉ λΉνΈλ₯Ό 1λ‘, κ°μΌλ©΄ 0μΌλ‘ μ€μ ν©λλ€. μ΄ μ°μ°μ λ κ°μ μ°¨μ΄λ₯Ό κ²μΆνλ λ° μ μ©ν©λλ€. | 5 ^ 3 (μ΄μ§μλ‘ 0101 ^ 0011)μ κ²°κ³Όλ 0110μ΄λ―λ‘, κ²°κ³Όλ 6μ λλ€. |
NOT μ°μ°μ (~) |
λ¨μΌ νΌμ°μ°μμ λͺ¨λ λΉνΈλ₯Ό λ°μ μν΅λλ€. 1μ 0μΌλ‘, 0μ 1λ‘ λ°λλλ€. μ΄ μ°μ°μλ 보μλ₯Ό ꡬν λ μ¬μ©λ©λλ€. | ~5 (μ΄μ§μλ‘ ~0101)μ κ²°κ³Όλ 1010 (2μ 보μ ννμμλ -6)μ λλ€. μ€μ κ²°κ³Όλ λͺ¨λ λΉνΈκ° λ°μ λκ³ , μΆκ° λΉνΈλ€λ λ°μ λμ΄ μμ κ°μ΄ λ©λλ€. |
Left Shift (<<) |
νΌμ°μ°μμ λͺ¨λ λΉνΈλ₯Ό μ§μ λ μλ§νΌ μΌμͺ½μΌλ‘ μ΄λμν΅λλ€. μλ‘ μκΈ°λ λΉνΈλ 0μΌλ‘ μ±μμ§λλ€. μ΄ μ°μ°μ μ£Όλ‘ κ°μ λΉ λ₯΄κ² κ³±νκΈ° μν΄ μ¬μ©λ©λλ€. | 5 << 1μ 0101μ μΌμͺ½μΌλ‘ ν λΉνΈ μ΄λμν΅λλ€. κ²°κ³Όλ 1010, μ¦ 10μ λλ€. |
Right Shift (>>) |
νΌμ°μ°μμ λͺ¨λ λΉνΈλ₯Ό μ§μ λ μλ§νΌ μ€λ₯Έμͺ½μΌλ‘ μ΄λμν΅λλ€. μλ‘ μκΈ°λ λΉνΈλ νΌμ°μ°μμ μ΅μμ λΉνΈ(λΆνΈ λΉνΈ)μ κ°μ κ°μΌλ‘ μ±μμ§λλ€ (μ΄λ λΆνΈ μλ μ€λ₯Έμͺ½ μννΈλ‘, λΆνΈλ₯Ό μ μ§ν©λλ€). | -10 >> 2λ -10 (μ΄μ§μλ‘ 11110110μμ 2κ°μ μ€λ₯Έμͺ½ μννΈ)μ κ³μ°ν©λλ€. κ²°κ³Όλ -3μ λλ€. |
Unsigned Right Shift (>>>) | νΌμ°μ°μμ λͺ¨λ λΉνΈλ₯Ό μ§μ λ μλ§νΌ μ€λ₯Έμͺ½μΌλ‘ μ΄λμν€λ©°, μ΅μμ λΉνΈλ 0μΌλ‘ μ±μμ§λλ€. μ΄ μ°μ°μ λΆνΈλ₯Ό κ³ λ €νμ§ μλ μ€λ₯Έμͺ½ μννΈμ λλ€. | -10 >>> 2λ -10μ μ€λ₯Έμͺ½μΌλ‘ λ λΉνΈ μ΄λμν€κ³ , μμ λΉνΈλ 0μΌλ‘ μ±μμ§λλ€. κ²°κ³Όλ ν° μμ κ°μ΄ λ©λλ€. |
ex ) λΉνΈ μ°μ°μ μμ
int a = 12; // 12μ μ΄μ§ νν: 1100
int b = 9; // 9μ μ΄μ§ νν: 1001
int result = a & b; // κ²°κ³Ό: 1000, μ΄μ§μλ‘ 8
System.out.println(result); // μΆλ ₯: 8
6οΈβ£μ¦κ° μ°μ°
1. μ μ μ¦κ° μ°μ°μ (Pre-Increment/Pre-Decrement)
μ μ μ¦κ° μ°μ°μλ λ³μμ κ°μ λ¨Όμ μ¦κ°μν€κ±°λ κ°μμν¨ ν, κ·Έ κ²°κ³Όλ₯Ό λ°νν©λλ€. μ°μ°μλ λ³μ μ
μ μμΉν©λλ€.
- ++λ³μ (Pre-Increment): λ³μμ κ°μ 1 μ¦κ°μν¨ ν, μ¦κ°λ κ°μ λ°νν©λλ€.
- -λ³μ (Pre-Decrement): λ³μμ κ°μ 1 κ°μμν¨ ν, κ°μλ κ°μ λ°νν©λλ€.
int a = 5;
int result = ++a; // aμ κ°μ λ¨Όμ 1 μ¦κ°μν€κ³ , κ·Έ ν resultμ aμ κ°μ ν λΉν©λλ€.
// aμ result λͺ¨λ 6μ΄ λ©λλ€.
2. νμ μ¦κ° μ°μ°μ (Post-Increment/Post-Decrement)
νμ μ¦κ° μ°μ°μλ λ³μμ νμ¬ κ°μ λ°νν ν, λ³μμ κ°μ 1 μ¦κ°μν€κ±°λ κ°μμν΅λλ€. μ°μ°μλ λ³μ λ€μ μμΉν©λλ€.
- λ³μ++ (Post-Increment): λ³μμ νμ¬ κ°μ λ°νν ν, κ·Έ κ°μ 1 μ¦κ°μν΅λλ€.
- λ³μ-- (Post-Decrement): λ³μμ νμ¬ κ°μ λ°νν ν, κ·Έ κ°μ 1 κ°μμν΅λλ€.
int a = 5;
int result = a++; // aμ νμ¬ κ°μ resultμ ν λΉνκ³ , κ·Έ ν aμ κ°μ 1 μ¦κ°μν΅λλ€.
// resultλ 5, aλ 6μ΄ λ©λλ€.
7οΈβ£κ·Έ μΈ
1. μΌν μ°μ°μ
Javaμμ μΌν μ°μ°μλ 쑰건 μ°μ°μλΌκ³ λ λΆλ¦¬λ©°, κ°λ¨ν 쑰건문μ κ°κ²°νκ² ννν μ μκ² ν΄ μ€λλ€.
쑰건 ? ννμ1 : ννμ2
쑰건μ νκ°ν©λλ€. μ‘°κ±΄μ΄ trueμΌ κ²½μ°, ννμ 1μ μ€ννκ³ κ·Έ κ²°κ³Όλ₯Ό λ°νν©λλ€.
μ‘°κ±΄μ΄ falseμΌ κ²½μ°, ννμ 2λ₯Ό μ€ννκ³ κ·Έ κ²°κ³Όλ₯Ό λ°νν©λλ€.
ex ) μ΅λκ° μ°ΎκΈ°
int a = 5;
int b = 10;
int max = a > b ? a : b;
System.out.println("Max: " + max); // μΆλ ₯: Max: 10
μ°μ°μλ νλ‘κ·Έλλ° μΈμ΄μμ λ°μ΄ν°λ₯Ό μ‘°μνκ³
νλ‘κ·Έλ¨μ νλ¦μ μ μ΄νλ λ° νμμ μΈ μμμ λλ€!
'βJava' μΉ΄ν κ³ λ¦¬μ λ€λ₯Έ κΈ
[Java μ΄ν΄νκΈ°] 6. μλ°μ ν¨μ(λ©μλ)λ? (2) (2) | 2024.05.04 |
---|---|
[Java μ΄ν΄νκΈ°] 5. μλ°μ ν¨μ(λ©μλ)λ? (1) (2) | 2024.05.04 |
[Java μ΄ν΄νκΈ°] 3. μλ°μ λ°μ΄ν° νμ μ΄λ? (2) | 2024.04.26 |
[Java μ΄ν΄νκΈ°] 2. μλ°μ λ³μμ μμ (2) | 2024.04.26 |
[Java μ΄ν΄νκΈ°] 1. μλ°λ? (4) | 2024.04.20 |