문자열(String)
- 선언: String 변수명
val String s1;
var String s2 = "hello world!"
예시를 위해 String s1이라 가정한다.
- 문자열 길이
- s1.length
-인덱스 접근
- s1[int index]: 반환 값은 char타입. char 타입과 int 타입의 연산 시 char 타입으로 반환된다.
- cf. s1.at(int index)는 지원하지 않는다. 오류가 발생한다.
fun main() {
val s1 = "hello"
for (i in 0..4)
{
System.out.println(s1[i]-97) //char타입이 int 타입으로 자동 변환되어 계산되지 않음.
}
}
<출력 결과>
s1의 원소들이 a로부터 몇번째인지 확인하고 싶다면 s1[i].toInt()를 통해 int 타입으로 변환 후 계산해야 한다.
- 비교
- ==연산자: 같으면 true를 리턴, 다르면 false를 리턴한다.
- < 연산자: s1이 s2보다 사전 순으로 앞서면 true를 반환하고, 아니라면 false를 반환한다.
- > 연산자: s1이 s2보다 사전 순으로 앞서면 false를 반환하고, 아니라면 true를 반환한다.
- s1.equals(string s2): s2와 같으면 true, 다르면 false를 리턴한다.
- s1.equals(string s2, Boolean b): b가 true인 경우, 대소문자를 무시하고 비교한다. false인 경우 매개변수가 하나인 것과 동일하다. s2와 같으면 true, 다르면 false를 리턴한다.
-멤버 함수
- String uppercase(): 대문자로 변환한다.
- String lowercase(): 소문자로 변환한다.
- String substring(Int index1, Int index2): index1부터 index2 이전까지 자른다. index2가 문자열 인덱스의 범위를 벗어나면 오류( java.lang.StringIndexOutOfBoundsException )가 발생한다.
- String substring(Int index1 until Int index2): index1부터 index2 이전까지 자른다. index2가 문자열 인덱스의 범위를 벗어나면 오류( java.lang.StringIndexOutOfBoundsException )가 발생한다.
- String substring(Int index1..Int index2): index1부터 index2까지 자른다. index2가 문자열 인덱스의 범위를 벗어나면 오류( java.lang.StringIndexOutOfBoundsException )가 발생한다.
- String substring(int index): index1부터 끝까지 자른다.
- Boolean contains(String s1): s1이 문자열에 있는지 확인한다. 있다면 true를, 없다면 false를 반환한다.
- Boolean contains(Char c2): c1이 문자열에 있는지 확인한다. 있다면 true를 없다면 false를 반환한다.
- Int indexOf(String s1) : s1이 처음 나타나는 위치의 index를 반환한다. 없다면 -1을 반환한다.
- Int indexOf(Char c1): c1이 처음 나타나는 위치의 index를 반환한다. 없다면 -1을 반환한다.
- String reversed(): 문자열을 뒤집어 반환한다.
'프로그래밍 언어 > Kotlin' 카테고리의 다른 글
코테용 코틀린 정리 (4) - 스택(stack), 큐(queue), 덱(deque) (0) | 2024.07.03 |
---|---|
코테용 코틀린 정리 (3) -배열, List, Set, Map (0) | 2024.06.24 |
코테용 코틀린 정리(2) - 자료형 변환, 수학(max, min, sqrt, pow) (0) | 2024.06.22 |