λ³μμ μμ, μ’ λ₯, μ¬μ©λ² λ° κΈ°λ³Έν λ°μ΄ν°ν, ν λͺ μ, λ¬Έμ μ§ν©μ λν΄ μ 리νλ€.
λ³μ ( Variable )
- λ³νλ μ (cf. μμ: λ°λμ§ μλ μ)
- νλ‘κ·Έλ¨μμ μ¬μ©λ κ°μ λ©λͺ¨λ¦¬μ μΌμμ μΌλ‘ μ μ₯νκ³ (λ¨μ μ¬λΌκ°, νλ°μ±), νμν κ³³μμ μ¬μ©νκΈ° μν΄ μμ±
- κ°λ
μ± ν₯μ (μμ(κ°)μ λν΄ λ³λͺ
μ λΆμ¬νκΈ° λλ¬Έμ ) - μ΄λ¦μ μλͺ» μ€μ νλ©΄ κ°λ
μ±μ΄ λ¨μ΄μ§
- λ°μ΄ν° νμ μ¬μ©νμ¬ μ μΈ (κΈ°λ³Έν 8κ°μ§ / μ°Έμ‘°ν - class, String, array)
-μ μΈλ λ°μ΄ν°νμ λ°λΌ μ μ₯λλ κ°μ΄ λ€λ¦
-κ° ν λΉμ μνλ λλ‘ μ¬λ¬ λ² ν μ μμ, κ° ν λΉ μ μ΄μ κ°μ΄ μ¬λΌμ§κ³ μλ‘μ΄ κ°μ΄ μ μ₯λ¨
-λμΌ μμμμλ κ°μ μ΄λ¦μ λ³μλ₯Ό νλλ§ μ μΈν μ μμ (λ°μ΄ν°νκ³Ό κ΄λ ¨ μμ΄ μ΄λ¦ κ°μΌλ©΄ μλ¬)
- κ° ν λΉμ΄ λμ§ μμ λ³μλ μ¬μ© μ error λ°μ
- instance(λ©€λ²) variable, static(ν΄λμ€) variable, local variable 3κ°μ§λ₯Ό μ 곡
- μ μΈνλ μμμ λ°λΌ ꡬλΆλ¨
class ν΄λμ€λͺ
{
int i; // μΈμ€ν΄μ€ λ³μ
static int j; // static λ³μ
public static void main(String[] args) {
int i; //μ§μ λ³μ
} // local : λ³μ, μ½λ(μ°μ°,μ μ΄) μμ±, λ©μλ μμ
} // class field: λ³μ, λ©μλλ₯Ό μ μν¨
/*
- λμΌ μμ λ΄μμλ κ°μ μ΄λ¦μ λ³μλ νλλ§ μ μΈν μ μλ€.
- λ€λ₯Έ μμμΌ λμλ κ°μ μ΄λ¦μ λ³μ μ μΈ κ°λ₯ (μΈμ€ν΄μ€ λ³μ/ μ§μ λ³μ)
*/
-λ³μλ μ μΈ > κ° ν λΉ > κ° μ¬μ©(μΆλ ₯, μ¬ν λΉ, μ°μ°μ μ°Έμ¬) μμλ‘ μ¬μ©λ¨
μ¬μ© μ ν λ³μλ λ§λ€μ§ μλλ€ (λ©λͺ¨λ¦¬ λλΉ)
μ§μ λ³μ (Local Variable)
- method μμ μ μΈλκ³ , λ©μλ μμμλ§ μ¬μ©λλ λ³μ ( method λ°μμλ μ¬μ©ν μ μμ)
-λͺ¨λ λ°μ΄ν° νμ μ¬μ©νμ¬ μ μΈ κ°λ₯ (κΈ°λ³Έν, μ°Έμ‘°ν)
-μλ μ΄κΈ°νκ° λμ§ μμ (μ΄κΈ°νλμ§ μμ λ³μλ₯Ό μ¬μ©νλ©΄ μλ¬ λ°μ)
-μ μΈλ λ³μλ μμ κ°μ μ μ₯ (literalμ κ°μ λ³μ stackμ μ μ₯)
-λ©μλ νΈμΆ μ memoryμ load λκ³ νΈμΆμ΄ λλλ©΄ memoryμμ unload λ¨
-λ³μμ μ΄κΈ°ν : μ μΈν λ κ°μ ν λΉνλ κ²
λ¬Έλ²) λ°μ΄ν°ν λ³μλͺ
=μ΄κΈ°νκ°; // default value: λ³μλ₯Ό μ μΈνλ©΄μ μ
λ ₯νλ/λ£μ΄μ£Όλ κ°
int i=0; // μ΄κΈ°ν κ°μ μ°μ°μ΄ λλλΌλ μν₯μ λΌμΉμ§ μλ κ°μ λ£μ΄μ€λ€.
λ³μ μ¬μ©λ²)
1. μ μΈ: λ°μ΄ν° νμ μΌμΉνλ κ°μ μ μ₯ν 곡κ°μ μ΄λ¦μ λΆμ¬ λ§λλ κ²
λ°μ΄ν°ν λ³μλͺ
;
int i;
2. κ° ν λΉ: μ μΈλ 곡κ°μ μ¬μ©ν κ°μ λ£λ κ²
λ³μλͺ
=κ°;
i=10;
3.κ° μ¬μ© ( μΆλ ₯, μ°μ° μ°Έμ¬, λ€λ₯Έ λ³μμ μ¬ν λΉ )
-μΆλ ₯: System.out.println( λ³μλͺ
);
System.out.println( i );
-μ°μ°: μμ+λ³μ, λ³μ+λ³μ
-μ¬ν λΉ: λ³μλͺ
=λ³μλͺ
;
λ°μ΄ν°ν
- κ°μ μ μ₯νκΈ° μν΄ κ°μ μ’
λ₯λ³λ‘ 미리 μμ½ν΄λ λ©λͺ¨λ¦¬ 곡κ°
- λ³μλ₯Ό μ μΈν λ μ¬μ©
- κΈ°λ³Έν λ°μ΄ν° ν, μ°Έμ‘°ν λ°μ΄ν° νμΌλ‘ ꡬλΆν¨
κΈ°λ³Έν λ°μ΄ν°ν: λ³μμ κ°μ μ§μ μ μ₯ / byte, short, int, long (μ μ), float, double(μ€μ), char (λ¬Έμ), boolean
μ°Έμ‘°ν λ°μ΄ν°ν: λ³μμ μ£Όμλ₯Ό μ μ₯ / class, array, String
- μμκ° μ μ₯λλ λ©λͺ¨λ¦¬ 곡κ°: literal, 리ν°λ΄μ μλ κ°μ λ³μμ μ μ₯ν¨
κΈ°λ³Έν λ°μ΄ν°ν (primitive type)
- λ³μμ literalμ κ°μ μ§μ μ μ₯νλ λ°μ΄ν°ν
κΈ°λ³ΈνμΌλ‘ λ³μλ₯Ό λ§λ€λ©΄ κ°μ΄ μ§μ λ€μ΄κ°λ€
κ°μ μ’ λ₯ | λ°μ΄ν°ν | ν¬κΈ°(byte) | λ²μ(range) | μ¬μ© μ |
μ μ | byte | 1 | -128 ~ 127 | byte b =10; |
short | 2 | -32768 ~ 32767 | short s = 10; | |
int | 4 | -2147483648 ~ 2147483647 (μ½ 20μ΅) |
int i = 10; | |
long | 8 | -2^63 ~ (2^63)-1 | long l =10; long l1 = intμ΄κ³Όνλκ°L; (νλͺ μ νμ, 리ν°λ΄ νμ₯) |
|
μ€μ | float | 4 | μ ν¨ μ°μ° 7μ리 | float f = 3.14f; (νλͺ μ νμ, 리ν°λ΄ ν¬κΈ° μΆμ) |
double | 8 | μ ν¨ μ°μ° 15μ리 (μΈλ°ν μ°μ° κ°λ₯) | double d = 3.14; (νλͺ μ μλ΅ κ°λ₯) double d1 = 3.14D; |
|
λ¬Έμ | char | 2 | 'λ‘ λ¬Άμ¬μ§ μλ¬Έμ, μ«μ, νκΈμ μ λμ½λ κ°μ μ μ₯ | char c = 'A'; λ¬Έμμ μ λμ½λκ°μ cμ μ μ₯ |
λΆλ¦° | boolean | 1 | true, false μ μ₯ | boolean b = true; boolean b1 = false; |
ν λͺ μ
literalμ ν¬κΈ°λ₯Ό μΌμμ μΌλ‘ λ³κ²½νλ κ²
Lμ λ리기, Fλ μ€μ΄κΈ°
μ μ :
-μ μ literalμ 4byteκ° κΈ°λ³Έ ν¬κΈ° / L,lμ μ μ μμ λ€μ λΆμ¬ 리ν°λ΄μ ν¬κΈ°λ₯Ό 8byteλ‘ λ³κ²½ κ°λ₯
-μ μ μμ κ°μ΄ intμ λ²μλΌλ©΄ μλ΅ κ°λ₯ (int λ²μ μ΄κ³Ό μ λΆμ¬μΌ ν¨)
long l=10; // intμ λ²μμ΄λ―λ‘ μλ΅ κ°λ₯
long l1=2147483648L;// intμ λ²μλ₯Ό μ΄κ³ΌνμΌλ‘ L λͺ
μ
μ€μ :
-μ€μ literalμ 8byteκ° κΈ°λ³Έ ν¬κΈ° / F,fλ₯Ό μ€μ μμ λ€μ λΆμ¬ 리ν°λ΄μ ν¬κΈ°λ₯Ό 4byteλ‘ λ³κ²½ κ°λ₯ (ν¬κΈ° μ€μ΄κΈ°)
-D,dλ μλ΅ κ°λ₯, 리ν°λ΄μ ν¬κΈ°λ₯Ό 8byteλ‘ μ μ§
float f=3.14F; // fκ° λΆμ΄ 4byteλ‘ μ€μ΄λ€κ³ , 4byteλ‘ μΆμλ κ°μ΄ fμ μ μ₯λ¨
double d=3.14D; // dλ μλ΅ κ°λ₯, μ€μ 리ν°λ΄μ ν¬κΈ° 8byteλ₯Ό μ μ§
float f = 0.1234567; μ ν¨ μ°μ° 7μ리
double d = 0.123456789101112131415; μ ν¨ μ°μ° 15μ리, λ§€μ° μΈλ°ν μ°μ° κ°λ₯, μ°μ° μ€λ₯ μμ΄ μ νν μ°μ°λ¨
charset (λ¬Έμμ§ν©)
- λ¬Έμν
8bit λ¬Έμ μ§ν© => νκΈμ΄ μλ€ ( ASCII code ) / μ μ₯곡κ°μ νμν¨
16bit λ¬Έμ μ§ν© => νκΈμ΄ μλ€ ( Unicode ) / μλ°λ 16bit μΈμ΄
μμ€ν€μ½λ: 0~255 λ¬Έμ μ μ₯λ¨ - μμ΄ λ, μλ¬Έμ, νΉμλ¬Έμ λ±
μ λμ½λ: 0~65535 λ¬Έμ μ μ₯ κ°λ₯ (νκΈ, λ§μ κ° μ μ₯ κ°λ₯)
0 - 48
9 - 57
A - 65
Z - 90
a - 97
z - 122
char c = 'A'; // λ¬Έμ 'A'κ° μλ Aμ μ λμ½λ κ° 65(μ μ)κ° cμ μ μ₯λ¨