If come espressione
Fa parte della sezione Fondamenti del percorso Kotlin di Coddy. Lezione 31 di 93.
Hai visto come if può essere usato in linea per scegliere tra due valori. Ma quando i tuoi blocchi if-else contengono più istruzioni, puoi comunque usare l’intera struttura come espressione: l’ultima espressione di ciascun ramo diventa il valore restituito.
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) // Stampa: You got a passing score!
}Ogni ramo può contenere più istruzioni, ma l’ultima espressione nel ramo è quella che viene restituita e assegnata alla variabile. In questo caso, la stringa nell’ultima riga di ogni blocco diventa il valore di message.
Funziona anche con catene di else if:
fun main() {
val temperature = 25
val description = if (temperature > 30) {
"Hot"
} else if (temperature > 20) {
"Warm"
} else {
"Cool"
}
println(description) // Stampa: Warm
}Quando usi if come espressione, il ramo else è obbligatorio: Kotlin deve garantire che venga restituito un valore, indipendentemente da quale condizione sia vera.
Sfida
FacileTi viene fornita la seguente variabile:
val hours = 45Usa un'espressione if con più istruzioni in ogni ramo per determinare lo stato della retribuzione di un lavoratore e creare un messaggio.
Crea una variabile payStatus usando un'espressione if:
- Se
hoursè maggiore di 40:- Crea una variabile
overtimeuguale ahours - 40 - L'ultima espressione dovrebbe essere
"Overtime: $overtime extra hours"
- Crea una variabile
- Altrimenti:
- Crea una variabile
remaininguguale a40 - hours - L'ultima espressione dovrebbe essere
"Regular: $remaining hours until overtime"
- Crea una variabile
Stampa il valore di payStatus.
Provalo tu
fun main() {
val hours = 45
// TODO: Scrivi il tuo codice qui sotto
// Crea una variabile payStatus usando un'espressione if
// Se hours > 40: crea la variabile overtime e restituisci "Overtime: $overtime extra hours"
// Altrimenti: crea la variabile remaining e restituisci "Regular: $remaining hours until overtime"
}Questa lezione include un breve quiz. Inizia la lezione per rispondere e tenere traccia dei tuoi progressi.
Tutte le lezioni di Fondamenti
4Operatori Parte 1
Operatori aritmeticiOperatore moduloAssegnazione compostaOperatori di confrontoRipasso: matematica semplice7Input/output di base
Funzione printlnTemplate di stringheInput con readLineConversione di tipoRiepilogo - Anni alla pensioneRiepilogo - Vero o falso10Funzioni
Dichiarare una funzioneParametri e argomentiValori di ritornoArgomenti denominatiValori predefinitiFunzioni a espressione singolaRiepilogo - Funzione SigmaRiepilogo - Funzione di validazione2Variabili
Val vs VarInferenza del tipoNumeriStringaBooleanoConvenzioni di denominazioneRiepilogo - Inizializzare le variabili5Operatori Parte 2
Operatori logici Parte 1Operatori logici Parte 2Operatori logici Parte 3Ternario con espressione ifRipasso - Logica semplice8Calcolatore per dividere il conto
Messaggio di benvenutoAcquisire i dati11FizzBuzz con un tocco
Panoramica del giocoLa funzione FizzBuzz3Nullabilità
Cos'è la null safetyTipi nullableOperatore di chiamata sicuraOperatore ElvisBasi della sfida sulle funzioniAsserzione non-nullRiepilogo - Accesso sicuro6Prendere decisioni
Istruzione ifIf-elseIf come espressioneEspressione whenwhen con intervalliRiepilogo - Calcolatrice semplice9Cicli
Ciclo forCiclo whileCiclo do-whilebreakcontinueIntervalli nei cicliCiclo annidatoRipasso - fattorialeRipasso - input dinamicoEsercitati da solo: Playground Kotlin