[JAVA] Was ich über Kotlin gelernt habe

Was ich über Kotlin gelernt habe

Was ist Kotlin?

Kotlin ist eine objektorientierte Programmiersprache, die von Jet Brains entwickelt wurde und für IntelliJ IDEA bekannt ist. Weil der kompilierte Code auf der JVM ausgeführt wird Es ist jetzt möglich, die von JAVA erstellten Assets umzuleiten.

Kotlin grundlegende Syntax

Variable Aussage

//Das Deklarieren mit val verhindert die Neuzuweisung von Werten
val firstName: String = "Tanaka"  
//Es ist nicht erforderlich, jeden Typ in der Typinferenz zu definieren
val lastName = "Taro"  
  
//Kann durch Deklarieren mit var neu zugewiesen werden
var age = 20  
age = 21

Array

//Array(array)Erstellen
val nameList: Array<String> = arrayOf("tanaka", "saitou", "kimura")  
println(nameList[0]) //Ausgabe von Tanaka
  
//Elemente eines Arrays umschreiben
nameList[1] = "sakurai"  
println(nameList[1]) //Ausgabe von Sakurai
  
//Array(aufführen)Erstellen
val animalList: List<String> = listOf("dog", "cat", "rabbit")  
println(animalList[0]) //Hundeausgänge
  
//Elemente eines Arrays umschreiben
animalList[1] = "tiger" //Fehlerschnittstellenliste ist schreibgeschützt

Selbst mit List kann mutableListOf () verwendet werden, um eine Liste zu erstellen, die geändert werden kann. Daher bin ich mir nicht sicher, wie Array und List richtig verwendet werden sollen.

Karte

//Kartenerstellung
val numberMap: MutableMap<String, Int> = mutableMapOf("one" to 1)  
println(numberMap["one"]) //1 wird ausgegeben
////Mehrwert
numberMap["tow"] = 2  
println(numberMap)        // {one=1, tow=2}Ausgänge
  
//Erstellen Sie eine Karte mit mapOf
val reNumberMap: Map<Int, String> = mapOf(1 to "one")  
println(reNumberMap[1])   //1 wird ausgegeben
////Mehrwert
reNumberMap["tow"] = 2    //Fehler mapOf ist schreibgeschützt

Bedingte Verzweigung

//Gewöhnliche if-Anweisung
if (true) {  
    println("if")   //wenn Ausgänge
} else {  
    println("else")  
}  
  
//Kotlin hat keinen ternären Operator, also sieht es so aus
val animal = "dog"  
val isDog = if (animal == "dog") true else false  
println(isDog)      //true ist die Ausgabe
  
//Für leeren Scheck
val person:String? = null  
val personName = person?: "NoName"  
println(personName) //NoName wird ausgegeben
  
//When-Anweisung Ähnlich wie die switch-Anweisung
val result = when("hoge") {  
    "hoge" -> "hoge"  
    "fuga" -> "fuga"  
     else -> "else"  
}  
println(result)     //Hoge-Ausgänge

Schleifenverarbeitung

//while-Anweisung
var count = 5  
while(0 < count--) {  
    println("while count: ${count}")  
}  
  
//zur Aussage
for (i in 1..5) {  
    println("for count: ${i}")  
}

Schreibvergleich zwischen JAVA und Kotlin

Fügen Sie der Benutzerklasse Alter, Name und Geschlecht hinzu Ich habe den Code geschrieben, um die Selbsteinführungsmethode auszuführen.

Kotlin

user.kt

fun main() {  
    val user = userData(20, "Taro", "Men")  
    user.selfIntroduction()  
}

userData.kt

data class userData (  
    var age: Int? = 0,  
    var name: String = "NoName",  
    var gender: String? = null  
) {  
    fun selfIntroduction() {  
        println("My name is ${name}")  
        println("Age is ${age}")  
        println("Gender is ${gender}")  
    }  
}

JAVA

user.java

public class user {  
    public static void main(String[] args) {  
        userData user = new userData(20, "Taro", "Men");  
        user.selfIntroduction();  
    }  
}

userData.java

public class userData {  
    private int age;  
    private String name;  
    private String gender;  
  
    public userData(int age, String name, String gender) {  
        this.age = age;  
        this.name = name;  
        this.gender = gender;  
    }  
  
    public void selfIntroduction() {  
        System.out.println("My name is " + this.name);  
        System.out.println("Age is " + this.age);  
        System.out.println("Gender is " + this.gender);  
    }  
}

Der Unterschied, den ich nach dem Schreiben fühlte

Hallo Welt bei Spring Boot

Umgebung

Windows10 Pro IntelliJ Community Edition 2020.2 JAVA 14

Erstellen Sie eine Vorlage für das Projekt

Verwenden Sie Spring Initializr, um eine Vorlage für Ihr Projekt zu erhalten.

