KotlinDémarrer avec Kotlin


Remarques

Kotlin est un langage de programmation orienté objet de type statique développé par JetBrains et destiné principalement à la JVM. Kotlin a été développé dans le but d'être rapide à compiler, rétrocompatible, très sûr et parfaitement compatible avec Java. Kotlin est également développé dans le but de fournir un grand nombre des fonctionnalités souhaitées par les développeurs Java. Le compilateur standard de Kotlin lui permet d'être compilé à la fois en Java bytecode pour la JVM et en JavaScript.

Compiler Kotlin

Kotlin dispose d'un plug-in IDE standard pour Eclipse et IntelliJ. Kotlin peut également être compilé en utilisant Maven , en utilisant Ant et en utilisant Gradle , ou via la ligne de commande .

Il est intéressant de noter que $ kotlinc Main.kt affichera un fichier de classe Java, dans ce cas MainKt.class (notez le Kt ajouté au nom de la classe). Cependant, si l'on devait exécuter le fichier de classe en utilisant $ java MainKt java lancera l'exception suivante:

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

Pour exécuter le fichier de classe résultant en utilisant Java, il faut inclure le fichier JAR runt-time de Kotlin dans le chemin de la classe en cours.

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

Versions

Version Date de sortie
1.0.0 2016-02-15
1.0.1 2016-03-16
1.0.2 2016-05-13
1.0.3 2016-06-30
1.0.4 2016-09-22
1.0.5 2016-11-08
1.0.6 2016-12-27
1.1.0 2017-03-01
1.1.1 2017-03-14
1.1.2 2017-04-25
1.1.3 2017-06-23

Compiler et exécuter le code Kotlin en ligne de commande

Comme java fournit deux commandes différentes pour compiler et exécuter le code Java. Comme Kotlin vous fournit également différentes commandes.

javac pour compiler des fichiers java. java pour exécuter des fichiers java.

Identique à kotlinc pour compiler les fichiers kotlin pour exécuter les fichiers kotlin.

Bonjour le monde

Tous les programmes Kotlin commencent à la fonction main . Voici un exemple de programme Kotlin "Hello World" simple:

package my.program

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

Placez le code ci-dessus dans un fichier nommé Main.kt (ce nom de fichier est totalement arbitraire)

Lorsque vous ciblez la JVM, la fonction sera compilée en tant que méthode statique dans une classe avec un nom dérivé du nom de fichier. Dans l'exemple ci-dessus, la classe principale à exécuter serait my.program.MainKt .

Pour modifier le nom de la classe contenant les fonctions de niveau supérieur pour un fichier particulier, placez l'annotation suivante en haut du fichier au-dessus de la déclaration de package:

@file:JvmName("MyApp")
 

Dans cet exemple, la classe principale à exécuter serait désormais my.program.MyApp .

Voir également:

Bonjour tout le monde en utilisant un objet compagnon

Semblable à l'utilisation d'une déclaration d'objet, vous pouvez définir la fonction main d'un programme Kotlin en utilisant un objet compagnon d'une classe.

package my.program

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

Le nom de la classe que vous allez exécuter est le nom de votre classe, en l'occurrence my.program.App .

L'avantage de cette méthode par rapport à une fonction de niveau supérieur est que le nom de la classe à exécuter est plus évident et que toutes les autres fonctions que vous ajoutez sont intégrées à la classe App . Ceci est similaire à l'exemple de Object Declaration , sauf que vous contrôlez l'instanciation de classes pour effectuer d'autres tâches.

Une légère variation qui instancie la classe pour faire le bonjour:

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

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

Voir également:

Bonjour tout le monde en utilisant une déclaration d'objet

Vous pouvez également utiliser une déclaration d'objet contenant la fonction principale d'un programme Kotlin.

package my.program

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

Le nom de la classe que vous allez exécuter est le nom de votre objet, dans ce cas, my.program.App .

L'avantage de cette méthode par rapport à une fonction de niveau supérieur est que le nom de la classe à exécuter est plus évident et que toutes les autres fonctions que vous ajoutez sont intégrées à la classe App . Vous avez ensuite également une instance singleton App pour stocker l'état et faire d'autres travaux.

Voir également:

Principales méthodes utilisant varargs

Tous ces styles de méthode principaux peuvent également être utilisés avec varargs :

package my.program

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

Lecture de l'entrée de la ligne de commande

Les arguments transmis depuis la console peuvent être reçus dans le programme Kotlin et peuvent être utilisés en entrée. Vous pouvez passer N (1 2 3 et ainsi de suite) nombre d'arguments à partir de l'invite de commande.

Un exemple simple d'argument de ligne de commande dans Kotlin.

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;

}
 

Ici, entrez deux nombres à partir de la ligne de commande pour trouver le nombre maximum. Sortie:

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

The value of b is 89
Max number is: 89
 

Pour !! Opérateur Veuillez vérifier Null Safety .

Remarque: l'exemple ci-dessus est compilé et exécuté sur Intellij.