2. λ³μμ μλ£ν
λ³μλ 무μμΈκ°
λ³μ: κ°μ μ μ₯ν 곡κ°μ μ΄λ¦
μλ£ν: μ΄λ€ ννμ μλ£λ₯Ό μ μ₯ν κ²μΈμ§μ νν
// μλ£ν λ³μ μ΄λ¦
int level; // λ³μ μ μΈ
level = 10; // μ΄κΈ°ν
int level = 10; // λ³μ μ μΈ λ° μ΄κΈ°ν
[λ³μ μ΄λ¦ μ μ½μ¬ν]
- λ³μ μ΄λ¦μ μλ¬Έμλ μ«μ, νΉμ λ¬Έμ $μ _λ§ μ¬μ© κ°λ₯
- λ³μ μ΄λ¦μ μ«μλ‘ μμ X
- μλ°μμ μ΄λ―Έ μ¬μ© μ€μΈ μμ½μ΄λ μ¬μ© X
[λ³μ μ΄λ¦ μ μ§λ λ°©λ²]
- μ¬μ© λͺ©μ μ λ§κ² μλ―Έ λΆμ¬ν΄μ λ§λλ κ²μ΄ μ’μ
- μ€κ°μ λ€λ₯Έ λ»μ λ¨μ΄κ° λ±μ₯ν λμλ μΉ΄λ© νκΈ°λ²μΌλ‘ μμ±
κΈ°λ³Έ μλ£νμ μ’ λ₯
κΈ°λ³Έ μλ£ν: μλ° λΌμ΄λΈλ¬λ¦¬μμ κΈ°λ³ΈμΌλ‘ μ 곡νλ©°, μΌλ§λ§νΌμ λ©λͺ¨λ¦¬λ₯Ό μ΄λ»κ² μ¬μ©ν κ²μΈμ§κ° μ΄λ―Έ μ ν΄μ Έ μμ
μ°Έμ‘° μλ£ν: ν΄λμ€λ‘, μλ°μμ μ 곡νλ κ²λ μκ³ , κ°λ°μκ° μ§μ λ§λ ν΄λμ€λ μμ
| μ μν | λ¬Έμν | μ€μν | λ Όλ¦¬ν | |
| 1λ°μ΄νΈ | byte | - | - | boolean |
| 2λ°μ΄νΈ | short | char | - | - |
| 3λ°μ΄νΈ | int | - | float | - |
| 4λ°μ΄νΈ | long | - | double | - |
μ μ μλ£ν
μμ, μμ, 0μ λνλ΄λ λ° μ¬μ©νλ μλ£νμΌλ‘, byteν, shortν, intν, longν 4κ°μ§ μλ£νμΌλ‘ λνλΌ μ μλ€.
λΆνΈκ° μλ μλ₯Ό ννν λ 맨 μμ λΉνΈλ λΆνΈλ₯Ό λνλΈλ€. λΆνΈ λΉνΈκ° 0μ΄λ©΄ μμ, 1μ΄λ©΄ μμμ΄λ€. λν, 0μ λͺ¨λ λΉνΈκ° 0μ΄λ―λ‘ μμμ λ²μλ 0μ λΉΌμΌνλ€.
κ° μ μ μλ£νμ λ°λΌ ννν μ μλ μμ μ ν¨ λ²μλ λ€μκ³Ό κ°λ€.
| μλ£ν | λ°μ΄νΈ ν¬κΈ° | μμ λ²μ |
| byte | 1 | $-2^7$ ~ $2^7-1$ |
| short | 2 | $-2^{15}$ ~ $2^{15}-1$ |
| int | 4 | $-2^{31}$ ~ $2^{31}-1$ |
| long | 8 | $-2^{63}$ ~ $2^{63}-1$ |
1) byteν
- 1λ°μ΄νΈλ 8λΉνΈ
- λ°μ΄νΈ λ¨μμ μ 보λ₯Ό μ μ₯νκ±°λ ν΅μ ν λ μ£Όλ‘ μ¬μ©
- λ²μλ₯Ό λμ΄μλ κ°μ νμ© X
2) shortν
- 2λ°μ΄νΈλ‘ μ μλ₯Ό νννλ μλ£ν
- λ²μλ₯Ό λμ΄μλ κ°μ νμ© X
3) intν
- μ μλ₯Ό ννν λ κ°μ₯ λ§μ΄ μ¬μ©νλ μλ£ν
- κ½€ ν° λ²μμ μ μ νν κ°λ₯
- μ μ μλ£νμ int νμ κ°μ₯ λ§μ΄ μ¬μ©νλ μ΄μ : μ»΄ν¨ν°μμ μ μλ₯Ό μ°μ°ν λ 4λ°μ΄νΈ λ¨μλ‘ μ²λ¦¬νλ κ²μ΄ κ°μ₯ ν¨μ¨μ μ΄κΈ° λλ¬Έ
- byteν λ³μμ shortν λ³μλ₯Ό λνλ μ°μ°μ μννλ©΄, λ μ μλ₯Ό λνκΈ° μ λ μ μλ λͺ¨λ intνμΌλ‘ λ³νλμ΄ λν κ²°κ³Ό κ°λ intνμΌλ‘ μ μ₯λ¨
4) longν
- μ μλ₯Ό νννλ κ°μ₯ ν° λ¨μμ μλ£ν
- intν λ²μλ₯Ό λμ΄μλ μ μλ₯Ό μ¬μ©ν λ longν μ¬μ©
- μλ°λ λͺ¨λ μ μ κ°μ κΈ°λ³ΈμΌλ‘ intνμΌλ‘ μ²λ¦¬νκΈ° λλ¬Έμ longνμΌλ‘ μ²λ¦¬νλΌκ³ μ»΄νμΌλ¬μκ² μλ €μ€μΌ ν¨! λ°λΌμ, longνμ λνλ΄λ μλ³μμΈ Lμ΄λ lμ μ¬μ©νλ €λ μ«μ λ€μ λΆμ ex) long num = 12345678900L;
- 'long num = 1000;'μ longνμ μ°λλΌλ μ€λ₯κ° λμ§ μμ. κ·Έ μ΄μ λ 1000μ΄λΌλ μ«μκ° intν λ²μλ₯Ό λμ§ μκ³ intνμ΄ longνμΌλ‘ μλν λ³νλκΈ° λλ¬Έμ. μ¦, λ²μ λ΄λΆμ μλ κ°μ μ¬μ©ν λλ μλ³μ νμ μμ
λ¬Έμ μλ£ν
μ»΄ν¨ν°λ 0κ³Ό 1λ‘λ§ ννκ°λ₯νλ―λ‘, λ¬Έμ μμ μ»΄ν¨ν° λ΄λΆμμ ννν λ 0κ³Ό 1μ μ‘°ν©μΌλ‘ λνλ΄μΌν¨
λ¬Έμ μΈνΈ: μ΄λ€ λ¬Έμλ₯Ό μ»΄ν¨ν° λ΄λΆμμ ννν λ νΉμ μ μ κ°μ λͺ¨μλ κ²
λ¬Έμ μΈμ½λ©: λ¬Έμλ₯Ό μ ν΄μ§ μ½λ κ°μΌλ‘ λ³ννλ κ²
- κΈ°λ³Έμ΄ λλ λ¬Έμ μΈμ½λ©μ μμ€ν€ μ½λμ
- μμ€ν€ μ½λλ μλ¬Έμ, μ«μ, νΉμ λ¬Έμ λ±μ λνλ΄λ λ¬Έμ μΈνΈ
- μμ€ν€ μ½λλ 1λ°μ΄νΈλ§ μ¬μ©
- κ° μΈμ΄μ νμ€ μΈμ½λ©μ μ μν΄ λμ κ²μ΄ μ λμ½λμ
- μ λμ½λμ 1λ°μ΄νΈλ μμ€ν€ μ½λ κ°κ³Ό νΈνλκ³ , κ·Έ λ°μ λ¬Έμλ₯Ό 2λ°μ΄νΈλ κ·Έ μ΄μμ μ‘°ν©μΌλ‘ ννν¨
- μλ°λ μ λμ½λμ κΈ°λ°νμ¬ λ¬Έμλ₯Ό νννκΈ° λλ¬Έμ, μλ°μ λ¬Έμ μλ£νμΈ charνμ 2λ°μ΄νΈλ₯Ό μ¬μ©
- char myChar = 'A'; μ²λΌ μ μΈ κ°λ₯
- λ¬Έμλ₯Ό λ³μμ λμ νλ©΄ λ¬Έμ κ·Έλλ‘ μ μ₯λλ κ²μ΄ μλλΌ, κ·Έ λ¬Έμμ ν΄λΉνλ μ μ κ°(μμ€ν€ μ½λ κ°)μ΄ μ μ₯λ¨
- charνμ λ¬Έμ μλ£νμ΄μ§λ§ μ»΄ν¨ν° λ΄λΆμμλ μ μ κ°μΌλ‘ ννλκΈ° λλ¬Έμ μ μ μλ£νμΌλ‘ λΆλ₯νλ κ²½μ°λ μμ§λ§, charνμ μμ κ°μ ννν μ μμ
λ¬Έμ λμ½λ©: μ½λ κ°μ λ€μ λ¬Έμλ‘ λ³ννλ κ²
λ¬Έμλ₯Ό μ¬μ©ν λλ νμ μμ λ°μ΄ν('')λ₯Ό μ¬μ©ν¨
λ¬Έμλ₯Ό μ¬λ¬ κ° μ΄μ λ¬Έμμ΄μ μ¬μ©ν λλ ν° λ°μ΄ν("")λ₯Ό μ¬μ©νκ³ , κΈ°λ³Έ μλ£νμΌλ‘λ ννν μ μμ. λν, λ¬Έμμ΄ λμλ νμ λ λ¬Έμ(\0)κ° μμ(λ λ¬Έμλ λ¬Έμμ΄μ λμ λνλ) → String ν΄λμ€ μ¬μ©
μ€μ μλ£ν
μ»΄ν¨ν° λ΄λΆμμλ μ€μλ₯Ό λΆλ μμμ λ°©μμΌλ‘ ννν¨
μ€μ μλ£νμλ floatνκ³Ό doubleνμ΄ μμ
floatν = λΆνΈ 1λΉνΈ + μ§μλΆ 8λΉνΈ + κ°μλΆ 23λΉνΈ = μ΄ 32λΉνΈ(4λ°μ΄νΈ)
doubleν = λΆνΈ 1λΉνΈ + μ§μλΆ 11λΉνΈ + κ°μλΆ 52λΉνΈ = μ΄ 64λΉνΈ(8λ°μ΄νΈ)
μλ°μμ μ€μλ doubleνμ κΈ°λ³ΈμΌλ‘ μ¬μ©ν¨. floatνμ λΉν΄ doubleνμ΄ λ μ λ°νκ² μ€μ νν κ°λ₯ν¨
λ°λΌμ, floatνμΌλ‘ λμ λλ κ°μ doubleνμ΄ μλ floatν κ°μ΄ λμ λλ€λ μλ―Έλ‘ F λλ fλ₯Ό μ«μ λ€μ λΆμ¬μ μλ³ν΄μ£Όμ΄μΌ ν¨
λ Όλ¦¬ μλ£ν
λ Όλ¦¬ μλ£νμ μ΄λ€ λ³μμ μ°Έ, κ±°μ§μ κ°μ λνλ΄λ λ° μ¬μ©ν¨. μ’ λ₯λ booleanν νκ°μ§μ
booleanν λ³μλ 1λ°μ΄νΈ κ°μ μ μ₯ν¨
μμμ 리ν°λ΄
μμ(constant)
νμ λ³νμ§ μλ κ°μΌλ‘, final μμ½μ΄λ₯Ό μ¬μ©ν΄ μ μΈν¨
final double PI = 3.14;
- μμ μ΄λ¦μ λλ¬Έμλ₯Ό μ£Όλ‘ μ¬μ©νκ³ , μ¬λ¬ λ¨μ΄λ₯Ό μ°κ²°νλ κ²½μ°μ _ κΈ°νΈλ₯Ό μ¬μ©νλ©΄ 보기 μ’μ
- ν λ² μ μΈν μμλ λ³νμ§ μκΈ° λλ¬Έμ μ μΈκ³Ό λμμ κ°μ μ§μ νλ κ²μ΄ μ’μ
- νλ‘κ·Έλ¨ λ΄λΆμμ λ°λ³΅μ μΌλ‘ μ¬μ©νκ³ , λ³νμ§ μμμΌ νλ κ°μ μμλ‘ μ μΈνμ¬ μ¬μ©νλ©΄ μ’μ
리ν°λ΄(literal)
νλ‘κ·Έλ¨μμ μ¬μ©νλ λͺ¨λ μ«μ, λ¬Έμ, λ Όλ¦¬κ°μ μΌμ»«λ λ§λ‘, 리ν°λ΄μ νλ‘κ·Έλ¨μ΄ μμν λ μμ€ν μ κ°μ΄ λ‘λ©λμ΄ νΉμ λ©λͺ¨λ¦¬ 곡κ°μΈ μμ ν(constant pool)μ λμ
μ¦, μ«μκ° λ³μμ λμ λλ κ³Όμ μ μΌλ¨ μ«μ κ°μ΄ μ΄λκ° λ©λͺ¨λ¦¬μ μ°μ¬ μκ³ , μ΄ κ°μ΄ λ€μ λ³μ λ©λͺ¨λ¦¬μ 볡μ¬λλ κ²μ
ν λ³ν
μ μμ μ€μλ₯Ό λνλ€κ³ ν λ κ·Έλλ‘ μ°μ°μ μνν μ μκ³ νλμ μλ£νμΌλ‘ ν΅μΌν ν μ°μ°μ ν΄μΌν¨. μ΄λ ν λ³νμ΄ μ΄λ£¨μ΄μ§
ν λ³νμ κ° λ³μμ μλ£νμ΄ λ€λ₯Ό λ μλ£νμ κ°κ² λ°κΎΈλ κ²μΌλ‘, ν¬κ² 묡μμ ν λ³ν(μλ ν λ³ν)κ³Ό λͺ μμ ν λ³ν(κ°μ ν λ³ν)μΌλ‘ ꡬλ³λ¨
[ν λ³νμ κΈ°λ³Έ μμΉ]
- λ°μ΄νΈ ν¬κΈ°κ° μμ μλ£νμμ ν° μλ£νμΌλ‘ ν λ³νμ μλμΌλ‘ μ΄λ£¨μ΄μ§
- λ μ λ°ν μλ£νμμ λ μ λ°ν μλ£νμΌλ‘ ν λ³νμ μλμΌλ‘ μ΄λ£¨μ΄μ§

