Operatori logici

Spesso ci imbattiamo a controllare due o tre condizioni, una dopo l'altra, oppure due condizioni diverse che eseguono lo stesso codice:

fun test1(x: Int) {

if (x >= 5) {

if (x <= 7) {

println("x è compreso tra 5 e 7")

}

}

}

fun test2(x: Int) {

if (x >= 7) {

println("x è maggiore di 7 o minore di 5")

}

if (x <= 5) {

println("x è maggiore di 7 o minore di 5")

}

}

Naturalmente si capisce che questo codice è brutto, gran parte dei linguaggi prevede un'alternativa per rendere più leggibile il codice: gli operatori && (and) e || (or):

fun test1(x: Int) {

if (x >= 5 && x <= 7) {

println("x è compreso tra 5 e 7")

}

}

fun test2(x: Int) {

if (x >= 7 || x <= 5) {

println("x è maggiore di 7 o minore di 5")

}

}

Inoltre c'è un terzo operatore:

fun test3(x: Int) {

if (x == 5) { }

else {

println("x è diverso da 5")

}

}

fun test3(x: Int) {

if (!(x == 5)) { println("x è diverso da 5") }

}

Il funzionamento in dettaglio dei tre operatori viene spiegato in questa tabella:

Operatore Descrizione
&& and: Il risultato è true se entrambi i valori booleani sono true.
**_ _** or: Il risultato è true se almeno uno dei due valori booleani è true.
! not: Viene posta di fronte all’espressione in questione e la nega:

https://kotlinlang.org/docs/reference/

https://www.mattepuffo.com/blog/categoria/21-kotlin/0.html

http://www.programming.raskrjal.net/kotlin2/

https://stackoverflow.com/documentation/kotlin/topics

results matching ""

    No results matching ""