If als Ausdruck
Teil des Abschnitts Grundlagen der Kotlin-Journey von Coddy. Lektion 31 von 93.
Du hast gesehen, wie if inline verwendet werden kann, um zwischen zwei Werten zu wählen. Wenn deine if-else-Blöcke jedoch mehrere Anweisungen enthalten, kannst du die gesamte Struktur weiterhin als Ausdruck verwenden: Der letzte Ausdruck in jedem Zweig wird zum zurückgegebenen Wert.
fun main() {
val score = 85
val message = if (score >= 60) {
val grade = "passing"
"You got a $grade score!"
} else {
val grade = "failing"
"You got a $grade score."
}
println(message) // Gibt aus: You got a passing score!
}Jeder Zweig kann mehrere Anweisungen enthalten, aber der letzte Ausdruck im Zweig wird zurückgegeben und der Variablen zugewiesen. In diesem Fall wird die Zeichenfolge in der letzten Zeile jedes Blocks zum Wert von message.
Das funktioniert auch mit else if-Ketten:
fun main() {
val temperature = 25
val description = if (temperature > 30) {
"Hot"
} else if (temperature > 20) {
"Warm"
} else {
"Cool"
}
println(description) // Gibt aus: Warm
}Wenn du if als Ausdruck verwendest, ist der else-Zweig erforderlich: Kotlin muss garantieren, dass unabhängig davon, welche Bedingung wahr ist, ein Wert zurückgegeben wird.
Aufgabe
EinfachDir wird die folgende Variable bereitgestellt:
val hours = 45Verwende einen if-Ausdruck mit mehreren Anweisungen in jedem Zweig, um den Lohnstatus eines Arbeiters zu bestimmen und eine Nachricht zu erstellen.
Erstelle eine Variable payStatus mithilfe eines if-Ausdrucks:
- Wenn
hoursgrößer als 40 ist:- Erstelle eine Variable
overtime, diehours - 40entspricht. - Der letzte Ausdruck sollte
"Overtime: $overtime extra hours"sein.
- Erstelle eine Variable
- Andernfalls:
- Erstelle eine Variable
remaining, die40 - hoursentspricht. - Der letzte Ausdruck sollte
"Regular: $remaining hours until overtime"sein.
- Erstelle eine Variable
Gib den Wert von payStatus aus.
Probier es selbst
fun main() {
val hours = 45
// TODO: Schreibe deinen Code darunter
// Erstelle eine Variable payStatus mit einem if-Ausdruck
// Wenn hours > 40: erstelle die Variable overtime und gib "Overtime: $overtime extra hours" zurück
// Andernfalls: erstelle die Variable remaining und gib "Regular: $remaining hours until overtime" zurück
}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