Erste Schritte mit Kotlin zum Senden an Java-Entwickler

Als ich anfing, mit Kotlin zu entwickeln, möchte ich einen Punkt schreiben, über den ich verwirrt war. Mögen Java-Entwickler, die diesen Artikel lesen, einen guten Start in die Kotlin-Entwicklung haben ...

Variable Aussage

Deklarieren wir eine Variable in Java.

int i = 0;

Wenn Sie dies in Kotlin schreiben

var i: Int = 0

Es wird so sein.

Was ist also mit "var"?

var und val

var (variable) Entspricht den nicht endgültigen Java-Variablen. Sie kann nach der Initialisierung neu zugewiesen werden.

val (value) Gleich wie Java mit final. Es kann nach der Initialisierung nicht neu zugewiesen werden.

    val i: Int = 0
    i = 1 //Kompilierungsfehler

    var i: Int = 0
    i = 1 // OK

** Wenn möglich, deklarieren Sie die Variable mit "val" der Neuzuweisung NG. Verwenden Sie var nur, wenn Sie es brauchen. ** **.

Übrigens ist es auch im Fall von "val" nicht erforderlich, am Deklarationspunkt zu initialisieren.

    val i: Int
    if (flag) {
        i = 1
    }
    else {
        i = 4
    }

Typinferenz

Kotlin hat Typinferenz.

Wenn Sie eine Variable ohne Inferenz deklarieren, ist sie ↓

    val i: Int = 0

Sie können den Typ weglassen, indem Sie die Inferenz ↓ verwenden

    val i = 0

Lassen Sie uns den Typ aus dem Literal ableiten.

val i = 0 // Int
val l = 0L // Long
val f = 0F // Float
val d = 0.0 // Double
val c = 'c' // Char
val str = "str" // String

Versuchen Sie, den Rückgabewert der Funktion abzuleiten.

fun getString(): String {
    return "kotlin"
}
val str = getString()
// val str:Sie müssen keinen String schreiben

Es gibt keinen "Schalter"

Kotlin hat keinen "Schalter". Es gibt stattdessen "wann".

Beschäftigen wir uns mit der Aufzählung, die einen Tag darstellt.

    enum class DayOfWeek {
        SUN, MON, TUE, WED, THU, FRI, SAT
    }

    val dayOfWeek: DayOfWeek = DayOfWeek.MON
    //Samstage und Sonntage sind gut, sonst schlecht
    when (dayOfWeek) {
        DayOfWeek.SUN -> println("Good!")
        DayOfWeek.SAT -> println("Good!")
        else -> println("Bad...")
    }

Wenn es zwei oder mehr Ausdrücke gibt, können Sie sie in { } after-> einschließen.

when { 
    `Bedingungen` -> { `Formel` }
}

Sie können die break-Klausel nicht in when verwenden. Standardmäßig brechen. Wenn Sie mehrere Bedingungen gleichzeitig bearbeiten möchten, trennen Sie sie durch Kommas.

    when (dayOfWeek) {
        DayOfWeek.SUN, DayOfWeek.SAT -> println("Good!")
        else -> println("Bad...")
    }

if, when und try sind Ausdrücke anstelle von Anweisungen

Da if, when und try Ausdrücke sind, können Sie das Ergebnis einer Variablen zuweisen oder es als Rückgabewert einer Funktion behandeln.

    val v = if (flag) {
        "I like Kotlin!"
    } else {
        "(T_T)"
    }

