Abo
  • Services:
Anzeige
Kotlin ist ein Leuchtturmprojekt für die Android-Entwicklung.
Kotlin ist ein Leuchtturmprojekt für die Android-Entwicklung. (Bild: Jetbrains/Apache License 2.0)

Funktional und voll unter Kontrolle

Kotlin ermöglicht funktionale Programmierung und orientiert sich in Teilen auch an diesem Konzept. Eine neue Funktion wird mit fun definiert, gefolgt vom Namen der Funktion, den Argumenten in Klammern sowie dem Typ des Rückgabewertes nach einem Doppelpunkt.

Anzeige

  1. // Berechnet den größten gemeinsamen Teiler
  2. fun ggt(x: Int = 0, y: Int = 0): Int {
  3. var a: Int = x
  4. var b: Int = y
  5.  
  6. while (b != 0) {
  7. if (a > b) {
  8. a = a - b
  9. } else {
  10. b = b - a;
  11. }
  12. }
  13.  
  14. println("Der ggT von $x und $y ist $a.")
  15. return a;
  16. }

Die Funktion ggt() erwartet zwei Argumente, die dann im Rumpf in den Variablen x und y bereitstehen. Der Typ einer Variablen steht ähnlich wie in Pascal hinter dem Doppelpunkt. Beim ggt() nehmen x und y 32 Bit große Ganzzahlen auf (Int). Optional können Entwickler hier Standardwerte vorgeben, im Beispiel erhalten x und y eben den Wert 0. Beim Aufruf einer Funktion darf man zudem festlegen, welcher Parameter welchen Wert erhält: ggt(b = 3). Auch die primitiven Datentypen wie Int sind in Kotlin vollwertige Objekte.

Die Funktion ggt() liefert eine Ganzzahl zurück. Gibt man keinen Rückgabetyp an, liefert die Funktion automatisch den Wert Unit vom Typ Unit zurück. Dies korrespondiert mit dem Typ void in Java. Besteht der Funktionsrumpf aus einem einzigen Ausdruck, kann man eine Kurzschreibweise nutzen: fun doppel(a: Int) = a + a.

Variablen definiert man mit var, Konstanten mit val. In Kotlin gilt die Konvention, möglichst immer alle genutzten Variablen auch tatsächlich als var zu definieren. Das betrifft auch die übergebenen Parameter, die der Rumpf von ggt() daher für die Berechnung in die Variablen a und b kopiert. Sofern man die Typen nicht angibt, versucht der Compiler, diese während der Übersetzung automatisch abzuleiten. Variableninhalte lassen sich zudem in Zeichenketten einsetzen, indem man den Variablennamen im Text ein $ voranstellt.

Unter Kontrolle

Ergänzend zu der etwa aus C oder eben Java altbekannten Anweisung if kennt Kotlin when, das dem switch-Konstrukt aus anderen Sprachen ähnelt. Wie im folgenden Beispiel vergleicht es den Inhalt oder den Typ einer Variablen nacheinander mit Vorgaben:

  1. fun wasist(obj): String = when (obj) {
  2. 1 -> "Eins"
  3. "Hallo" -> "Ein String mit dem Inhalt Hallo"
  4. is Int -> "Eine Zahl"
  5. else -> "unbekannt"
  6. }

Der Operator .. erzeugt eine Zahlenfolge, die man etwa in einer for-Schleife durchlaufen kann. Das folgende Beispiel addiert alle Zahlen von 1 bis 100:

  1. var x: Int = 0
  2. for (i in 1..100) {
  3. x = x + i
  4. }

 Programmiersprache für Android: Kotlin ist auch nur eine InselKlassen mit zwei Konstruktoren und Properties 

eye home zur Startseite
Proctrap 29. Okt 2017

immer diese Threadschändung

MiBx 18. Okt 2017

Das ist schon ganz gut so, dass Du zurück gewechselt bist, wenn Du Dich nicht wirklich...

Proctrap 17. Okt 2017

kwt

horotab 05. Okt 2017

