λ³Έλ¬Έ λ°”λ‘œκ°€κΈ°
Kotlin

[Kotlin] λ³€μˆ˜μ™€ μžλ£Œν˜•

by Bhinney 2023. 10. 25.

πŸ₯Š varκ³Ό val의 차이

  • var : 일반적으둜 ν†΅μš©λ˜λŠ” λ³€μˆ˜, μ–Έμ œλ“ μ§€ 읽기 μ“°κΈ° κ°€λŠ₯
  • val : μ„ μ–Έμ‹œμ—λ§Œ μ΄ˆκΈ°ν™” κ°€λŠ₯, 쀑간에 값을 λ³€κ²½ν•  수 μ—†μŒ

πŸ“Ž μ½”ν‹€λ¦°μ˜ μžλ£Œν˜•

  • μžλ£Œν˜•(Data Type) : μ €μž₯λ˜λŠ” λ°μ΄ν„°μ˜ μ’…λ₯˜μ— λ”°λ₯Έ ν˜•νƒœ, μ €μž₯λ˜λŠ” κ°’μ˜ μ’…λ₯˜μ™€ λ²”μœ„μ— 따라 λ‹€λ₯΄κ²Œ ν‘œκΈ°

1. μ •μˆ˜ μžλ£Œν˜•

1️⃣ μ •μˆ˜ μžλ£Œν˜•

μžλ£Œν˜• 크기 λ²”μœ„
Byte 1bytes(8bits) -128 ~ 127
Short 2bytes(16bits) -32,768 ~ 32,767
Int 4bytes(32bits) -2,147,483,648 ~ 2,147,483,647
Long 8bytes(64bits) -2^63 ~ 2^63-1

 

2️⃣ λΆ€ν˜Έ μ—†λŠ” μžλ£Œν˜•

μžλ£Œν˜• 크기 λ²”μœ„
UByte 1bytes 0 ~ 2^8-1
UShort 2bytes 0 ~ 2^16-1
UInt 4bytes 0 ~ 2^32-1
ULong 8bytes 0 ~ 2^64-1
var intValue : Int = 1234
var longValue : Long = 1234L
var intValueByHex : Int = 0x1af /* 16μ§„μˆ˜λŠ” μ•žμ— 0xλ₯Ό 뢙이면 됨 */
var intValueByBin : Int = 0b10110110 /* 2μ§„μˆ˜λŠ” μ•žμ— 0bλ₯Ό 뢙이면 됨 */

 

+) 가독성을 μœ„ν•΄ 언더바 μ‚¬μš© κ°€λŠ₯

var oneMillion = 1_000_000

❗️코틀린은 8μ§„μˆ˜ λ¦¬ν„°λŸ΄μ„ μ§€μ›ν•˜μ§€ μ•ŠμŒβ—οΈ


2. μ‹€μˆ˜ μžλ£Œν˜•

μžλ£Œν˜• 크기 λ²”μœ„
Float 4bytes(32bits) 1.4E-45 ~ 3.4E+38
Double 8bytes(64bits) 4.9E-324 ~ 1.7E+308
var doubleValue : Double = 123.5
var doubleValueWithExp : Double = 123.5e10 /* μ§€μˆ˜ ν‘œκΈ° */
var floatValue : Float = 123.5f

3. 논리 μžλ£Œν˜•

μžλ£Œν˜• 크기 λ²”μœ„
Boolean 1bits true, false

 

var trueValue : Boolean = true
var falseValue : Boolean = false

4. 문자 μžλ£Œν˜•

μžλ£Œν˜• 크기 λ²”μœ„
Char 2bytes(16bits) 0 ~ 2^15-1
var charValue : Char = 'a'
var koreanCharValue : Char = 'μ•„'

5. λ¬Έμžμ—΄ μžλ£Œν˜•

var stringValue : String = "λ¬Έμžμ—΄ λ³€μˆ˜ 확인"
var multiStringValue : String = """μ—¬λŸ¬ μ€„μ˜
   λ¬Έμžμ—΄μ„
   μ“°λŠ” 방법은
   큰 λ”°μ˜΄ν‘œλ₯Ό 
   μ„Έ 개 μ“°κΈ° """

 

 

λŒ“κΈ€