Die Einstellung ist Project : Gradle Project Language : Kotlin Spring Boot : 2.3.4 ** Projektmetadaten **: Standard beibehalten Packaging Jar Java : 14 Dependencies : Spring Web

chrome_8cN8PNZDsH.png

Drücken Sie abschließend ** GENERATE **, um die Projektvorlage herunterzuladen

Erstellen Sie die Vorlage des erstellten Projekts

Aus IntelliJ ** Datei → Öffnen ... → Wählen Sie die Vorlage des heruntergeladenen Projekts aus → Extrahieren Sie mit der Prozedur OK **

Erstellen Sie einen Controller

Für den Ordner demo / src / main / kotlin / com.example.demo / controller ** Rechtsklick → Neu → Kotlin-Datei / Klasse drücken ** Erstellen Sie HelloController.kt.

HelloController.kt

package com.example.demo.controller

import org.springframework.web.bind.annotation.RestController
import org.springframework.web.bind.annotation.RequestMapping

@RestController
public class HelloController {
    @RequestMapping("/")
    fun hello():String {
        return "Hello World"
    }
}

Starten Sie den Webserver

idea64_VFRC5iORoS.png

Klicken Sie oben rechts auf die Schaltfläche ** Wiedergabe **, um zu erstellen

Verbinden

Stellen Sie nach Abschluss des Builds eine Verbindung zu "http: // localhost: 8080" her

chrome_Dk8vUW6lcC.png

Impressionen

Ich habe JAVA nicht so sehr berührt Ich hatte Angst, dass Kotlin in Ordnung sein würde, ohne JAVA zu kennen. Als ich plötzlich anfing, aus Kotlin zu schreiben, gab es plötzlich kein Problem mehr mit Kotlin Ich hatte eher das Gefühl, dass es einfacher war, mit Kotlin zu beginnen. Als ich es mit JAVA verglich, wurde die Codemenge in Kotlin kleiner. Ich hatte das Gefühl, dass Typinferenz, Datenklassen usw. dazu beitrugen, den Code einfach zu halten.

Recommended Posts

Was ich über Kotlin gelernt habe
Was ich gelernt habe
Was ich gelernt habe ② ~ Mock ~
Was ich gelernt habe ~ ~ DJUnit ~
Zusammenfassung dessen, was ich über Spring Boot gelernt habe
Was ich über Java 8 recherchiert habe
Was ich über Java 6 recherchiert habe
Was du über Hashing gelernt hast
Was ich über Java 9 recherchiert habe
Was Sie über Symbole gelernt haben
Was ich über Java 7 recherchiert habe
Was ich über Java 5 recherchiert habe
Über Kotlin
Ich werde sowieso schreiben, was ich über Docker gelernt habe (zweite)
Ich werde sowieso schreiben, was ich über Docker gelernt habe (zuerst)
Was ich aus dem Studium von Rails gelernt habe
Was ich mit Java Gold gelernt habe
Was ich mit Java Silver gelernt habe
Was ich über Java-Lernen recherchiert habe
Nehmen Sie, was Sie über Java-Reflexion gelernt haben
Was ich aus der Java-Geldberechnung gelernt habe
Woran ich dachte, als ich anfing, von Java nach Kotlin zu migrieren
[Persönliches Memo] Ich habe etwas über Modifikatoren gelernt
[Rails] Ich habe etwas über Datenbankdatentypen gelernt!
Was ich in Java gelernt habe (Teil 2) Was sind Variablen?
Was ich getan habe, als ich Java zu Kotlin konvertiert habe
Zusammenfassung dessen, was ich in Spring Batch gelernt habe
[Rails] Ich habe den Unterschied zwischen Ressourcen und Ressourcen untersucht
Was ich in Java gelernt habe (Teil 3) Anweisung zur Ausführung von Anweisungen
Was ich beim Erstellen eines Servers in Java gelernt habe
Ich wusste, was Reflexion war
Was ich in Java gelernt habe (Teil 4) Bedingte Verzweigung und Wiederholung
[Swift] Ich dachte über Vergleiche nach
Ich habe das Kotlin-Startbuch gelesen
10 Dinge, die ich an Android hasse
[Android / Java] Erfahren Sie mehr über DataBinding
Was ich in Java gelernt habe (Teil 1) Java-Entwicklungsablauf und Überblick
Über das, was ich beim Erstellen einer CLJ-Datei mit Clojure getan habe
[Anmerkung] Was ich in einem halben Jahr von unerfahrenen (Java) gelernt habe
[Anmerkung] Was ich in einem halben Jahr von unerfahrenen (Java) gelernt habe (1)
Was ich aus Java gelernt habe, funktioniert mit Visual Studio Code
Über die Sprache, die von nun an zu lernen ist
[Rails] Ich habe etwas über Migrationsdateien gelernt! (Hinzufügen einer Spalte zur Tabelle)
[Rails] Was ich aus einem kleinen Stolperstein bei der Verwendung von Vorfahren gelernt habe