Wer Methoden schreibt, die so lang sind, mach idR sowieso etwas falsch. Im Idealfall hat...

demonkoryu 04. Okt 2017

Closures sind nicht "hip" sondern eine nützliche Abstraktion, die in den letzten Jahren...



Anzeige

Stellenmarkt
  1. Elektror airsystems GmbH, Ostfildern bei Stuttgart
  2. Sky Deutschland GmbH, Unterföhring
  3. LexCom Informationssysteme GmbH, Chemnitz
  4. Zweckverband Kommunales Rechenzentrum Niederrhein (KRZN), Kamp-Lintfort


Anzeige
Hardware-Angebote
  1. und bis zu 50€ Cashback erhalten bei Alternate.de
  2. 599€ + 5,99€ Versand

Folgen Sie uns
       


  1. Nokia 1 im Hands On

    Android-Go-Smartphone mit Xpress-On-Covern kostet 100 Euro

  2. Nokia 8110 4G im Hands On

    Das legendäre Matrix-Handy kehrt zurück

  3. Galaxy S9 und S9+ im Hands On

    Samsungs neue Smartphones kommen mit variabler Blende

  4. Energizer P16K Pro

    Seltsames Smartphone mit 60-Wh-Riesenakku

  5. Matebook X Pro im Hands on

    Huaweis Notebook kommt mit Nvidia-Grafikkarte

  6. Apple

    iTunes Store sperrt alte Geräte und Betriebssysteme aus

  7. Alcatel 1T

    Oreo-Tablet mit 7-Display kostet 70 Euro

  8. Notebook und Tablets

    Huawei stellt neues Matebook und Mediapads vor

  9. V30S Thinq

    LG zeigt sein erstes Thinq-Smartphone

  10. MWC

    Nokia erwartet 5G-Netze bereits in diesem Jahr



Haben wir etwas übersehen?

E-Mail an news@golem.de


Anzeige
Homepod im Test: Smarter Lautsprecher für den Apple-affinen Popfan
Homepod im Test
Smarter Lautsprecher für den Apple-affinen Popfan
  1. Rückstände Homepod macht weiße Ringe auf Holzmöbeln
  2. Smarter Lautsprecher Homepod schwer reparierbar
  3. Smarter Lautsprecher Homepod-Reparaturen kosten fast so viel wie ein neues Gerät

Indiegames-Rundschau: Tiefseemonster, Cyberpunks und ein Kelte
Indiegames-Rundschau
Tiefseemonster, Cyberpunks und ein Kelte
  1. Indiegames-Rundschau Krawall mit Knetmännchen und ein Mann im Fass
  2. Games 2017 Die besten Indiespiele des Jahres

HP Omen X VR im Test: VR auf dem Rücken kann nur teils entzücken
HP Omen X VR im Test
VR auf dem Rücken kann nur teils entzücken
  1. 3D Rudder Blackhawk Mehr Frags mit Fußschlaufen
  2. Kreativ-Apps für VR-Headsets Austoben im VR-Atelier
  3. Apps und Games für VR-Headsets Der virtuelle Blade Runner und Sport mit Sparc

  1. Re: xy Jahre Support ...

    robinx999 | 20:48

  2. Re: Ich hatte mir mehr erhofft...

    Ugly | 20:48

  3. Re: Das sagt eine Schlange auch

    plutoniumsulfat | 20:46

  4. Re: Ja nee, is klar

    quark2017 | 20:32

  5. Langweilig

    deefens | 20:30


  1. 20:17

  2. 19:48

  3. 18:00

  4. 17:15

  5. 16:41

  6. 15:30

  7. 15:00

  8. 14:30


  1. Themen
  2. A
  3. B
  4. C
  5. D
  6. E
  7. F
  8. G
  9. H
  10. I
  11. J
  12. K
  13. L
  14. M
  15. N
  16. O
  17. P
  18. Q
  19. R
  20. S
  21. T
  22. U
  23. V
  24. W
  25. X
  26. Y
  27. Z
  28. #
 
    •  / 
    Zum Artikel