When mit Bereichen
Teil des Abschnitts Grundlagen der Kotlin-Journey von Coddy. Lektion 33 von 93.
Manchmal musst du prüfen, ob ein Wert innerhalb eines Bereichs liegt, anstatt bestimmte Werte abzugleichen. Der when-Ausdruck unterstützt dies, indem das Schlüsselwort in mit Bereichen kombiniert wird.
fun main() {
val score = 85
val grade = when (score) {
in 90..100 -> "A"
in 80..89 -> "B"
in 70..79 -> "C"
in 60..69 -> "D"
else -> "F"
}
println(grade) // Gibt aus: B
}Das Schlüsselwort in prüft, ob der Wert innerhalb des angegebenen Bereichs liegt. Hier liegt 85 innerhalb von 80..89, daher ist die Note „B“. Das ist deutlich übersichtlicher, als für jede Bedingung score >= 80 && score <= 89 zu schreiben.
Du kannst Bereiche auch mit bestimmten Werten im selben when-Ausdruck kombinieren:
fun main() {
val age = 17
val category = when (age) {
0 -> "Newborn"
in 1..12 -> "Child"
in 13..19 -> "Teenager"
else -> "Adult"
}
println(category) // Gibt aus: Teenager
}Bereiche machen deinen Code lesbarer, wenn du mit fortlaufenden numerischen Bedingungen arbeitest, was bei Bewertungssystemen, Alterskategorien und ähnlichen Szenarien häufig vorkommt.
Aufgabe
EinfachSchreibe eine Funktion getTicketPrice, die age entgegennimmt und den Ticketpreis basierend auf der Alterskategorie der Person zurückgibt.
Verwende einen when-Ausdruck mit Bereichen, um den passenden Ticketpreis zu bestimmen.
Bedingungen:
- Alter von
0bis3: gib0zurück (kostenlos) - Alter von
4bis12: gib10zurück (Kinderpreis) - Alter von
13bis17: gib15zurück (Preis für Jugendliche) - Alter von
18bis64: gib25zurück (Erwachsenenpreis) - Alter
65und älter: gib12zurück (Seniorenpreis)
Parameter:
age(Int): Das Alter der Person
Rückgabe: Der Ticketpreis als Ganzzahl (Int)
Probier es selbst
fun getTicketPrice(age: Int): Int {
// Schreibe hier den Code
}
Diese Lektion enthält ein kurzes Quiz. Starte die Lektion, um es zu beantworten und deinen Fortschritt zu speichern.
Alle Lektionen in Grundlagen
4Operatoren Teil 1
Arithmetische OperatorenModulo-OperatorErweiterte ZuweisungVergleichsoperatorenRückblick – Einfache Mathematik7Grundlegende Ein-/Ausgabe
println-FunktionString-VorlagenReadLine-EingabeTypkonvertierungWiederholung – Jahre bis zur RenteWiederholung – Wahr oder falsch10Funktionen
Eine Funktion deklarierenParameter und ArgumenteRückgabewerteBenannte ArgumenteStandardwerteFunktionen mit einem AusdruckRückblick – Sigma-FunktionRückblick – Validierungsfunktion2Variablen
Val vs VarTypinferenzZahlenStringBooleanNamenskonventionenRückblick – Variablen initialisieren5Operatoren Teil 2
Logische Operatoren Teil 1Logische Operatoren Teil 2Logische Operatoren Teil 3Ternär mit If-AusdruckWiederholung – Einfache Logik8Rechner zum Aufteilen der Rechnung
WillkommensnachrichtEingaben erfassen11FizzBuzz mit einer Wendung
SpielübersichtDie FizzBuzz-Funktion3Nullbarkeit
Was ist Null-Sicherheit?Nullable-TypenOperator für sicheren AufrufElvis-OperatorGrundlagen der FunktionsaufgabeAssertion auf Nicht-NullRückblick – Sicherer Zugriff6Entscheidungen treffen
If-AnweisungIf - ElseIf als AusdruckWhen-AusdruckWhen mit BereichenRückblick - Einfacher Taschenrechner9Schleifen
For-SchleifeWhile-SchleifeDo-While-SchleifeBreakContinueBereiche in SchleifenVerschachtelte SchleifeRückblick – FakultätRückblick – Dynamische EingabeÜbe selbstständig: Kotlin-Playground