Szukaj…


Uwagi

Kotlin to statycznie zorientowany obiektowy język programowania opracowany przez JetBrains ukierunkowany przede wszystkim na JVM. Kotlin został opracowany z myślą o szybkiej kompilacji, kompatybilności wstecznej, bezpieczeństwie typu i 100% interoperacyjności z Javą. Kotlin został również opracowany w celu zapewnienia wielu funkcji pożądanych przez programistów Java. Standardowy kompilator Kotlin pozwala na kompilację zarówno do kodu bajtowego Java dla JVM, jak i JavaScript.

Kompilowanie Kotlina

Kotlin ma standardową wtyczkę IDE dla Eclipse i IntelliJ. Kotlin można również skompilować za pomocą Maven , Anta i Gradla lub za pomocą wiersza poleceń .

Warto zauważyć, że $ kotlinc Main.kt wyświetli plik klasy Java, w tym przypadku MainKt.class ( MainKt.class uwagę, że Kt dołączony do nazwy klasy). Jeśli jednak ktoś uruchomi plik klasy za pomocą $ java MainKt Java wyrzuci następujący wyjątek:

Exception in thread "main" java.lang.NoClassDefFoundError: kotlin/jvm/internal/Intrinsics
    at MainKt.main(Main.kt)
Caused by: java.lang.ClassNotFoundException: kotlin.jvm.internal.Intrinsics
    at java.net.URLClassLoader.findClass(URLClassLoader.java:381)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:424)
    at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:335)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
    ... 1 more

Aby uruchomić wynikowy plik klasy za pomocą Javy, należy dołączyć plik jar środowiska wykonawczego Kotlin do bieżącej ścieżki klasy.

java -cp .:/path/to/kotlin/runtime/jar/kotlin-runtime.jar MainKt

Wersje

Wersja Data wydania
1.0.0 15.02.2016
1.0.1 16.03.2016
1.0.2 2016-05-13
1.0.3 30.06.2016
1.0.4 22.09.2016
1.0.5 08.11.2016
1.0.6 27.12.2016
1.1.0 01.03.2017
1.1.1 14.03.2017
1.1.2 2017-04-25
1.1.3 23.06.2017

Witaj świecie

Wszystkie programy Kotlin rozpoczynają się od main funkcji. Oto przykład prostego programu „Hello World” firmy Kotlin:

package my.program

fun main(args: Array<String>) {
    println("Hello, world!")
}

Umieść powyższy kod w pliku o nazwie Main.kt (ta nazwa pliku jest całkowicie dowolna)

Podczas celowania w JVM funkcja zostanie skompilowana jako metoda statyczna w klasie o nazwie pochodzącej od nazwy pliku. W powyższym przykładzie główną klasą do uruchomienia byłoby my.program.MainKt .

Aby zmienić nazwę klasy zawierającej funkcje najwyższego poziomu dla określonego pliku, umieść następującą adnotację na górze pliku nad instrukcją pakietu:

@file:JvmName("MyApp")

W tym przykładzie główną klasą do uruchomienia będzie teraz my.program.MyApp .

Zobacz też:

Hello World za pomocą deklaracji obiektowej

Alternatywnie można użyć deklaracji obiektu, która zawiera główną funkcję programu Kotlin.

package my.program

object App {
    @JvmStatic fun main(args: Array<String>) {
        println("Hello World")
    }
}

Nazwa klasy, którą uruchomisz, to nazwa twojego obiektu, w tym przypadku to my.program.App .

Zaletą tej metody w porównaniu z funkcją najwyższego poziomu jest to, że uruchamiana nazwa klasy jest bardziej oczywista, a wszelkie inne dodane funkcje są uwzględniane w App klasy. Następnie masz także singletonową App do przechowywania stanu i wykonywania innych zadań.

Zobacz też:

Hello World za pomocą obiektu Companion

Podobnie jak przy użyciu Deklaracji obiektu, możesz zdefiniować main funkcję programu Kotlin za pomocą obiektu Companion klasy.

package my.program

class App {
    companion object {
        @JvmStatic fun main(args: Array<String>) {
            println("Hello World")
        }
    }
}

Nazwa klasy, którą uruchomisz, to nazwa twojej klasy, w tym przypadku to my.program.App .

Zaletą tej metody w porównaniu z funkcją najwyższego poziomu jest to, że uruchamiana nazwa klasy jest bardziej oczywista, a wszelkie inne dodane funkcje są uwzględniane w App klasy. Jest to podobne do przykładu Object Declaration , poza tym, że kontrolujesz tworzenie instancji klas w celu wykonania dalszej pracy.

Niewielka odmiana, która tworzy instancję klasy w celu wykonania rzeczywistego „cześć”:

class App {
    companion object {
        @JvmStatic fun main(args: Array<String>) {
            App().run()
        }
    }

    fun run() {
        println("Hello World")
    }
}

Zobacz też:

Główne metody wykorzystujące varargs

Wszystkie te główne style metod mogą być również używane z varargs :

package my.program

fun main(vararg args: String) {
    println("Hello, world!")
}

Skompiluj i uruchom kod Kotlin w wierszu polecenia

Ponieważ java udostępnia dwie różne komendy do kompilowania i uruchamiania kodu Java. Tak samo jak Kotlin, udostępnia także różne polecenia.

javac do kompilacji plików java. java do uruchamiania plików java.

To samo co kotlinc do kompilacji plików kotlin do uruchamiania plików kotlin.

Odczytywanie danych wejściowych z wiersza poleceń

Argumenty przekazywane z konsoli mogą być odbierane w programie Kotlin i mogą być używane jako dane wejściowe. Możesz przekazać N (1 2 3 itd.) Liczby argumentów z wiersza polecenia.

Prosty przykład argumentu wiersza poleceń w Kotlinie.

fun main(args: Array<String>) {

    println("Enter Two number")
    var (a, b) = readLine()!!.split(' ') // !! this operator use for NPE(NullPointerException).

    println("Max number is : ${maxNum(a.toInt(), b.toInt())}")
}



fun maxNum(a: Int, b: Int): Int {

    var max = if (a > b) {
        println("The value of a is $a");
        a
    } else {
        println("The value of b is $b")
        b
    }

    return max;

}

Tutaj wprowadź dwie liczby z wiersza poleceń, aby znaleźć maksymalną liczbę. Wynik :

Enter Two number
71 89 // Enter two number from command line

The value of b is 89
Max number is: 89

Dla !! Operator Sprawdź Null Safety .

Uwaga: Powyższy przykład skompiluj i uruchom na Intellij.



Modified text is an extract of the original Stack Overflow Documentation
Licencjonowany na podstawie CC BY-SA 3.0
Nie związany z Stack Overflow