λ³μμ μλ£ν
β’
λ³μ
β’
μλ£ν
β¦
κΈ°λ³Έ μλ£ν
β¦
μ°Έμ‘° μλ£ν
β¦
λ³μν μΆλ‘ (var)
λ³μ
λ°μ΄ν°λ₯Ό μ μ₯ν μ μλ λ©λͺ¨λ¦¬ 곡κ°
μλ£ν
β’
κΈ°λ³Έ μλ£ν
β’
μ°Έμ‘° μλ£ν
β’
λ³μν μΆλ‘ (var)
κΈ°λ³Έ μλ£ν
μλ° νλ‘κ·Έλλ° μΈμ΄μμ λ©λͺ¨λ¦¬μ κ°μ μ§μ μ μ₯νλ μλ£ν
* null μ κ°μ§ μ μλ€.
μλ£ν | ν¬κΈ° (λΉνΈ) | κΈ°λ³Έκ° | κ°μ λ²μ |
boolean | 1 (JVMμ λ°λΌ λ€λ¦) | false | true λλ false |
byte | 8 | 0 | -128 ~ 127 |
char | 16 | '\u0000' | '\u0000' ~ '\uffff' (0 ~ 65,535) |
short | 16 | 0 | -32,768 ~ 32,767 |
int | 32 | 0 | -2,147,483,648 ~ 2,147,483,647 |
long | 64 | 0L | -9,223,372,036,854,775,808 ~ 9,223,372,036,854,775,807 |
float | 32 | 0.0f | 1.4E-45 ~ 3.4028235E38 |
double | 64 | 0.0d | 4.9E-324 ~ 1.7976931348623157E308 |
μ°Έμ‘° μλ£ν
κ°μ²΄μ μ£Όμλ₯Ό μ°Έμ‘°νλ μλ£ν
β’
ν΄λμ€
β’
μΈν°νμ΄μ€
β’
λ°°μ΄
β’
μ΄κ±°νμ
(enum)
μλ£ν μΆλ‘ (var)
μλ° 10λΆν° λμ
λ μλ£νμΌλ‘, μ§μ λ³μ μ μΈ μ μλ£νμ λͺ
μνμ§ μκ³ μ»΄νμΌλ¬κ° μλ£νμ μΆλ‘ νμ¬ μ νν΄μ£Όλ ν€μλ
var number = 10; // intλ‘ μΆλ‘
var text = "Hello"; // StringμΌλ‘ μΆλ‘
Java
볡μ¬
μ€μ μ°μ°μ νκ³
μ€μ μ°μ°μ νκΈ° μν΄μ, μ»΄ν¨ν°κ° μ€μλ₯Ό 2μ§μλ‘ λ³ννκ² λλ©΄, μ μ λΆλΆμ λ¬Έμ μμ΄ λ³νλμ§λ§ μμ λΆλΆμ 2μ§μ ννμ 무νμμ ννλ‘ λμμ΄ λ°λ³΅λλ€.
10.1 μ μ΄μ§μλ‘ λ³ννλ κ²½μ°
μμ§μ 10μ μ΄μ§μλ‘ 1010 μΌλ‘ λ³νλλ€.
β’
μμ§ μ μλ₯Ό μ΄μ§μλ‘ λ³ννλ λ°©λ² : 10μ 2 λ‘ λλ λλ¨Έμ§λ₯Ό λμ΄ν΄μ μ°κ³ , κ±°κΎΈλ‘ μ½λλ€.
β’
μμ§ μμλ₯Ό μ΄μ§μλ‘ λ³ννλ λ°©λ² : μμ λΆλΆμ 2λ‘ κ³±νκ³ , μ μ λΆλΆμ λμ΄νμ¬ μμλλ‘ μ½λλ€.
μμλ‘ μ΄μ§μλ₯Ό ꡬνλ κ³Όμ μμ 무νμμκ° λ°μνλ€.
μ΄λ¬ν μμΈ λλ¬Έμ μ€μ μ°μ°μ νκ³κ° λ°μνλ€.
0.1μ μ΄μ§μλ₯Ό ꡬνλ€λ©΄,
0.1 Γ 2 = 0.2 β 0
0.2 Γ 2 = 0.4 β 0
0.4 Γ 2 = 0.8 β 0
0.8 Γ 2 = 1.6 β 1
0.6 Γ 2 = 1.2 β 1
0.2 Γ 2 = 0.4 β 0
0.4 Γ 2 = 0.8 β 0
0.8 Γ 2 = 1.6 β 1
...
Java
볡μ¬
0.000110011001100110011001100110011001100110011... (무ν λ°λ³΅)
Java
볡μ¬
μ΄λ¬ν νμμ΄ μκΈ° λλ¬Έμ, μμμ μ€μ μ°μ°μ νκ³κ° λ°μνλ€.
ν΄κ²° λ°©λ²
BigDecimal κ°μ²΄λ₯Ό μ΄μ©νμ¬ μ°μ° λ©μλλ₯Ό μ¬μ©νμ¬, μ€μ μ°μ° μ€μ°¨λ₯Ό ν΄κ²°ν μ μλ€.
import java.math.BigDecimal;
public class BigDecimalExample {
public static void main(String[] args) {
BigDecimal a = new BigDecimal("0.1");
BigDecimal b = new BigDecimal("0.2");
BigDecimal c = a.add(b);
System.out.println(c); // μ νν 0.3 μΆλ ₯
}
}
Java
볡μ¬
μλ ν λ³ν
μμ μλ£νμμ ν° μλ£νμΌλ‘ μλμΌλ‘ λ³νλλ κ²
μΌμͺ½ λ³μλ₯Ό κΈ°μ€μΌλ‘ μλ£νμ΄ λ³νλλ κ²μΌλ‘, ν¬κΈ°κ° μμ μλ£νμ λ ν° μλ£νμΌλ‘ λ³ννλ κ²½μ° μλμΌλ‘ λ°μνλ€.
int intValue = 10;
long longValue = intValue; // intκ° longμΌλ‘ μλ λ³ν
double doubleValue = longValue; // longμ΄ doubleλ‘ μλ λ³ν
System.out.println(longValue); // 10
System.out.println(doubleValue); // 10.0
Java
볡μ¬
λͺ μμ ν λ³ν (κ°μ ν λ³ν)
ν° μλ£νμ μμ μλ£νμΌλ‘ λμ
ν λ κ°μ λ‘ μλ£νμ λ³ννλ κ²
λ³νν μλ£νμ λͺ
μνμ¬ κ°μ λ‘ μλ£νμ λ³ννλ κ²μΌλ‘, ν¬κΈ°κ° ν° μλ£νμ λ μμ μλ£νμΌλ‘ λ³ννλ κ²½μ° μ¬μ©νλ€.
double doubleValue = 10.5;
int intValue = (int) doubleValue; // doubleμ intλ‘ κ°μ λ³ν
System.out.println(intValue); // 10 (μμμ μ΄ν λ²λ¦Ό)
long longValue = 300;
byte byteValue = (byte) longValue; // longμ byteλ‘ κ°μ λ³ν
System.out.println(byteValue); // 44 (λ°μ΄ν° μμ€ λ°μ)
Java
볡μ¬