Der zuletzt ausgewertete Ausdruck ist das Ergebnis von if. Wenn flag wahr ist, Ich mag Kotlin!” Wird den if-Ausdruck ergeben. Der Variablen v` zugeordnet.

Das obige Beispiel hat genau die gleiche Verwendung wie der ternäre Java-Operator. In Kotlin gibt es keine ternären Operatoren.

// Java
String v = flag ? "I like Kotlin!" : "(T_T)";

Es gibt keine "Leere"

In Kotlin gibt es keine "Leere". Verwenden Sie den Typ "Einheit", um eine Funktion ohne Rückgabewert darzustellen.

fun doSomething(): Unit {
  // doSomething
}

Sammlung

Es gibt nützliche Funktionen, die Instanzen von List und Array erstellen.

    val list = listOf(0, 1, 2)
    val empty = emptyList<Int>()
    val arr = arrayOf('a', 'b', 'c')
    val empty = emptyArray<Char>()

XXXof () ist eine Argumentfunktion mit variabler Länge, mit der Sie die Elemente einer Sammlung beschreiben können. Die Funktion emptyXXX () ist nützlich, um leere Sammlungen zu generieren.

Schimmel Generieren 空Generieren
Array arrayOf() emptyArray()
List listOf() emptyList()
Set setOf() emptySet()
Map mapOf() emptyMap()

Wenn das Element nicht abgeleitet werden kann, müssen Sie einen Typparameter angeben.

val numList = listOf<Number>(0.0F, 100, 1_000_000_000_000L)

Veränderliche Sammlung

Es gibt zwei Haupttypen von Kotlin-Sammlungen. Eine veränderliche Sammlung (veränderlich) und eine unveränderliche Sammlung (unveränderlich). Die Funktion add (), mit der Elemente hinzugefügt werden, und die Funktion remove (), mit der Elemente entfernt werden, sind nur in veränderlichen Sammlungen vorhanden.

Immutable Mutable
List MutalbeList
Set MutableSet
Map MutableMap

Die Funktion mutableXXXof () ist nützlich zum Generieren von Mutable-Sammlungen.

    val list = mutableListOf(0, 1, 2)
    list.add(3)

Funktionen und Variablen müssen nicht zu einer Klasse gehören

Im Gegensatz zu Java müssen Kotlin-Funktionen und -Variablen nicht zu einer Klasse gehören.

import com.package

//Funktionen, die nicht zur Klasse gehören
fun topLevelFunction() {
    // do something
}

//Variablen, die nicht zur Klasse gehören
var topLevelVariable = 0

class Hoge {

}

Recommended Posts

Erste Schritte mit Kotlin zum Senden an Java-Entwickler
Kotlin-Klasse zum Senden an Java-Entwickler
Kotlins Klasse Teil 2 zum Senden an Java-Entwickler
Kotlin-Scope-Funktionen zum Senden an Java-Entwickler
Kotlin-Funktionen und Lambdas zum Senden an Java-Entwickler
Erste Schritte mit Java Basics
Erste Schritte mit Ruby für Java-Ingenieure
Einführung in Java ab 0 Teil 1
Tipps zur Interoperabilität mit Kotlin zum Senden an Java-Entwickler
Kotlins Null-Sicherheit zum Senden an Java-Entwickler
Zurück zum Anfang, Erste Schritte mit Java ② Steueranweisungen, Schleifenanweisungen
Links & Memos für den Einstieg in Java (für mich)
Erste Schritte mit DBUnit
Erste Schritte mit Swift
Erste Schritte mit Doma-Einführung in die Kriterien-API
Erste Schritte mit Doma-Transaktionen
Erste Schritte mit Java-Programmen mit Visual Studio Code
Ich möchte Bildschirmübergänge mit Kotlin und Java machen!
Erste Schritte mit älteren Java-Ingenieuren (Stream + Lambda)
Erste Schritte mit der Verarbeitung von Doma-Annotationen
Java zum Spielen mit Function
Stellen Sie mit Java eine Verbindung zur Datenbank her
Stellen Sie mit Java eine Verbindung zu MySQL 8 her
Erste Schritte mit JSP & Servlet
Erste Schritte mit Spring Boot
Erste Schritte mit Ruby-Modulen
Zurück zum Anfang und erste Schritte mit Java ① Datentypen und Zugriffsmodifikatoren
Erste Schritte mit Java und Erstellen eines Ascii Doc-Editors mit JavaFX
Verwendung des mit Tensorflow 2.0 trainierten Modells mit Kotlin / Java
Im ersten Jahr versuchte der Java-Entwickler bei udemy, mit PHP zu beginnen
Ich möchte eine Liste mit Kotlin und Java erstellen!
Ich möchte eine Funktion mit Kotlin und Java erstellen!
Ich möchte verschiedene Funktionen mit Kotlin und Java implementieren!
Anmerkung: Kotlin + Raum + RecyclerView + Datenbindung (Teil 2)
Kotlins Klasse Teil 2 zum Senden an Java-Entwickler
Java mit Ramen lernen [Teil 1]
Erste Schritte mit Java_Kapitel 5_Praktische Übungen 5_4
[Java] Mit Arrays.asList () zu beachtende Punkte
Wagen Sie es, Kaggle mit Java herauszufordern (1)
Ich habe versucht, mit Java zu interagieren
[Google Cloud] Erste Schritte mit Docker
Erste Schritte mit Docker mit VS-Code
Kotlin-Generika für Java-Entwickler
Java, Arrays für Anfänger
CompletableFuture Erste Schritte 2 (Versuchen Sie, CompletableFuture zu erstellen)
[Android] Konvertieren Sie Android Java-Code in Kotlin
Ich möchte mit Kotlin und Java zum vorherigen Bildschirm zurückkehren!
Woran ich dachte, als ich anfing, von Java nach Kotlin zu migrieren
Erste Schritte mit dem Doma-Criteria API Cheet Sheet
[Java] Fassen Sie zusammen, wie Sie mit der Methode equals vergleichen können
Konvertieren Sie alle Android-Apps (Java) in Kotlin
[Hinweis] Erste Schritte mit Rspec
Erste Schritte mit Docker für Mac (Installation)
Einführung in Algorithmen mit Java-Suche (Tiefenprioritätssuche)
Einführung in den Parametrisierungstest in JUnit
Erste Schritte mit Ratpack (4) -Routing & Static Content
Einführung in Kotlin für iOS-Entwickler lin ー Kotlin-Erstellung
Beginnen Sie mit der Funktionsweise von JVM GC
Java: So senden Sie Werte von Servlet zu Servlet
[Kotlin] Doppelte Dateien löschen [Java]