1. μ°μ°μμ νΌμ°μ°μ

- μ°μ°μ: μ°μ°μ μννλ κΈ°νΈ
- νΌμ°μ°μ: μ°μ°μμ μ°μ° μν λμ
- βλͺ¨λ μ°μ°μλ μ°μ°κ²°κ³Όλ₯Ό λ°ννλ€.β
2. μ°μ°μμ μ’ λ₯
| μ’ λ₯ | μ°μ°μ | μ€λͺ | |||
|---|---|---|---|---|---|
| μ°μ μ°μ°μ | + - * / % << >> | μ¬μΉ μ°μ°κ³Ό λλ¨Έμ§ μ°μ°(%) | |||
| λΉκ΅ μ°μ°μ | > < β₯ β€ == β | ν¬κ³ μμκ³Ό κ°κ³ λ€λ¦μ λΉκ΅ | |||
| λ Όλ¦¬ μ°μ°μ | && | ! & | ^ ~ | AND μ OR μΌλ‘ 쑰건μ μ°κ²° | |
| λμ μ°μ°μ | = | μ°λ³μ κ°μ μ’λ³μ μ μ₯ | |||
| κΈ°ν | (type) ?: instanceof | νλ³ν μ°μ°μ, μΌν μ°μ°μ, instanceof μ°μ°μ |
3. μ°μ°μμ μ°μ μμ

- βνλμ μ(expression)μ μ°μ°μκ° λ μ΄μ μμ λ, μ΄λ€ μ°μ°μ λ¨Όμ μνν μ§λ₯Ό μλ κ²°μ νλ κ²β

4. μ°μ°μμ κ²°ν©κ·μΉ

