Skip to content

11. 문자열 (String) #45

@JoisFe

Description

@JoisFe

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)
}
image
  • String 타입의 변수 str을 선언하고 있음
  • String은 문자열을 저장할 수 있는 타입
  • 큰 따옴표로 감싼 "Hello" 는 String 타입의 리터럴임
  • 문자 여러 개를 큰 따옴표로 감싸면 그 부분은 String 타입이 됨
image
  • 문자열 "Hello"의 모습을 간략하게 나타내면 위 그림과 같음
  • 문자 한 개가 문자열 한 칸에 들어감
  • 띄어쓰기도 마찬가지로 문자 한 개로 취급함!!
  • 각 문자에는 번호가 매겨져 있음 (이전 장에서 배움)
  • 여기서 첫 번째 문자가 1번이 아닌 0번임을 주의 !!
image
    • 연산자의 양 피연산자가 String 타입이면 왼쪽의 문자열에 오른쪽 문자열을 덧 붙임
  • 따라서 str에 저장된 값은 위와 같이 변함
  • \n은 줄바꿈을 나타내는 특수 문자
  • 큰 따옴표 안에서 직접 줄바꿈을 하면 오류가 발생하기 때문에 줄바꿈을 \n로 대체하여 표현

문자열, 문자의 배열

  • String 타입의 표현식 우측에 대괄호[]를 적고 그 안에 Int 값을 적으면 그 번호에 맞는 문자를 Char 타입으로 꺼낼 수 있음
  • 즉 str 자체는 String 타입이지만 str[8]은 Char 타입임
  • str의 8번째 저장된 문자는 't'이므로 't'가 출력됨
  • 8처럼 문자의 위치를 나타내는 숫자를 인덱스 (Index) 라고 함

String과 String이 아닌 값을 + 연산?

image
  • String과 String 아닌 값을 + 연산자로 연결 시 String이 아닌 값을 String으로 변환한 뒤 서로 합침
  • 위 그림에서 보면 알 수 있듯 53이 문자열로 변하고 그대로 합쳐짐을 알 수 있음

Reference

초보자를 위한 Kotlin 200제, 정보문화사, [엄민석]

Metadata

Metadata

Assignees

No one assigned

    Labels

    200 Solved초보자를 위한 200제 책 학습을 위한 라벨입니다.KotlinKotilin 관련 라벨입니다.

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions