본문 바로가기

Kotlin

Kotlin - 조건문 https://kotlinlang.org/docs/control-flow.html Conditions and loops | Kotlin kotlinlang.org If 표현식 (expression) Kotlin에서 if 는 표현식 이기 때문에 값을 반환하고, 3항 연산자(condition ? then : else)가 존재하지 않는다. val a = 5 val b = 10 var max = a if (a b) { max = a } else { max = b } println("Max value is $max") // 표현 식 으로서의 if max = if (a > b) a else b println("Max value.. 더보기
Kotlin - 타입체크와 형 변환 https://kotlinlang.org/docs/typecasts.html is, !is 연산자 오븍제트가 특정 타입인지 아닌지를 확인할때 사용된다. if (obj is String) { print(obj.length) } if (obj !is String) { print("Not a String") } else { print(obj.length) } Smart 형변환 보통의 경우 Kotlin 컴파일러가 is 연산자를 확인하고 해당 타입으로 자동 형 변환을 하기 때문에 명시적인 형 변환을 할 필요는 없다. 컴파일러는 !is 체크 이후 return 문이 온다면 안전하다는 것을 알 만큼 똑똑하다. fun demo(x: Any) { if (x is String) { print(x.length) // x is.. 더보기
Kotlin - 데이터 타입 (배열) 출처 : https://kotlinlang.org/docs/arrays.html Arrays | Kotlin kotlinlang.org 배열은 다른 언어와 마찬가지로 고정된 사이즈수의 동일하거나 하위 타입 데이터를 담는 데이터 타입이다. Kotlin 에서는 Array 클래스를 이용해서 표현된다. 배열을 사용하는 경우 Kotlin 에서 배열은 일반 어플리케이션 대비 높은 성능이 필요하거나, 사용자 정의 자료구조를 정의하는 등 저수준 요구사항을 만족시키기 위한 경우 주로 사용된다. 그렇지 않은경우에는 그냥 Collections(list, set, map) 을 사용하면 된다. Collections은 배열 에 비해 아래와 같은 이점들이 있다. Collections은 read only 로 만들수 있어서 명확한 의.. 더보기
Kotlin - 데이터 타입 (Character, String) 출처 : https://kotlinlang.org/docs/characters.html, https://kotlinlang.org/docs/strings.html Characters | Kotlin kotlinlang.org 문자 (Characters) 문자는 Char 타입으로 표현 할 수 있다. 값은 작은 따옴표(')를 이용해 할당한다. val a = 'a' 특수문자 \t : tab \b : backspace \n : new line (LF) \r : carriage return (CR) \' : 작은 따옴표 (') \" : 큰 따옴표 (") \\ : backslash \$ : $ \u : Unicode로 인코딩 하는 경우 (예 : '\uFF21') 문자가 숫자 인 경우 digitToInt() 함수를 .. 더보기
Kotlin - 데이터 타입 (숫자, Boolean) 출처 : https://kotlinlang.org/docs/numbers.html, https://kotlinlang.org/docs/unsigned-integer-types.html Numbers | Kotlin kotlinlang.org 정수 타입 (Integer types) Type Size (bits) 최소 값 최대 값 Byte 8 -128 127 Short 16 -32768 32767 Int 32 -2,147,483,648 (-2^31) 2,147,483,647 (2^31 - 1) Long 64 -9,223,372,036,854,775,808 (-2^63) 9,223,372,036,854,775,807 (2^63 - 1) 타입을 명시적으로 선언 하지 않으면 컴파일러가 해당 숫자를 수용 할 수 있.. 더보기