-
Notifications
You must be signed in to change notification settings - Fork 1
Open
Labels
200 Solved초보자를 위한 200제 책 학습을 위한 라벨입니다.초보자를 위한 200제 책 학습을 위한 라벨입니다.KotlinKotilin 관련 라벨입니다.Kotilin 관련 라벨입니다.
Description
Discussed in https://github.com/orgs/Programming-Language-Practice/discussions/44
Originally posted by JoisFe February 12, 2023
11. 문자열 (String)
###문자열
- 문자 (Char)들을 일렬로 나열한 것
var str: String = "Hello"
println(str)
str = str + "\nKotlin!"
println(str)
println(str[8])
val num = 10 * 5 + 3
println(str + num)
}

- String 타입의 변수 str을 선언하고 있음
- String은 문자열을 저장할 수 있는 타입
- 큰 따옴표로 감싼 "Hello" 는 String 타입의 리터럴임
- 문자 여러 개를 큰 따옴표로 감싸면 그 부분은 String 타입이 됨

- 문자열 "Hello"의 모습을 간략하게 나타내면 위 그림과 같음
- 문자 한 개가 문자열 한 칸에 들어감
- 띄어쓰기도 마찬가지로 문자 한 개로 취급함!!
- 각 문자에는 번호가 매겨져 있음 (이전 장에서 배움)
- 여기서 첫 번째 문자가 1번이 아닌 0번임을 주의 !!

-
- 연산자의 양 피연산자가 String 타입이면 왼쪽의 문자열에 오른쪽 문자열을 덧 붙임
- 따라서 str에 저장된 값은 위와 같이 변함
- \n은 줄바꿈을 나타내는 특수 문자
- 큰 따옴표 안에서 직접 줄바꿈을 하면 오류가 발생하기 때문에 줄바꿈을 \n로 대체하여 표현
문자열, 문자의 배열
- String 타입의 표현식 우측에 대괄호[]를 적고 그 안에 Int 값을 적으면 그 번호에 맞는 문자를 Char 타입으로 꺼낼 수 있음
- 즉 str 자체는 String 타입이지만 str[8]은 Char 타입임
- str의 8번째 저장된 문자는 't'이므로 't'가 출력됨
- 8처럼 문자의 위치를 나타내는 숫자를 인덱스 (Index) 라고 함
String과 String이 아닌 값을 + 연산?

- String과 String 아닌 값을 + 연산자로 연결 시 String이 아닌 값을 String으로 변환한 뒤 서로 합침
- 위 그림에서 보면 알 수 있듯 53이 문자열로 변하고 그대로 합쳐짐을 알 수 있음
Reference
초보자를 위한 Kotlin 200제, 정보문화사, [엄민석]
Metadata
Metadata
Assignees
Labels
200 Solved초보자를 위한 200제 책 학습을 위한 라벨입니다.초보자를 위한 200제 책 학습을 위한 라벨입니다.KotlinKotilin 관련 라벨입니다.Kotilin 관련 라벨입니다.