Hello, Android!
문자열 String 본문
기본 문자를 저장하는 타입은 Char은 기본형으로 처리가 되지만
문자열인 String은 기본형에 속하지 않는 특수한 자료형이다
다른 변수의 선언과 같이
키워드 변수명: 자료형 = 값 의 형태로 선언한다
1
2
3
|
var name1: String = "Kotlin"
var name2: String = "java"
var name3: String = "Kotlin"
|
한가지 특징으로는 위와 같이 1번 3번 줄에서 같은 값의 문자열을 저장하면
메모리 힙 영역의 스트링 풀에 Kotlin 이라는 문자열은 한번만 저장이 되고
스택 영역의 name1과 name3은 힙 영역의 0x10번을 같이 참조한다
문자열 표현식
코틀린에서 문자열 내에 다른 변수를 넣을때는 $ 기호를 사용한다
1
2
3
4
5
6
|
fun main(){
var name1: String = "Kotlin"
println("name1 : $name1")
}
|
위와 같이 사용할 경우 name1 : Kotlin 이 출력되는 것을 확인할수 있다
변수가 아닌 표현식을 문자열에 그대로 포함시키는 경우에는 중괄호를 사용한다
1
2
3
4
5
6
7
|
fun main(){
var num: Int = 11
var name1: String = "Kotlin"
var name2: String = "a = ${num + 9}"
println("name1 : $name2")
}
|
위와 같이 사용하게되면 var name2: String = "a = ${num + 9}" 에서
${num + 9}의 num에 할당된 값인 11이 들어와 "a = 20"이라는 문자열이 된다
1
2
3
4
5
6
7
|
fun main(){
var num: Int = 11
var name1: String = "Kotlin"
var name2: String = "a = ${name1 + 9}"
println("name1 : $name2")
}
|
문자열 표현식에 문자열("Kotlin")에 +9를 하니 별 문제 없이 "Kotlin9" 가 출력된다
1
2
3
4
5
6
|
fun main(){
var name1: String = "Kotlin"
var name2: String = "Java"
println("name1 : \"$name1\" and name2 \"$name2\" ")
}
|
백슬레시(\) 를 사용하게되면 기호를 문자로 취급하여 문자열에 넣을수 있다
위와 같이 사용한 결과(name1 : "Kotlin" and name2 "Java" ) 가 나왔다
백슬레시 뒤의 큰따옴표가 문자로 취급되어 출력된 것을 확인할 수 있다
코틀린에는 형식화된 문자열(formattedString)이 존재한다
우선 사용법으로는 """ """ 안에 필요한 문자열을 넣는 것이다
안에 들어간 여러 줄의 문자열을 형태 그대로 출력해준다
1
2
3
4
5
6
7
|
fun main(){
var name1: String = """
kotlin v1.3
java v13
"""
println(name1)
}
|
위와 같이 형식화된 문자열을 출력한 결과
3, 4번째 줄에서 문자열 앞에 들어간 공백까지 그대로 출력 되는것을 확인할 수 있다.
'Kotlin' 카테고리의 다른 글
스마트 캐스트, 자료형 검사 (0) | 2020.02.22 |
---|---|
코틀린의null (0) | 2020.02.19 |
import와 확장함수 (0) | 2018.11.26 |
조건분기 when if (0) | 2018.11.22 |
코틀린 함수와 변수 (0) | 2018.11.22 |