when con intervalli
Fa parte della sezione Fondamenti del percorso Kotlin di Coddy. Lezione 33 di 93.
A volte devi verificare se un valore rientra in un intervallo, anziché corrispondere a valori specifici. L'espressione when supporta questa possibilità usando la parola chiave in insieme agli intervalli.
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) // Stampa: B
}La parola chiave in verifica se il valore rientra nell’intervallo specificato. Qui, 85 rientra in 80..89, quindi il voto è "B". È molto più semplice che scrivere score >= 80 && score <= 89 per ogni condizione.
Puoi anche combinare intervalli e valori specifici nella stessa espressione when:
fun main() {
val age = 17
val category = when (age) {
0 -> "Newborn"
in 1..12 -> "Child"
in 13..19 -> "Teenager"
else -> "Adult"
}
println(category) // Stampa: Teenager
}Gli intervalli rendono il codice più leggibile quando si gestiscono condizioni numeriche continue, comuni nei sistemi di valutazione, nelle fasce d'età e in scenari simili.
Sfida
FacileScrivi una funzione getTicketPrice che accetta age e restituisce il prezzo del biglietto in base alla fascia d'età della persona.
Usa un'espressione when con intervalli per determinare il prezzo del biglietto appropriato.
Condizioni:
- Età da
0a3: restituisci0(gratis) - Età da
4a12: restituisci10(prezzo per bambini) - Età da
13a17: restituisci15(prezzo per adolescenti) - Età da
18a64: restituisci25(prezzo per adulti) - Età di
65anni o superiore: restituisci12(prezzo per anziani)
Parametri:
age(Int): l'età della persona
Valore restituito: il prezzo del biglietto come numero intero (Int)
Provalo tu
fun getTicketPrice(age: Int): Int {
// Scrivi il codice qui
}
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