-λ³μ μ μΈ
1) val
: λ§μ½ μ¬λ¬λΆμ΄ μ¬μ©ν λ³μμ κ°μ΄ λ³κ²½λμ§ μμμΌ ν λ μ¬μ©
val username: String = "Kildong"
λ³μμ΄λ¦ μλ£ν κ°
ex)
2) var
: λ³μμ κ°μ΄ λ³κ²½λμ΄μΌ ν λ μ¬μ©
ex)
3κ³Ό κ°μ΄ μ»΄νμΌλ¬λ μ μ μλ μλ£ν(:[ String])μ μλ΅ν΄λ λλ€.
μλ£νμ νμΈνλ €λ©΄ Ctrl+Shift+Pλ‘ λ€μκ³Ό κ°μ΄ νμΈν μ μλ€.
3) λ³μ μ μΈ μ
val username = "Kildong"
//μλ£νμ μΆλ‘ νμ¬ StringμΌλ‘ κ²°μ
var username
//μλ£νμ μ§μ νμ§ μμ λ³μλ μ¬μ©ν μ μμ
val init: Int
//μ¬μ© μ νΉμ μμ±μ μμ μμ initλ³μλ₯Ό μ΄κΈ°νν΄μΌν¨
val number = 10
//numberλ³μλ IntνμΌλ‘ μΆλ‘
4) λ³μ μ΄λ¦ μ§μλ μ£Όμμ¬ν
-λ³μ μ΄λ¦μ 123abcμ κ°μ΄ μ«μλ‘ μμνλ©΄ μ λ©λλ€.
-λ³μ μ΄λ¦μλ while, ifμ κ°μ΄ μ½νλ¦°μμ μ¬μ©λλ ν€μλλ μ¬μ©ν μ μμ΅λλ€.
-λ³μ μ΄λ¦μ μλ―Έ μλ λ¨μ΄λ₯Ό μ¬μ©νμ¬ λ§λλ κ²μ΄ μ’μ΅λλ€.
-μ¬λ¬ λ¨μ΄λ₯Ό μ¬μ©νμ¬ λ³μ μ΄λ¦μ μ§μ κ²½μ° μΉ΄λ© νκΈ°λ²(Camel Expression)μ μ¬μ©νμΈμ.
ex) camelCase, numberOfBooks
-ν΄λμ€, μΈν°νμ΄μ€ λ±μ μλ΄ λν/ νμ€μΉΌ νκΈ°λ² μ¬μ©
ex)AnimalCategory, CarEngine
1) κΈ°λ³Έν
int
string
float
double
2) μ°Έμ‘°ν: λμ 곡κ°μ λ°μ΄ν°λ₯Ό λ λ€μ μ΄κ²μ μ°Έμ‘° => μ½νλ¦°
Int
Long
Float
Double
λ³΄ν΅ νλ‘κ·Έλλ° μΈμ΄μ μλ£νμ κΈ°λ³Έν μλ£νκ³Ό μ°Έμ‘°ν μλ£νμΌλ‘ ꡬλΆνλ©° μ½νλ¦°μ μ°Έμ‘°ν μλ£νμ μ¬μ©ν©λλ€.
κΈ°λ³Έν(Primitive Data Type)μ λ§ κ·Έλλ‘ κ°κ³΅λμ§ μμ μμν μλ£νμ λ§νλ©° νλ‘κ·Έλλ° μΈμ΄μ λ΄μ₯λμ΄ μμ΅λλ€. μ°Έμ‘°ν(Reference Type)μ κ°μ²΄λ₯Ό μμ±νκ³ λμ 곡κ°μ λ°μ΄ν°λ₯Ό λ λ€μ μ΄κ²μ μ°Έμ‘°νλ μλ£νμ λ§ν©λλ€ . μλ°μμλ int, long, float, double λ± κΈ°λ³Ένκ³Ό String, Dateμ κ°μ μ°Έμ‘°νμ λͺ¨λ μ¬μ©νμ§λ§ μ½νλ¦°μμλ μ½λ©ν λλ μ°Έμ‘°νλ§ μ¬μ©νλ©° μ΄κ²μ λ€μ μ½νλ¦°μ μ±λ₯ μ΅μ νμ λ°λΌ JVMμ μ€ννκΈ° μν΄ μ½νλ¦° μ»΄νμΌλ¬μμ κΈ°λ³ΈνμΌλ‘ λ체λ©λλ€.
u = unsigned
_ μΈλ μ€μ½μ΄λ μν₯μ λ―ΈμΉμ§ μμ μ΄λλ λ£μ΄λ λλ€!
3) IEEE λ°©μμ λΆλ μμμ μ ν
μ΄ λ λ€λ₯Έ μ΄μΌκΈ°μ§λ§, IntelliJ λ€μ΄ λ°κ³ λμ μ²μ νλ‘μ νΈλ₯Ό λ§λ€κ³ , ν¨ν€μ§λ₯Ό λ§λλ μμ λ₯Ό νλ €κ³ νλλ°, ν¨ν€μ§ μμ± λ²νΌμ΄ μμ΄μ λΉν©νλ€.
=>ν΄κ²°: src νμΌμ μ°ν΄λ¦νμ¬ [Mark Directory as - Source Root]λ‘ μ€μ ν΄μ£Όλ©΄ ν΄κ²°λλ€!
**κΏν: [Alt + Shift + μ νλΆλΆ] : λμ νΈμ§ κ°λ₯!!
1) 2μ 보μ: μμ κ³μ°μ μ λκ°μ μ΄μ§μμ κ°μ λ€μ§κ³ 1μ λνλ€.
ex_ -6(10)
6μ 2μ§κ°: 0000 0110(2)
κ° λ€μ§κΈ°: 1111 1001(2)
1μ λνκΈ°: 1111 1010(2)
=> κ°μ° μ°μ°λ§μΌλ‘ λΊμ
μ ννν μ μμ(μλκ° λΉ λ₯΄λ€)
2) λ
Όλ¦¬ μλ£ν
Boolean: 1λΉνΈ, true, false
val isOpen = true
val isUploaded: Boolean//μ μΈλ§ ν κ²½μ°λ μλ£ν λͺ
μ
3) λ¬Έμ μλ£ν
Char: 2λ°μ΄νΈ(16λΉνΈ)
val ch = 'c'
val ch2: Char
4) λ¬Έμμ΄
StringμΌλ‘ μ μΈλλ©°, String Poolμ΄λΌλ 곡κ°μ ꡬμ±
===: μ°Έμ‘° λΉκ΅
λ¬Έμμ΄μ λ΄μ©μ΄ κ°μΌλ©΄ κ°μ κ³³μ μ°Έμ‘°νλ€.
val s1 = "a is $a"//String μλ£νμ s1μ μ μΈ, μ΄κΈ°ν
λ¬Έμμ΄μ ννμ μ¬μ©ν κ²
*μ½νλ¦°μ λ³μ μ μΈμ κΈ°λ³Έμ μΌλ‘ nullμ νμ©νμ§ μλλ€.
val a: Int = 30
//μ΄κΈ°νκ° νμ
=> null κ°λ₯ν μ μΈ
val a: Int? = null
var b: String? = null
=>NPE: μ¬μ©ν μ μλ nullμΈ λ³μμ μ κ·Όνλ©΄ λ°μνλ μμΈ
?. : str1μ΄ λμ΄ μλλλ§ μ€ν
!!. : non-null λ¨μ κΈ°νΈ, λμΌλ¦¬κ° μλ€! λμ΄λλΌλ μ€νν΄λΌ!
=> λμ΄λ©΄ NPE λ°μ
=> μ°μ§ μλ κ²μ΄ μ’λ€
νλ¨λ¬Έ: λ§μΌ str1μ΄ λμ΄ μλλΌλ©΄ κΈΈμ΄λ₯Ό ꡬνκ³ , μλλ©΄ -1 λ°ν
=> μΈμ΄νμ½(?.)-μμ νΈμΆ, μλΉμ€ μ°μ°μ(?:)λ₯Ό νμ©ν΄ λμ νμ©νλ λ³μλ₯Ό λ μμ νκ² μ¬μ©ν μ μλ€.
(1) μ½νλ¦°μ μλ£ν λ³ν
toByte: Byte
toLong: Long
toShort: Short
toFloat: Float
toInt: Int
toDouble: Double
toChar: Char
-ννμμμ μλ£νμ μλ λ³ν
val result = 1L + 3//Long + Int => result(Long)
(2) λΉκ΅
==: κ°λ§ λΉκ΅
===: κ°κ³Ό μ°Έμ‘° μ£Όμ λΉκ΅
(3) μ€λ§νΈ μΊμ€νΈ
=> νμμ λ°λΌ μλ£ν λ°κΎΈλ Number νμ μ΄ μμμ΄λ€
λ§μ½ μ΄λ€ κ°μ΄ μ μμΌ μλ μκ³ μ€μμΌ μλ μλ€λ©΄ μ΄λ»κ² ν΄μΌ ν κΉμ? κ·Έλλ§λ€ μλ£νμ λ³νν΄λ λμ§λ§ Numberνμ μ¬μ©νλ©΄ μ«μλ₯Ό μ μ₯νκΈ° μν νΉμν μλ£ν κ°μ²΄λ₯Ό λ§λλλ€. NumberνμΌλ‘ μ μλ λ³μμλ μ μ₯λλ κ°μ λ°λΌ μ μ, μ€μ λ±μΌλ‘ μλ£νμ΄ λ³νλ©λλ€. μ΄μ κ°μ΄ μμ μλ£νμ νμ μλ£νμ λͺ¨λ ν¬ν¨νλ―λ‘ νμμ μνλ μ΄λ€ μλ£νμΌλ‘λ λ³ν ν μ μμ΅λλ€. λ€λ§ Stringμ Numberμ μνμ§ μμΌλ―λ‘ λ³νν μ μμ΅λλ€.
(4) κ²μ¬ - isν€μλ
val num = 256
if(num is Int){
println(num)
}else if(num !is Int){
println("Not a Int")
}
(5) 묡μμ λ³ν - Any
var a: Any = 1
a = 20L
λ κΈ°λ³Έμ μ΄λ μλ΅!!