[kotlin]코틀린 BasicType

2018. 6. 14. 23:03kotlin-이론

BasicType


기본타입

코틀린에서 모든 것은 객체입니다. 모든 것에 함수나 프로퍼티 호출가능하다는 특징들이 있다. 


숫자 


-kotlin                                                         -java


Double 64bit                                                 double 64bit


Float    32bit                                                 float     32bit


Long    64bit                                                 long     64bit


Int       32bit                                                 int        32bit


Short   16bit                                                 short     16bit


Byte     8bit                                                  byte       8bit        


 char       16bit



코틀린에서는 문자를 숫자처리하지 않는다. 그러므로 char형에 숫자를 넣을 수 없다. 



리터럴 


자바와 비슷하지만 8진수를 지원하지 않는다. 


2진수 -> 0b


16진수 -> 0x


Long -> 123L


Double -> 123.5


float -> 123.5f


그리고 숫자를 표현할 때 underBar를 사용하여 단위 구분가능하다. 


var underBar = 1_000_000_000 

var twiceUnderBar = 0b0110_0110

println(underBar) 

println(0b0110_0110) //102



Explict 하위타입


작은 타입은 큰타입의 하위 타입이 아니다. 한마디로 Int형 데이터를 Double에 집어 넣을 수 없다. 

따라서 큰 타입에 입력을 넣어 줄 때 .toInt(), toLong(), toFloat()등으로 바꾸어 줘야한다. 



배열 


배열 만들기 


1. var array:Array<String> = arrayOf("코틀린", "강의") //라이브러리 함수 입니다.  


2. var array2 = IntArray(5, {i -> i.toInt()})//팩토리 함수입니다. 


1번과 같이 처음부터 초기화해서 사용할 수 있고 2번과 같이 size개수와 i.toInt()로 데이터 형태를 정할 수 있다. 


특별한 타입의 Array클래스 

Primitive타입의 오버박싱을 없애주기 위한 배열 1번과 같이 사용하면 레퍼런스 타입의 배열이 되기 때문에 사용한다. 

 

var array3:IntArray = intArrayOf(1, 2, 3)


위의 배열은 모두 

배열이름.set(인덱스, value)

배열이름.get(인덱스)

배열이름[인덱스] 등으로 호출 혹은 설정해줄 수 있다.  


문자열


자바와 사용방법이 비슷하며 """안""" 안에있는 코드를 모두 출력할 수 있습니다. 


null? 표현 인자 


var a:Int = 10000 //Primitive Type

var b:Int? = 10000// nullable Objective Type 

로 변한다. 


따라서 if(a==b)는 값이 같기 때문에 True로 나오지만 a===b는 값이 같아도 False로 나온다. 




'kotlin-이론' 카테고리의 다른 글

[kotlin]Class  (0) 2018.06.15
[kotlin]Return and Jumps (break 문, continue 문, return 문)  (0) 2018.06.15
[kotlin]코틀린 controlFlow  (0) 2018.06.15
[kotlin] kotlin Basic Syntax java와 비교  (0) 2018.06.13
[kotlin] kotlin 시작하기  (0) 2018.06.13