티스토리 뷰

안드로이드

코틀린(Kotlin) Basic

Henry95 2019. 7. 8. 23:57
반응형

자바와 비교한 코틀린 기초 문법중에 헷갈리기 쉬운것 정리

 

 

기초 문법 

 

Unit

- 자바의 void가 코틀린의 Unit임, 생략가능

 

- 코틀린에서 Number는 클래스임 (자바에서 String 처럼) 자바 -> 코틀린으로 예를들면 int -> Int, float -> Float

 

리터럴

-  자바는 10진수 8진수 16진수 모두 지원하는데 반해 코틀린은 8진수 지원안함

 

언더스코어

- 코틀린에서는 긴 숫자같은경우 밑줄로 끊을수 있게 해놓음

ex) 1_000_000 -> 백만, 2진수등등 가능

 

형변환

- 코틀린에서는 작은타입이 큰타입의 하위호환이 아님 (Int가 Double의 하위가 아님)

- var a: Int = 1    var b: Double = a 라고 했을때 오류가 남 var b:Double = a.toLong() 이렇게 해줘야 에러가 안남

 

Char

- 코틀린에서 Char는 숫자로  쓸수 없음

 

배열

- 자바와 많이다름, 코틀린에서는 배열이 클래스(Array로 표현됨)

- 클래스안에 get, set, size등 유용한 함수들이 있음

- println(array.get(0)), println(array[0]) 등 유용하게 사용

 

특별한 배열

- 배열클래스를 상속한게아님 하지만 사용방법은 같음

- intArrayOf로 선언

 

문자열 리터럴

- escaped string : 쌍따옴표 사이에 " " 문자열을 넣고 개행 하려면 \n을 사용 

ex) val a = "hello world!\n"

- raw string : """와 """ 사이에 내용을 넣으면 엔터로 개행한 그대로 나옴

ex) """

"이것은

개행한 부분입니다"

"""

- 저안에 있는 쌍따옴표도 역슬래시 없이 출력가능

 

삼항연산자

- 코틀린에는 삼항연산자가 없음, 대신에 if를 식으로 사용할 수 있는데 그 형태는

- var max = if(a>b)a else b 이런 식으로사용할수 있음

- 위의 경우 else를 생략할 수 없음

 

when

- 변수로 사용가능

- else 사용해야함 But 비교하는게 boolean값처럼 확실하게 나뉘면 생략가능

- 자바의 스위치를 대체하지만 더욱 강력한 기능

- 조건에 콤마를 사용해서 추가가능

- in & range사용해서 리스트안에 값있는지 체크도 가능

- when 옆에 인자 (x)를 입력하지 않으면 논리연산으로 처리를 함(if~else같은)

-예문

var res = when(x){

100-> "A"

80-> "B"

60, 40-> "C"

else-> "F"

}

 

기타

 

Package

- 패키지를 명세하지 않으면 이름없는 기본패키지에 포함됨

- 이름없는 패키지는 임폴트안해도 그냥 호출

 

기본패키지

- 기본으로 import되는 패키지

- 플랫폼별로 다름

 

Label

- '식별자@ ~~ break@식별자' 사이에 있는 반복문 동시에 탈출 가능

- Label로 retuen, breeak, continue

 

암시적Label

- 람다가 사용된 함수의 이름과 동일함

- 좀더 편리할수 있음

- 람다가 사용된 이름을 a@ 제외하고 @a 만 뒤에 붙임

 

Label 값 반환

- return@label 값 의 형식으로 사용

- ex) return@aaa "bbb"

 

 

 

 

 

반응형
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2024/04   »
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
글 보관함