일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
- animation
- 클래스
- 다트
- 파이썬
- Flutter
- List
- 함수
- crawler
- DART
- Yocto
- ML
- 코틀린
- 웹크롤러
- function
- pushnamed
- 콜렉션
- 플러터
- Collection
- package
- kotlin
- Class
- map
- set
- variable
- Android
- textstyle
- import
- 크롤러
- python
- text
- Today
- Total
조용한 담장
[코틀린] Kotlin : 기본 변수의 타입 살펴보기 - 2 본문
코틀린(kotlin)의 basic types 의 숫자에 이어서 나머지 부분을 살펴보자.
characters
문자는 Char 를 쓴다.
class Char : Comparable<Char>
16 bit unicode 문자로 처리된다.
문자는 '1' 와 같이 작은 따옴표로 표시한다.
var a: Char = '1'
println(a)
// a = 1 // type error!
당연히 숫자값 직접 대입해서 쓸 수 없다. (이게 가능한 언어를 사용했던 경우에는 주의하면 되겠다.)
문자 1을 숫자 1로 바꾸려면 변환 함수를 사용한다.
var b: Int = a.toInt() // b = 49
println("${b} ${b-'0'.toInt()}") // 49 1
특수 문자는 \(역 슬래쉬) 를 사용한다.
\t, \b, \n, \r, \', \", \\, \$
특수 유니코드 문자는 Unicode escape sequence syntax 를 사용한다. 예: \uFF00
val a: Char = '\u263a'
println(a) // ☺
숫자 타입과 마찬가지로 문자타입도 nullable reference 일 때 boxed 된다.
Booleans
Booleans : true or false
class Boolean : Comparable<Boolean>
nullable reference 일 때 boxed 된,,,다.
operation : || && !
Arrays
배열은 Array 를 쓴다.
class Array<T>
생성 함수 : arrayOf(), arrayOfNulls(), emptyArray(), ...
element 접근 : get(), set(), [], ...
val a = arrayOf(1, 2, 3)
a.set(2, 5)
println("${a.get(0)} ${a[1]} ${a[2]}") // 1 2 5
var b = arrayOfNulls<String>(3)
if (b[0] == null) {
println("b[0] is null") // b[0] is null
}
Array class 의 constructor 를 직접 사용하려면 배열의 크기와 배열 초기값을 설정하는 함수를 파라미터로 넣어준다.
<init>(size: Int, init: (Int) -> T)
val a = Array<String>(3, { i -> i.toString() } )
a.forEach { print(it) } // 012
Primitive type arrays
boxing overhead 없이 primitive type 의 배열을 위한 클래스가 있다.
ByteArray, ShortArray, IntArray, ...
IntArray 설명을 보면. JVM 에서 primitive type 인 int 배열을 만든다.
class IntArray An array of ints. When targeting the JVM, instances of this class are represented as int[].
Array 클래스와 아무 관계가 없지만 속성과 메소드는 동일하게 가지고 있어 사용법도 동일하다.
각 타입의 클래스들은 각각 factory function 을 가지고 있다.
val x: IntArray = intArrayOf(1, 2, 3)
x[0] = x[1] + x[2]
val arr = IntArray(5) // [0, 0, 0, 0, 0]
val arr = IntArray(5) { 42 } // [42, 42, 42, 42, 42]
var arr = IntArray(5) { it * 1 } // [0, 1, 2, 3, 4]
String
문자열을 나타내는 String 클래스 이다.
class String : Comparable<String>, CharSequence
문자열의 문자 접근 : []
문자열 끼리의 연결 : +
raw string : """
string template : $, ${expression}
val a = "string class"
for (c in a) {
print(c)
}
val s = "abc" + 1
println("\n" + s)
val text = """
from :
play.kotlinlang.org
$s's length : ${s.length}
"""
println(text)
// output:
// string class
// abc1
//
// from :
// play.kotlinlang.org
// abc1's length : 4
'kotlin' 카테고리의 다른 글
[코틀린] Kotlin : Control Flow (0) | 2019.12.31 |
---|---|
[코틀린] Kotlin : packages (0) | 2019.12.31 |
[코틀린] Kotlin : 기본 변수의 타입 살펴보기 - 1 (0) | 2019.12.31 |
[코틀린] Kotlin 아주 기본 살펴보기 (0) | 2019.12.31 |
[코틀린] Kotlin 공부시작 (0) | 2019.12.31 |