📚 문자열


📔문자와 문자열 구분

📖문자

  • 작은따옴표로 나타내는 하나의 문자
  • Char 클래스, 2바이트

📖문자열

  • 빈 문자도 포함하는 여러 개의 문자 묶음
  • String 클래스
println('가'.javaClass.kotlin)

println(charArrayOf('가', '을').contentToString()) // charArrayOf는 문자를 인자로 받아 배열로 만듦

var str = String(charArrayOf('가', '을')) // contentToString 메서드는 배열 내부 원소를 출력
println(str)
class kotlin.Char
[가, 을]
가을


📔문자열 템플릿

문자열 사이 변수 참조 삽입 시,

  • 변수가 하나일 경우: $기호 + 변수명
  • 표현식일 경우: $기호 + 중괄호
val date = "20230101"
val a = 100
val b = 200

println("날짜: $date") // $ + 변수명

println("a + b: ${a + b}") // $ + {표현식}
날짜: 20230101
a + b: 300


📔이스케이프 문자

println("\'Single quote\'") // "\'Single quote\'"
println("\"Double quote\"") // "\"Double quote\""
println("Slash \\/") // "Slash \\/"
println("Backslash \\") // "Backslash \\"
println("New line\nNew line") // "New line\nNew line"
println("Tab\tTab") // "Tab\tTab"
println("Backspace\b") // "Backspace\b"
println("Dollar sign \$") // "Dollar sign \$"
'Single quote'
"Double quote"
Slash \/
Backslash \
New line
New line
Tab	Tab
Backspac
Dollar sign $


📔원시 문자열 처리

원시 문자열: 일반 문자나 이스케이프 문자들을 그대로 문자로 인식해서 처리하는 문자열. 큰따옴표를 3개 사용해서 표현

val s1 = """ 문자열에 \n이스케이프 문자를 넣고 처리"""
println(s1)

val s2 = """ 문자열 템플릿 기능은 ${100 + 200}"""
println(s2)
 문자열에 \n이스케이프 문자를 넣고 처리
 문자열 템플릿 기능은 300


📔형식 문자 포매팅

  • %s: 문자열 처리
  • %d: 정수 처리
  • %f: 실수 처리
  • %e: 실수를 지수로 표기
  • %x: 정수를 16진수로 표기

형식 문자의 숫자 표현은 출력 길이를 표시. 예를 들어 실수 %6.2f는 전체 실수는 6자리이고 그중 소수점 이하 표시는 2자리 임을 의미

val float = 1234.5
val int = 100
val string = "문자열"
val edec = 10e15
val hex = 0xffff

println("float = %6.2f".format(float))
println("int = %6d".format(int))
println("string = %10s".format(string))
println("edex = %e".format(edec))
println("hex = %x".format(hex))
float = 1234.50
int =    100
string =        문자열
edex = 1.000000e+16
hex = ffff