묡μμ ν λ³ν(=μλ ν λ³ν)
1. λ°μ΄νΈ ν¬κΈ°κ° μμ μλ£νμμ ν° μλ£νμΌλ‘ λμ νλ κ²½μ°
byte bNum = 10;
int iNum = bNum; // byteν λ³μ bNum κ°μ intν λ³μ iNumμ λμ
2. λ μ λ°ν μλ£νμμ λ μ λ°ν μλ£νμΌλ‘ λμ νλ κ²½μ°
int iNum2 = 20;
float fNum = iNum2;
3. μ°μ° μ€μ μλ λ³νλλ κ²½μ°
int iNum = 20;
float fNum = iNum;
double dNum;
dNum = fNum + iNum;
// iNumμ΄ floatνμΌλ‘ λ³νλκ³ , λ λ³μλ₯Ό λν κ°μ΄ doubleνμΌλ‘ λ³νλ¨
λͺ μμ ν λ³ν(=κ°μ ν λ³ν)
1. λ°μ΄νΈ ν¬κΈ°κ° ν° μλ£νμμ μμ μλ£νμΌλ‘ λμ νλ κ²½μ°
int iNum = 10;
byte bNum = (byte)iNum; // κ°μ λ‘ νμ λ°κΎΈλ €λ©΄ λ°κΏ νμ κ΄νΈλ‘ μ¨μ λͺ
μν΄μΌ ν¨
2. λ μ λ°ν μλ£νμμ λ μ λ°ν μλ£νμΌλ‘ λμ νλ κ²½μ°
double dNum = 3.14;
int iNum2 = (int)dNum;