2024-06-21
This commit is contained in:
98
Writerside/topics/Variable.md
Normal file
98
Writerside/topics/Variable.md
Normal file
@@ -0,0 +1,98 @@
|
||||
# 변수
|
||||
|
||||
- 변수는 `var`를 사용해서 선언합니다.
|
||||
|
||||
- 상수는 `val`을 사용해서 선언합니다.
|
||||
|
||||
|
||||
> 자바와 달리, 변수를 최상위 수준에 선언할 수도 있습니다.
|
||||
|
||||
## var
|
||||
|
||||
```kotlin
|
||||
var a: Int = 1 // 선언과 동시에 값을 할당
|
||||
var b = 2 // 자료형이 추론 가능한 경우 생략 가능
|
||||
var c: Int // 값이 나중에 할당되는 경우에는 자료형을 지정해 줘야 합니다.
|
||||
c = 3
|
||||
```
|
||||
|
||||
## val
|
||||
|
||||
```kotlin
|
||||
val a: Int = 1
|
||||
val b = 2
|
||||
val c: Int
|
||||
c = 3
|
||||
```
|
||||
|
||||
## 자료형
|
||||
|
||||
- Byte
|
||||
|
||||
- Short
|
||||
|
||||
- Int
|
||||
|
||||
- Long
|
||||
|
||||
- Float
|
||||
|
||||
- Double
|
||||
|
||||
- Boolean
|
||||
|
||||
- Char
|
||||
|
||||
- String
|
||||
|
||||
|
||||
```kotlin
|
||||
var price = 1200
|
||||
var rate = 1.1
|
||||
var product = "Candy"
|
||||
```
|
||||
|
||||
```kotlin
|
||||
var price: Int = 1200
|
||||
var rate: Double = 1.1
|
||||
var product:String = "Candy"
|
||||
```
|
||||
|
||||
## Null 안정성
|
||||
|
||||
변수 또는 상수가 null 값을 가질 수 있게 하려면 자료형 뒤에 `?`를 붙입니다.
|
||||
|
||||
```kotlin
|
||||
var a: String = "abc"
|
||||
a = null // BAD: can not be a null
|
||||
var b: String? = "abc"
|
||||
b = null // OK. nullable
|
||||
```
|
||||
|
||||
## Null 체크
|
||||
|
||||
```kotlin
|
||||
val v = if (b != null) b.length else -1
|
||||
```
|
||||
|
||||
## Nullable 값의 안전한 사용
|
||||
|
||||
```kotlin
|
||||
println(b?.length)
|
||||
// b가 null인 경우에는 null을 반환하고, 아니면 b의 length를 반환
|
||||
```
|
||||
|
||||
## 엘비스 연산자
|
||||
|
||||
```kotlin
|
||||
val v: Int = if (b != null) b.length else -1
|
||||
|
||||
val v = b?length ?: -1
|
||||
```
|
||||
|
||||
## Not-Null 단언
|
||||
|
||||
```kotlin
|
||||
val l = b!!.length
|
||||
// b가 널이 아님이 확실할 때 사용합니다. b가 null이면 예외가 발생합니다.
|
||||
```
|
||||
Reference in New Issue
Block a user