μ μν(byte, short, int, long) νμ μ ν¬κΈ°
λ°±μ€μμ 3κ°μ§ μλ₯Ό λνλ λ¬Έμ λ₯Ό νμλ€. μμ£Ό μ¬μ΄ λ¬Έμ μμΌλ μλμ κ°μ μ€λ₯κ° λ°μνμλ€.
ν΄λΉ μλ¬λ μ μν λ²μλ‘ μΈν΄ λ°μν λ¬Έμ μλ€. λ°λΌμ μ΄λ²μλ Javaμ μ μν νμ κ³Ό κ° νμ λ³ ν¬κΈ°λ₯Ό λ€μ 볡μ΅ν΄λ³΄κ³ μ νλ€.
Java μλ£ν
μ μνλΆν° λ€μ΄κ°κΈ° μ μ Javaμμλ μλ£νμ ν¬κΈ° 'κΈ°λ³Έν(Primitive type)'κ³Ό 'μ°Έμ‘°ν(reference type)' λ κ°μ§λ‘ λλ μ μλ€. κΈ°λ³Έν λ³μλ μ€μ κ°(data)λ₯Ό μ μ₯νλ λ°λ©΄, μ°Έμ‘°ν λ³μλ μ΄λ€ κ°μ΄ μ μ₯λμ΄ μλ μ£Όμ(memory address)λ₯Ό κ°μΌλ‘ κ°λλ€.
μλ°μ κΈ°λ³Έν νμ μ μλμ κ°λ€.
- λ Όλ¦¬ν(boolean)
- μ μν(byte, short, int, long)
- λ¬Έμν(char)
- μ€μν(float, double)
μ΄λ¬ν νμ λ€μ κ°κ° μ°¨μ§νλ λ©λͺ¨λ¦¬ 곡κ°μ ν¬κΈ°κ° λ€λ₯΄λ€.
Java μλ£ν : κΈ°λ³Έν μ ν λ° ν¬κΈ°
1byte (8bit) | 2byte (16bit) | 4byte (32bit) | 8byte (64bit) | |
λ Όλ¦¬ν | boolean | |||
λ¬Έμν | char | |||
μ μν | byte | short | int | long |
μ€μν | float | double |
μ μν ν¬κΈ°
μ μνμ ν¬κΈ°λ bitμμ λ°λΌ ꡬν μ μλ€. μλ μμμ nμ ν΄λΉνλ bitμλ₯Ό λ£μΌλ©΄ λλ€.
-2^(n-1) ~ 2^(n-1) - 1
λ¬Έμ μμ μ«μμ λ²μλ μλμ κ°μλ€.
μ²μ λ΄κ° λ¬Έμ λ₯Ό νμμ λ int νμ μ μ¬μ©νμλ€.
int νμ μ κ²½μ° 4byteλ‘ -2^(-31) ~ 2^(31)-1 κΉμ§μ λ²μλ₯Ό κ°μ§κ³ μλ€.
2^10 = 1024 => μ½ 10^3
2^31 = 2^10 * 2^10 * 2^10 * 2 = 1024 * 1024 * 1024 * 2 = 2*10^9 μ΄λ―λ‘
λλ΅ 10μ리μ μ«μμ΄λ€.
λ¬Έμ ν΄μλ μ«μ A, B, Cκ° 10μ리 μ΄μμ΄λ―λ‘ κ·Έλ³΄λ€ λ ν° λ²μλ₯Ό κ°μ§ long νμ μ μλ₯Ό μ¬μ©ν΄μΌ νλ€.
μμΌλ‘ λ¬Έμ ν λ, μ μν ν¬κΈ° μ£Όμν΄μ νμ!
π κΈ°μ΅ Point
int μλ£ν → λλ΅ 20μ΅μΌλ‘ 10 μ리 μ