Istruzione if in Kotlin
L'istruzione if mi permette di costruire una struttura condizionale nel linguaggio Kotlin.
if (condizione) {
codice
}
Come funziona
- Se la condizione if è vera, il programma esegue il codice tra parentesi graffe
- Se la condizione if è falsa, il programma esce dalla struttura condizionale.
Le clausole opzionali else if e else
if (condizione 1) {
codice 1
}
else if (condizione 2) {
codice 2
}
else {
codice 3
}
La struttura utilizza anche due clausole opzionali else if e else.
- La clausola else if identifica una condizione secondaria da verificare se la prima è falsa.
- La clausola else viene eseguita se tutte le altre condizioni della struttura sono false.
Nota. Non c'è limite al numero delle clausole else if mentre la clausola else può essere al massimo una. Essendo opzionali queste clausole possono anche mancare del tutto in una struttura condizionale if.
Un esempio pratico
Esempio 1
Questa struttura condizionale if verifica il valore della variabile voto e stampa un messaggio diverso a seconda del valore.
- if (voto==30) {
- printn("è un ottimo voto")
- }
- else if (voto>27) {
- printn("è un buon voto")
- }
- else if (voto=>18) {
- printn("puoi fare meglio")
- }
- else {
- printn("sei stato bocciato")
- }
La prima condizione verifica se il voto è uguale a 30. Se la condizione è vera, stampa la stringa "è un ottimo voto" ed esce dalla struttura condizionale.
è un ottimo voto
Se la condizione è falsa, il programma verifica se la prima condizione else if(voto>27) è vera.
Se la condizione (voto>27) è vera stampa la stringa "è un buon voto" ed esce dalla struttura condizionale..
è un buon voto
Se anche questa è falsa, il programma verifica la seconda condizione else if (voto>=18).
Se la condizione (voto>=18) è vera stampa la stringa "puoi fare meglio" ed esce dalla struttura condizionale..
puoi fare meglio
Se tutte le precedenti condizioni sono false, il programma esegue il codice nella clausola else stampando la stringa "sei stato bocciato".
sei stato bocciato
Esempio 2
Posso usare l'istruzione condizionale if anche in un'assegnazione
- fun main() {
- val a=5
- val b=2
- val max = if (a > b) {a} else {b}
- print(max)
- }
Nella quarta riga il programma assegna alla variabile max il valore più alto delle variabili a e b.
Se la variabile a è maggiore di b, assegna max=a. Nel caso contrario assegna max=b.
In questo caso l'output del programma è
5
Esempio 3
Le parentesi graffe si possono omettere quando il codice da eseguire è composto da una sola istruzione e l'istruzione if non ha clause else if e else.
Ad esempio, il seguente codice
if (max>0) {
print("è numero positivo")
}
posso scriverlo anche in una forma compatta
if (max>0) print("è numero positivo")
E così via.