import java.util.Date
fun main() {
val name = readLine()
println("Hello, $name! \n Today is ${Date()}")
}
${}
의 중괄호 사이에 문자열을 넣어서 사용할 수 있다.$name
과 같이 식이 간단한 변수 참조인 경우 중괄호 생략 가능import java.util.Date
fun main() {
val name = readLine()
val message = """
Hello, $name!
Today is ${Date()}
""".trimIndent()
println(message)
}
"Hello!".length // 6
"Hello!".lastIndex // 5
val s = "Hello!"
println(s[0]) // H
println(s[5]) // !
println(s[10]) // 잘못된 인덱스
val s1 = "Hello!"
val s3 = "Hel" + "lo!"
println(s1 == s2) // true <java : s1.equals(s2)>
Tip)
자바의==
와!=
연산자는 참조 동등성을 비교하기 때문에 실제 문자열 내용을 비교하려면equals()
메서드를 사용해야 한다.
코틀린에서는==
가 기본적으로equals()
를 가리키는 편의 문법이기 때문에==
를 사용하면, 직접equal()
를 호출하므로, 따로equals()
를 호출할 필요가 없다.
코틀린에서 참조 동등성을 쓰려면?
===
와!==
연산자를 사용하면 된다.
isEmpty()
, isNotEmpty()
: 문자열이 비어있는지 검사
"Hello".isEmpty() // false
"Hello".isNotEmpty() // true
substring()
: 부분 문자열 추출
"Hello".substring(2) // "llo"
"Hello".substring(1, 3) // "el"
endsWith()
, startsWith()
: 접두사나 접미사인지 검사
"Hello".startsWith("Hel") // true
"Hello".endsWith("lo") // true
indexOf()
: 인자로 받은 문자나 문자열이 나타나는 첫번째 인덱스를 반환
//맨 앞부터 찾기
"abcabc".indexOf('b') // 1
//주어진 인덱스부터 찾기
"abcabc".indexOf('b', 2) // 4