- βλμ κ³Ό λ¨ν μ°μ°μλ₯Ό μ μΈνλ©΄, λͺ¨λ μΌμͺ½ β μ€λ₯Έμͺ½β
μ°μ°μμ μ°μ μμμ κ²°ν©λ²μΉμ βμΈ κ°μ§λ§ κΈ°μ΅νμβ
- μ°μ > λΉκ΅ > λ Όλ¦¬ > λμ . λμ μ μ μΌ λ§μ§λ§μ μνλλ€.
- λ¨ν(1) > μ΄ν(2) > μΌν(3). λ¨ν μ°μ°μμ μ°μ μμκ° μ΄ν μ°μ°μλ³΄λ€ λλ€.
- λ¨ν μ°μ°μμ λμ μ°μ°μλ₯Ό μ μΈν λͺ¨λ μ°μ°μ μ§νλ°©ν₯μ μΌμͺ½μμ μ€λ₯Έμͺ½μ΄λ€.
5. μ¦κ° μ°μ°μ
μ¦κ° μ°μ°μ(++)νΌμ°μ°μμ κ°μ 1 μ¦κ°μν¨λ€.κ°μ μ°μ°μ(--)νΌμ°μ°μμ κ°μ 1 κ°μμν¨λ€.
| νμ | μ€λͺ | μ¬μ© μ |
|---|---|---|
| μ μν | κ°μ΄ μ°Έμ‘°λκΈ° μ μ μ¦κ°μν¨λ€. | j = ++i; |
| νμν | κ°μ΄ μ°Έμ‘°λ νμ μ¦κ°μν¨λ€. | j = i++; |
// μ μν
j = ++i;
// μλμ κ°λ€
++i; // μ¦κ° νμ
j = i; // μ°Έμ‘°νμ¬ λμ
// μ€ν μ΄ν
i = i
j = i + 1// νμν
j = i++;
// μλμ κ°λ€
j = i; // μ°Έμ‘°νμ¬ λμ
νμ
i++; // μ¦κ°
// μ€ν μ΄ν
j = i
i = i + 16. λΆνΈ μ°μ°μ
public class Ex3_4 {
public static void main(String[] args) {
int i = -10;
i = +i;
System.out.println(i); // -10
i = -10;
i = -i;
System.out.println(i); // 10
}
}β-βλ νΌμ°μ°μμ λΆνΈλ₯Ό λ°λλ‘ λ³κ²½β+βλ μλ¬΄λ° μΌλ νμ§ μλλ€. (μ€μ μ¬μ© X)
7. νλ³ν μ°μ°μ
νλ³νμ΄λ,
- λ³μ λλ μμμ νμ μ λ€λ₯Έ νμ μΌλ‘ λ³ννλ κ²
(νμ
)νΌμ°μ°μ
double d = 85.4;
int score = (int)d;| λ³ν | μμ | κ²°κ³Ό |
|---|---|---|
| int β char | (char)65 | 'A' |
| char β int | (int)'A' | 65 |
| float β int | (int)1.6f | 1 |
| int β float | (float)10 | 10.0f |
8. μλ νλ³ν
μλ νλ³νμ΄λ,
- μ»΄νμΌλ¬κ° μλμΌλ‘ νλ³ν ν΄μ£Όλ κ²
float f = 1234; // intνμ
μ κ°μ floatνμ
μ λ³μμ μ μ₯
float f = (float)1234; // μλ νλ³ν
int i = 3.14f; // μλ¬
// floatμ λ²μκ° intλ³΄λ€ ν¬κΈ° λλ¬Έμ κ°μμ€μ΄ λ°μν μ μμ
int i = (int)3.14f; // μλ νλ³νμ κ°λ₯- βκΈ°μ‘΄μ κ°μ μ΅λν 보쑴ν μ μλ νμ μΌλ‘ μλ νλ³νλλ€.β
byte b = 100; // OK. byteμ λ²μ(-128 ~ 127)μ κ°μ λμ
(리ν°λ΄μ΄κΈ° λλ¬Έμ κ°λ₯)
byte b = (byte)100; // OK. byteλ‘ νλ³ννμ¬ λμ
int i = 100;
byte b = i; // μλ¬. intλ³μμ μ΄λ€ κ°μ΄ λ€μ΄μλμ§ νμ λΆκ°
byte b = (byte)i; // OK. byteλ‘ νλ³ννμ¬ λμ
byte b = 1000; // μλ¬. byteμ λ²μλ₯Ό λ²μ΄λ κ°μ λμ
byte b = (byte)1000; // OK. κ·Έλ¬λ κ° μμ€μ΄ λ°μν΄μ bμλ -24κ° μ μ₯λ¨9. μ¬μΉ μ°μ°μ
// int μ int μ°μ°μ int λ₯Ό λ°ν
10 / 4 = 2
// int μ float μ°μ°μ float λ₯Ό λ°ν
10 / 4.000000 = 2.50000010. μ°μ λ³ν
μ°μ λ³νμ΄λ,
- βμ°μ° μ μ νΌμ°μ°μμ νμ μ μΌμΉμν€λ κ²β
- λ νΌμ°μ°μμ νμ μ κ°κ² μΌμΉμν¨λ€. (λ³΄λ€ ν° νμ μΌλ‘ μΌμΉ)
long + int -> long
float + int -> float
double + float -> double- νΌμ°μ°μμ νμ μ΄ intλ³΄λ€ μμ νμ μ΄λ©΄ intλ‘ λ³νλλ€.
byte + short -> int
char + short -> intEx3_9
public class Ex3_9 {
public static void main(String[] args) {
int a = 1_000_000;
int b = 2_000_000;
long c = a * b; // a * b λ int νμΌλ‘ κ³μ°λκΈ° λλ¬Έμ μ€λ²νλ‘μ° λ°μ
System.out.println(c); // -1,454,759,936
c = (long)a * b; // μ€λ²νλ‘μ°λ₯Ό λ°©μ§νκΈ° μν΄ a λ b λ₯Ό νλ³ν ν λ€ μ°μ°
System.out.println(c); // 2,000,000,000,000
}
}11. λ°μ¬λ¦Ό - Math.round()
- μ€μλ₯Ό μμμ 첫 μ§Έμ리μμ λ°μ¬λ¦Όν μ μλ₯Ό λ°ν
long result = Math.round(4.52); // resultμ 5κ° μ μ₯λλ€.Ex3_11
public class Ex3_11 {
public static void main(String[] args) {
double pi = 3.141592;
double shortPi = Math.round(pi * 1000) / 1000.0;
-> Math.round(3.141592 * 1000) / 1000.0
-> Math.round(3141.592) / 1000.0
-> 3142 / 1000.0
-> 3.142
System.out.println(shortPi); // 3.142
}
}12. λλ¨Έμ§ μ°μ°μ
- μ€λ₯Έμͺ½ νΌμ°μ°μλ‘ λλκ³ λ¨μ λλ¨Έμ§λ₯Ό λ°ν
- λλλ νΌμ°μ°μλ 0μ΄ μλ μ μλ§ νμ©(λΆνΈλ 무μλ¨)
10 % 8 -> 2
10 % -8 -> 213. == μ°μ°μμ equals()μ μ°¨μ΄
== μ°μ°μ
- νλ± μ°μ°μ(Operator) μ΄λ€.
- λ°μμ΄λ‘ != κ° μ‘΄μ¬νλ€.
- μ°Έμ‘° λΉκ΅(Reference Comparison) νΉμ μ£Όμ λΉκ΅(Address Comparison)
- λ κ°μ²΄κ° κ°μ λ©λͺ¨λ¦¬ 곡κ°μ κ°λ¦¬ν€λμ§ νμΈνλ€.
- λͺ¨λ κΈ°λ³Έ μ ν(Primitive Types)μ μ μ©ν μ μλ€.
- byte, short, char, int, float, double boolean
- μ°Έμ‘° μ ν(Reference Types)μ κ²½μ° μ£Όμκ°μ λΉκ΅νλ€.
- μ¬μ€ Primitive μμ Constant Pool μ μλ νΉμ μμλ₯Ό μ°Έμ‘°νκΈ° λλ¬Έμ μ£Όμκ°μ λΉκ΅νλ€κ³ λ³Ό μ μλ€.
- κ°μ²΄μλ μ μ©μ΄ κ°λ₯νμ§λ§ κ°μ λ΄μ©μ κ°μ§ μλ‘ λ€λ₯Έ κ°μ²΄μ κ²½μ° false λ₯Ό λ°ννλ€.
- κ°μ λ΄μ©μ κ°κ³ μλλΌλ μ£Όμκ°μ΄ λ€λ₯΄κΈ° λλ¬Έ
- Boolean Type μΌλ‘ λ°ννλ€.
equals()
- κ°μ²΄ λΉκ΅ λ©μλ(Method) μ΄λ€.
- λ΄μ© λΉκ΅(Content Comparison)
- λ κ°μ²΄μ κ°μ΄ κ°μμ§ νμΈνλ€.
- λ¬Έμμ΄μ λ°μ΄ν°/λ΄μ©μ κΈ°λ°μΌλ‘ λΉκ΅νλ€.
- κΈ°λ³Έ μ ν(Primitive Types)μ μ μ©ν μ μλ€.
- Boolean Type μΌλ‘ λ°ννλ€.
μμ
public class Test {
public static void main(String[] args) {
Thread t1 = new Thread();
Thread t2 = new Thread(); // μλ‘μ΄ κ°μ²΄ μμ±. μ¦, t1κ³Ό λ€λ₯Έ κ°μ²΄.
Thread t3 = t1; // κ°μ λμμ κ°λ¦¬ν¨λ€.
String s1 = new String("WORLD");
String s2 = new String("WORLD");
System.out.println(t1 == t3); // true
System.out.println(t1 == t2); // false(μλ‘ λ€λ₯Έ κ°μ²΄μ΄λ―λ‘ λ³λμ μ£Όμλ₯Ό κ°λλ€.)
System.out.println(t1.equals(t2)); // false
System.out.println(s1.equals(s2)); // true(λμΌν λ΄μ©μ κ°λλ€.)
}
}15. λ Όλ¦¬ μ°μ°μ
- 쑰건μμ μ°κ²°ν λ μ¬μ©νλ μ°μ°μ
// iλ 2μ λ°°μ λλ 3μ λ°°μμ§λ§ 6μ λ°°μλ μλλ€.
// && μ μ°μ μμκ° || λ³΄λ€ λκΈ° λλ¬Έμ κ΄νΈλ₯Ό μ μ ν νμ©ν΄μΌν¨
( i % 2 == 0 || i % 3 == 0 ) && i % 6 != 016. λ Όλ¦¬ λΆμ μ°μ°μ
- tureλ₯Ό false λ‘, falseλ trueλ‘ λ³κ²½
boolean b = true;
!!b -> !!true -> !false -> true17. 쑰건 μ°μ°μ
- 쑰건μμ κ²°κ³Όμ λ°λΌ μ°μ°κ²°κ³Όλ₯Ό λ¬λ¦¬νλ€.
쑰건μ ? μ1 : μ2
result = (x > y) ? x : y;
// x κ° y λ³΄λ€ ν¬λ€λ©΄ result = x
// y κ° x λ³΄λ€ ν¬λ€λ©΄ result = y18. λμ μ°μ°μ
- μ€λ₯Έμͺ½ νΌμ°μ°μλ₯Ό μΌμͺ½ νΌμ°μ°μμ μ μ₯ ν μ μ₯λ κ°μ λ°ν
System.out.println(x = 3);
System.out.println(3);lvalue- λμ μ°μ°μμ μΌμͺ½ νΌμ°μ°μ- μ μ₯곡κ°
rvalue- λμ μ°μ°μμ μ€λ₯Έμͺ½ νΌμ°μ°μ
int i = 0;
3 = i + 3; // μλ¬. lvalueκ° μ μ₯곡κ°μ΄ μλ
i + 3 = i; // μλ¬. lvalueμ μ°μ°κ²°κ³Όκ° 리ν°λ΄
final int MAX = 3; // λ³μ μμ ν€μλ finalμ λΆμ΄λ©΄ μμ
MAX = 10; // μλ¬. μμμ μλ‘μ΄ κ°μ μ μ₯ν μ μμ19. λ³΅ν© λμ μ°μ°μ
- λμ μ°μ°μμ λ€λ₯Έ μ°μ°μλ₯Ό νλλ‘ μΆμ½
i += 3 <-> i = i + 3;
// μ£Όμ. μ€λ₯Έμͺ½ νΌμ°μ°μκ° λκ° μ΄μμΈ κ²½μ° κ΄νΈλ₯Ό νμ©ν΄μΌν¨
i *= (10 + j) <-> i = i * (10 + j);