serve per modificare il flusso di un programma, cioè verranno eseguite delle istruzioni invece di altre:

sintassi:
if (valore operatori_confronto valore)
{

....; blocco di istruzioni eseguite se la condizione é vera
}
else if (valore operatori_confronto valore) eventuale seconda condizione se la prima é falsa (non viene eseguita se la prima risulta vera)
{
....; eventuali istruzioni eseguite se la seconda condizione é vera
}
else facoltativo
{
....; eventuali istruzioni eseguite se la condizione é falsa
}


le condizioni sono sempre epressioni di tipo booleano, quindi devono dare sempre un risultato true o false
si usano quindi anche gli operatori_logici in caso di necessità

esempio:
int a = 5;
int b = 5;

OK! Sintassi corretta!
if(a == b)
{

...;
}

NO! Sintassi errata: 'a' è un 'int' e non un 'boolean'
if(a)
{
...;
}

mentre è valida la scrittura
boolean c = true;
if(c)
{
...;
}