Primeros pasos con Kotlin

Hola Mundo

Todos los programas de Kotlin comienzan en la función principal. Aquí hay un ejemplo de un programa simple de Kotlin “Hello World”:

package my.program

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

Coloque el código anterior en un archivo llamado Main.kt (este nombre de archivo es completamente arbitrario)

Al apuntar a la JVM, la función se compilará como un método estático en una clase con un nombre derivado del nombre del archivo. En el ejemplo anterior, la clase principal a ejecutar sería my.program.MainKt.

Para cambiar el nombre de la clase que contiene funciones de nivel superior para un archivo en particular, coloque la siguiente anotación en la parte superior del archivo sobre la declaración del paquete:

@file:JvmName("MyApp")

En este ejemplo, la clase principal a ejecutar ahora sería my.program.MyApp.

Ver también:

  • Funciones de nivel de paquete incluida la anotación @JvmName.
  • [Objetivos del sitio de uso de anotaciones] (https://kotlinlang.org/docs/reference/annotations.html#annotation-use-site-targets)

Hello World usando un Objeto Compañero

De forma similar al uso de una declaración de objeto, puede definir la función “principal” de un programa Kotlin mediante un [objeto complementario] (https://kotlinlang.org/docs/reference/object-declarations.html#companion-objects) de un clase.

package my.program

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

El nombre de la clase que ejecutará es el nombre de su clase, en este caso es my.program.App.

La ventaja de este método sobre una función de nivel superior es que el nombre de la clase a ejecutar es más evidente, y cualquier otra función que agregue se incluye en la clase App. Esto es similar al ejemplo de Declaración de objeto, excepto que usted tiene el control de instanciar cualquier clase para hacer más trabajo.

Una ligera variación que crea una instancia de la clase para hacer el “hola” real:

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

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

Ver también:

Hello World usando una declaración de objeto

Alternativamente, puede usar una [Declaración de objeto] (https://kotlinlang.org/docs/reference/object-declarations.html#object-declarations) que contiene la función principal para un programa Kotlin.

package my.program

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

El nombre de la clase que ejecutará es el nombre de su objeto, en este caso es my.program.App.

La ventaja de este método sobre una función de nivel superior es que el nombre de la clase a ejecutar es más evidente, y cualquier otra función que agregue se incluye en la clase App. Luego, también tiene una instancia singleton de App para almacenar el estado y hacer otro trabajo.

Ver también:

Métodos principales usando varargs

Todos estos estilos de métodos principales también se pueden usar con varargs:

package my.program

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

Compile y ejecute el código Kotlin en la línea de comandos

Como Java proporciona dos comandos diferentes para compilar y ejecutar código Java. Al igual que Kotlin, también le proporciona diferentes comandos.

javac para compilar archivos java. java para ejecutar archivos java.

Igual que kotlinc para compilar archivos kotlin kotlin para ejecutar archivos kotlin.

Lectura de entrada desde la línea de comandos

Los argumentos pasados ​​desde la consola se pueden recibir en el programa Kotlin y se pueden usar como entrada. Puede pasar N (1 2 3 y así sucesivamente) números de argumentos desde el símbolo del sistema.

Un ejemplo simple de un argumento de línea de comandos en 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;

}

Aquí, ingrese dos números desde la línea de comando para encontrar el número máximo. Producción :

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

The value of b is 89
Max number is: 89

Para !! Operador Verifique Seguridad nula.

Nota: el ejemplo anterior se compila y ejecuta en Intellij.