1.1.50. fejezet, Kotlin
Beküldte pzoli - 2024, április 18 - 3:35du
Kapcsolódó hivatkozások
- kotlinlang.org
- developer.android.com
- Android kurzus
- Tutorial Spring Boot Kotlin
- Kotlin CRUD Rest Api using Spring Boot, Hibernate, Postgres, Docker and Docker Compose
- How to Fix java.lang.UnsupportedClassVersionError
A Kotlin egy JVM alapú, erősen típusos nyelv, amit Android fejlesztések közben ismertem meg. Telepítési leírás itt.
Fordítás és futtatás:
kotlinc hello.kt -include-runtime -d hello.jar java -jar hello.jar
Adattípusok
- Char (pl.: 'C')
- String (pl.: "Hello world")
- Szám típusok (pl.: 13) lásd itt a részleteket - számábrázolás még itt, az előjel nélküli számokat itt
- Lebegőpontos típusok (pl.: 5.0) (lásd itt a pontos leírást)
- Boolean (pl.: true || false)
Nullable típus
var nullableVar: Int? = null var x: List<String?> = listOf(null, null, null) var y: List<String>? = null var z: List<String?>? = null z = listOf(null, null, null) var nullableString: String? = null nullableString = nullableString?.lowercase() // step over this line var result = nullableString?.lowercase() println(result) // null fun foo(car Car) { var extras : MutableList<String> = car.defaultExtras ?: mutableListOf() } fun bar(car Car) { var manufacturer : String = car.manufacturer ?: throw IllegalArgumentException("Manufacturer can't bee null") } // I know that it can be nullable, but I know it isn't it try { val upper = nullableString!!.uppercase() println(upper) } catch(e:NullPointerException) { println("Null value!") }
Tömb típus
var riversArray = arrayOf("Nile", "Amazon", "Yangtze") riversArray += "Mississippi" println(riversArray.joinToString()) // Nile, Amazon, Yangtze, Mississippi val simpleArray = intArrayOf(1, 2, 3) println(simpleArray.joinToString()) // 1, 2, 3 val multipliedArray = Array<Int>(3, {it * 2}) println(multipliedArray.joinToString()) // 0, 2, 4 println(multipliedArray[2]) // 4 val mixedArray = arrayOf(1,"something") println(java.util.Arrays.toString(mixedArray)) // 1, something var shuffledArray = intArrayOf(1, 2, 3, 4, 5) shuffledArray.shuffle() println(shuffledArray.joinToString()) //3, 2, 5, 4, 1 shuffledArray.sort() println(shuffledArray.joinToString()) //1, 2, 3, 4, 5 java.util.Collections.binarySearch(shuffledArray, 3) // 2 val swappedArray: IntArray = intArrayOf(1,2,3,4,5) val swappedList : MutableList<Int> = swappedArray.toMutableList() java.util.Collections.swap(swappedList, 1,3) println(swappedList.toString()) // 1, 4, 3, 2, 5
Csak olvasható állandó deklarálása
val count: Int = 2
Változók deklarálása
Funkció deklarása
fun main() { val msg: String = "Hello world" println(msg) }
Raw string
val multipleLines = """String |newLine here |end of String""".trimMargin() println(multipleLines) //String //newLine here //end of String
String template
fun main() { val numberOfPhotos = 100 val photosDeleted = 10 println("$numberOfPhotos photos") println("$photosDeleted photos deleted") println("${numberOfPhotos - photosDeleted} photos left") }
Logikai operátorok
- || – disjunction (logical OR)
- && – conjunction (logical AND)
- ! – negation (logical NOT)
Aritmetikai operátorok
- + (addition)
- - (substraction)
- * (multiplication)
- / (division)
- % (remainder)
Bitenkénti operátorok
- shl(bits) – signed shift left
- shr(bits) – signed shift right
- ushr(bits) – unsigned shift right
- and(bits) – bitwise AND
- or(bits) – bitwise OR
- xor(bits) – bitwise XOR
- inv() – bitwise inversion
val x = (1 shl 2) and 0x000FF000
Számok összehasonlítása
- Equality checks: a == b and a != b
- Comparison operators: a < b, a > b, a <= b, a >= b
- Range instantiation and range checks: a..b, x in a..b, x !in a..b
Típus ellenőrzés
Okos típusváltás
fun demo(x: Any) { if (x is String) { print(x.length) // x is automatically cast to String } }
Csomagok és import
package hu.valami.nev import hu.valami.nev.osztaly
- A hozzászóláshoz be kell jelentkezni