Kotlin μ«μ νμ
μ μ νμ
νμ | ν¬κΈ° (bits) | μ΅μκ° | μ΅λκ° |
---|---|---|---|
Byte |
8 | -128 | 127 |
Short |
16 | -32,768 (-2^15) | 32,767 (2^15 - 1) |
Int |
32 | -2,147,483,648 (-2^31) | 2,147,483,647 (2^31 - 1) |
Long |
64 | -9,223,372,036,854,775,808 (-2^63) | 9,223,372,036,854,775,807 (2^63 - 1) |
μ μλ‘ μμμ μ μΈλ λ³μ μ€ Int
μ΅λκ° μ΄νμ κ°μ Int
νμ
μΌλ‘ μ μΈλλ©°, Int
μ΅λκ°μ μ΄κ³Όνλ κ²½μ°λ Long
νμ
μΌλ‘ μ μΈλλ€. Long
μΌλ‘ μ μΈνκ³ μΆλ€λ©΄ L
suffixλ₯Ό λΆμ΄λ©΄ λλ€.
val one = 1 // Int
val threeBillion = 3000000000 // Long
val oneLong = 1L // Long
val oneByte: Byte = 1
μ€μ νμ
νμ | ν¬κΈ° (bits) | Significant bits | Exponent bits | Decimal digits |
---|---|---|---|---|
Float |
32 | 24 | 8 | 6-7 |
Double |
64 | 53 | 11 | 15-16 |
μμμ μ΄ μλ μλ₯Ό μ μΈνμ¬ Doulbe
λλ Float
νμ
μ μ μν μ μλ€. μμμ μ΄ μλ μλ μ»΄νμΌλ¬κ° Double
νμ
μΌλ‘ μΆλ‘ νλ©°, f
λλ F
suffixλ₯Ό λΆμ΄κ±°λ, 6-7 κ°κ° λλ μκ° ν¬ν¨λλ©΄ Float
νμ
μΌλ‘ μΆλ‘ νλ€.
val pi = 3.14 // Double
// val one: Double = 1 // Error: type mismatch
val oneDouble = 1.0 // Double
val e = 2.7182818284 // Double
val eFloat = 2.7182818284f // Float
λ€λ₯Έ μΈμ΄λ€κ³Ό λ€λ₯΄κ², Kotlinμ μμμ μΌλ‘ μ«μλ₯Ό νμ₯νμ¬ λ³νν΄μ£Όμ§ μλλ€. μλ₯Ό λ€μ΄, Double
νλΌλ―Έν°λ₯Ό λ°λ ν¨μλ Double
νμ
λ§μΌλ‘λ§ νΈμΆ κ°λ₯νλ€.
fun main() {
fun printDouble(d: Double) { print(d) }
val i = 1
val d = 1.0
val f = 1.0f
printDouble(d)
// printDouble(i) // Error: Type mismatch
// printDouble(f) // Error: Type mismatch
}
λ€λ₯Έ νμ μΌλ‘ λ³νν λλ λͺ μμ λ³νμ μ¬μ©νλ€.
Literal constants (리ν°λ΄ μμ)
- μ μ:
123
- Long (λλ¬Έμ
L
):123L
- Long (λλ¬Έμ
- 16μ§μ:
0x0F
- λ°μ΄λ리:
0b00001011
- Double:
123.4
,123.5e10
- Float (
f
λλF
):123.5f
JVMμμμ μ«μ νν
JVMμμ μ«μλ int
, double
λ±κ³Ό κ°μ primitive νμ
μΌλ‘ μ μ₯λλ€. Kotlinμ Nullable μ°Έμ‘° (ex, Int?
)λ Javaμ boxed νμ
(Integer
, Double
, β¦)μΌλ‘ μ μ₯λλ€.
-> Nullable μ°Έμ‘°λ κ°μ μ«μμ΄λλΌλ λ€λ₯Έ κ°μ²΄κ° λ μ μλ€.
val a: Int = 100
val boxedA: Int? = a
val anotherBoxedA: Int? = a
val b: Int = 10000
val boxedB: Int? = b
val anotherBoxedB: Int? = b
println(boxedA === anotherBoxedA) // true
println(boxedB === anotherBoxedB) // false
Comments