코틀린/etc.9 [Kotlin][Bitwise Operator] shl, shr, ushr, and, or, xor, inv 이 값을 bitCount 비트 수만큼 왼쪽으로 이동합니다. bitCount 의 최하위 5개 비트만 이동 거리로 사용됩니다. 따라서 실제로 사용되는 변속 거리는 항상 0..31 범위에 있습니다.print(1 shl 3) // 8 이 값을 bitCount 비트 수만큼 오른쪽으로 이동하여 가장 왼쪽 비트를 부호 비트의 복사본으로 채웁니다. bitCount 의 최하위 5개 비트만 이동 거리로 사용됩니다. 따라서 실제로 사용되는 변속 거리는 항상 0..31 범위에 있습니다.print(9 shr 3) // 1 이 값을 bitCount 비트 수만큼 오른쪽으로 이동하여 가장 왼쪽 비트를 0으로 채웁니다. bitCount 의 최하위 5개 비트만 이동 거리로 사용됩니다. 따라서 실제로 사용되는 변속 거리는 항상 0..31.. 2024. 9. 7. [Kotlin][Comparison Operation] compareTo 순서를 위해 이 개체를 지정된 개체와 비교합니다. 이 개체가 지정된 다른 개체와 같으면 0을 반환하고, 다른 개체보다 작으면 음수를, 다른 개체보다 크면 양수를 반환합니다.public interface Comparable { public operator fun compareTo(other: T): Int}val num1 = 123val num2 = 193print(num1.compareTo(num2)) // -1 compareTo - Kotlin Programming Language kotlinlang.org 2024. 9. 4. [Kotlin][Transformation Operation] ceil / floor / round import kotlin.math.* 주어진 값 x 를 양의 무한대 방향의 정수로 반올림합니다.public actual inline fun ceil(x: Double): Double = nativeMath.ceil(x)println(ceil(16.746)) // 17.0 주어진 값 x 를 음의 무한대 방향의 정수로 반올림합니다.public actual inline fun floor(x: Double): Double = nativeMath.floor(x)println(floor(16.746)) // 17.0 지정된 값 x를 짝수 방향으로 반올림하여 가장 가까운 정수 방향으로 반올림합니다.public actual fun round(x: Double): Double { if (x % 0.5 != 0.0).. 2024. 9. 2. [Kotlin][Transformation Operation] sqrt / pow / hypot import kotlin.math.*값 x 의 양의 제곱근을 계산합니다.public actual inline fun sqrt(x: Double): Double = nativeMath.sqrt(x)println(sqrt(16.0)) // 4.0 이 값을 x 승으로 늘립니다.public actual inline fun Double.pow(n: Int): Double = nativeMath.pow(this, n.toDouble())println((16.0).pow(2}) // 256.0 중간 오버플로나 언더플로 없이 sqrt(x^2 + y^2)를 계산합니다.public actual inline fun hypot(x: Double, y: Double): Double = nativeMath.hypot(x, y)p.. 2024. 9. 2. [Kotlin][Iteration Operation] repeat 주어진 함수 작업을 지정된 횟수만큼 실행합니다. 현재 반복의 0부터 시작하는 인덱스가 작업에 매개변수로 전달됩니다.public inline fun repeat(times: Int, action: (Int) -> Unit) { contract { callsInPlace(action) } for (index in 0 until times) { action(index) }}repeat(3) { index -> print("Hello ")} // Hello Hello Hello n 번 반복된 이 문자 시퀀스를 포함하는 문자열을 반환합니다.public actual fun CharSequence.repeat(n: Int): String { require(n >= 0) { "Coun.. 2024. 8. 27. [Kotlin][Validation Operations] require 값이 false 인 경우 lazyMessage 를 호출한 결과와 함께 IllegalArgumentException 을 발생시킵니다.public inline fun require(value: Boolean, lazyMessage: () -> Any): Unit { contract { returns() implies value } if (!value) { val message = lazyMessage() throw IllegalArgumentException(message.toString()) }}fun getIndices(count: Int): List { require(count >= 0) { "Count must be non-negativ.. 2024. 8. 16. [Kotlin][Collection] Mutable / Immutable 컬렉션은 읽기 전용일 수 있으므로 더 많은 제어 기능을 제공하고 명확한 의도가 있는 강력한 코드를 작성할 수 있습니다.컬렉션에 요소를 추가하거나 제거하는 것은 쉽습니다. 이에 비해 배열은 크기가 고정되어 있습니다.배열에서 요소를 추가하거나 제거하는 유일한 방법은 매번 새 배열을 만드는 것인데 이는 매우 비효율적입니다.var riversArray = arrayOf("Nile", "Amazon", "Yangtze")riversArray += "Mississippi"println(riversArray.joinToString()) // Nile, Amazon, Yangtze, MississippitoMutableList이 배열의 모든 요소로 채워진 새로운 MutableList를 반환합니다.public fun .. 2024. 8. 7. 이전 1 2 다음