-
[Kotlin - Basic Types] Character, Booleans, ArraysSoftware/Kotlin : 코틀린 2019. 12. 17. 00:23반응형
Characters
Characters는 Char 자료형으로 표현된다. Characters는 숫자로 직접 취급될 수 없다.
fun check(c: Char) { if (c == 1) { // ERROR: incompatible types // ... } }
여기서 Characters는 문자 그대로 '1'을 의미한다. 만약 특수 문자의 경우 ''을 사용해서 나타낼 수 있다. (\t, \b, \n, \r, ', ", \ and $)
다른 문자 인코딩을 위해서는 Unicode의 escape 시퀀스 구문을 사용해야 한다: 'uFF00'Booleans
Booleans는 "true" 와 "false" 두 가지 값만 가지며 booleans로 표시한다.
아래와 같은 내장 함수를 가진다.|| -> lazy disjunction
&& -> lazy conjunction
! -> negation
Arrays
class Array<T> private constructor() { val size: Int operator fun get(index: Int): T operator fun set(index: Int, value: T): Unit operator fun iterator(): Iterator<T> // ... }
배열을 생성하기 위해서 우리는 arraOf() 라이브러리 함수를 사용할 수 있다. 예를 들어 arrayOf(1, 2, 3)을 통해 우리는 [1, 2, 3] 배열을 만들 수 있다. 만약 null 값으로 채워진 배열을 만들고 싶다면 arrayOfNulls() 함수를 사용하면 된다.
또 다른 옵션은 배열의 크기를 생성자에 인자로 넘기고 해당 인덱스에 대응하는 초기값을 설정하는 것이다.
// Creates an Array<String> with values ["0", "1", "4", "9", "16"] val asc = Array(5) { i -> (i * i).toString() } asc.forEach { println(it) }수 있다.
코틀린에서 배열은 불변이다. 이는 Array
에 Array 을 할당하지 못한다는 것을 의미하며 이 경우 런타임 에러가 발생할 Primitve type arrays
코틀린은 Boxing overhead 없이 primitive types의 배열을 표현할 수 있는 몇가지 특별한 클래스를 제공한다.
: ByteArray, ShortArray, IntArray... 등등
이러한 클래스들은 Array 클래스와 상속 관계가 있는 것은 아니지만 같은 함수와 속성들을 가지고 있다.
val x: IntArray = intArrayOf(1, 2, 3) x[0] = x[1] + x[2]
// Array of int of size 5 with values [0, 0, 0, 0, 0] val arr = IntArray(5) // e.g. initialise the values in the array with a constant // Array of int of size 5 with values [42, 42, 42, 42, 42] val arr = IntArray(5) { 42 } // e.g. initialise the values in the array using a lambda // Array of int of size 5 with values [0, 1, 2, 3, 4] (values initialised to their index value) var arr = IntArray(5) { it * 1 }
반응형'Software > Kotlin : 코틀린' 카테고리의 다른 글
[Kotlin - Basic Types] Strings (0) 2019.12.20 [Kotlin - Basic Types] Numbers (0) 2019.12.09 댓글