Abo
  • IT-Karriere:

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.

Stellenmarkt
  1. ID Logistics über IBS GmbH, Dortmund, Weilbach, Hammersbach
  2. Stadtwerke München GmbH, München

  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 
  1.  
  2. 1
  3. 2
  4. 3
  5. 4
  6. 5
  7. 6
  8.  


Anzeige
Spiele-Angebote
  1. (-63%) 16,99€
  2. 4,99€
  3. 69,99€ (Release am 25. Oktober)
  4. (-55%) 4,50€

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...


Folgen Sie uns
       


Hallo Magenta und Alexa auf dem Smart Speaker der Telekom

Wetter, Allgemeinwissen, sächsische Aussprache - wir haben den Magenta-Assistenten gegen Alexa antreten lassen.

Hallo Magenta und Alexa auf dem Smart Speaker der Telekom Video aufrufen
Rabbids Coding angespielt: Hasenprogrammierung für Einsteiger
Rabbids Coding angespielt
Hasenprogrammierung für Einsteiger

Erst ein paar einfache Anweisungen, dann folgen Optimierungen: Mit dem kostenlos erhältlichen PC-Lernspiel Rabbids Coding von Ubisoft können Jugendliche und Erwachsene ein bisschen über Programmierung lernen und viel Spaß haben.
Von Peter Steinlechner

  1. Transport Fever 2 angespielt Wachstum ist doch nicht alles
  2. Mordhau angespielt Die mit dem Schwertknauf zuschlagen
  3. Bus Simulator angespielt Zwischen Bodenschwelle und Haltestelle

Change-Management: Die Zeiten, sie, äh, ändern sich
Change-Management
Die Zeiten, sie, äh, ändern sich

Einen Change zu wollen, gehört heute zum guten Ton in der Unternehmensführung. Doch ein erzwungener Wandel in der Firmenkultur löst oft keine Probleme und schafft sogar neue.
Ein Erfahrungsbericht von Marvin Engel

  1. Recruiting Alle Einstellungsprozesse sind fehlerhaft
  2. LoL Was ein E-Sport-Trainer können muss
  3. IT-Arbeit Was fürs Auge

Cyberangriffe: Attribution ist wie ein Indizienprozess
Cyberangriffe
Attribution ist wie ein Indizienprozess

Russland hat den Bundestag gehackt! China wollte die Bayer AG ausspionieren! Bei großen Hackerangriffen ist oft der Fingerzeig auf den mutmaßlichen Täter nicht weit. Knallharte Beweise dafür gibt es selten, Hinweise sind aber kaum zu vermeiden.
Von Anna Biselli

  1. Double Dragon APT41 soll für Staat und eigenen Geldbeutel hacken
  2. Internet of Things Neue Angriffe der Hackergruppe Fancy Bear
  3. IT-Security Hoodie-Klischeebilder sollen durch Wettbewerb verschwinden

    •  /