Java - Operatori di Base
Benvenuti, futuri programmatori Java! Oggi, entreremo nel mondo affascinante degli operatori Java. Non preoccupatevi se non avete mai scritto una riga di codice prima – inizieremo dall'inizio e lavoreremo fino alla fine. Alla fine di questa lezione, manipolerete i dati come un professionista!
Cos'sono gli Operatori?
Prima di iniziare, diamo un'occhiata a cosa sono gli operatori. Nel programming, gli operatori sono simboli speciali che instradano il computer a eseguire manipolazioni matematiche o logiche specifiche. Pensateli come i verbi in una frase – sono quelli che prendono l'azione!
Operatori Aritmetici di Java
Iniziamo con gli operatori più familiari – gli operatori aritmetici. Questi sono quelli che avete usato sin da quando andavate a scuola!
Addizione (+)
int mele = 5;
int arance = 3;
int fruttaTotale = mele + arance;
System.out.println("Frutta totale: " + fruttaTotale);
Questo codice produrrà: Frutta totale: 8
Qui, stiamo usando l'operatore +
per aggiungere mele e arance. (Visto? Nel programming, possiamo aggiungere mele e arance!)
Sottrazione (-)
int denaroIniziale = 100;
int denaroSpeso = 25;
int denaroRimasto = denaroIniziale - denaroSpeso;
System.out.println("Denaro rimasto: €" + denaroRimasto);
Output: Denaro rimasto: €75
L'operatore -
sottrae un valore da un altro.
Moltiplicazione (*)
int prezzoWidget = 5;
int quantitaWidget = 7;
int costoTotale = prezzoWidget * quantitaWidget;
System.out.println("Costo totale: €" + costoTotale);
Output: Costo totale: €35
L'operatore *
moltiplica due valori.
Divisione (/)
int fetteDiPizza = 8;
int persone = 3;
int fettePerPersona = fetteDiPizza / persone;
System.out.println("Fette per persona: " + fettePerPersona);
Output: Fette per persona: 2
L'operatore /
divide uno valore per un altro. Notate che quando si dividono interi, Java arrotonda verso il basso al numero intero più vicino.
Modulo (%)
int biscottiRimasti = 10;
int personeCheVoglionoBiscotti = 3;
int biscottiRimasti = biscottiRimasti % personeCheVoglionoBiscotti;
System.out.println("Biscotti rimasti: " + biscottiRimasti);
Output: Biscotti rimasti: 1
L'operatore %
restituisce il resto della divisione. È molto utile per determinare se i numeri sono pari o dispari, o per scorrere attraverso una gamma di valori.
Operatori Relazionali di Java
Gli operatori relazionali confrontano due valori e restituiscono un risultato booleano (vero o falso). Sono essenziali per prendere decisioni nel vostro codice.
Uguale a (==)
int età = 18;
boolean puòVotare = (età == 18);
System.out.println("Può questa persona votare? " + puòVotare);
Output: Può questa persona votare? true
L'operatore ==
verifica se due valori sono uguali.
Non uguale a (!=)
String tempo = "soleggiato";
boolean rimaniDentro = (tempo != "soleggiato");
System.out.println("Dovrei rimanere dentro? " + rimaniDentro);
Output: Dovrei rimanere dentro? false
L'operatore !=
verifica se due valori non sono uguali.
Maggiore di (>) e Minore di (<)
int punteggioGiocatore = 85;
int punteggioMassimo = 90;
boolean nuovoPunteggioMassimo = (punteggioGiocatore > punteggioMassimo);
System.out.println("Nuovo punteggio massimo raggiunto: " + nuovoPunteggioMassimo);
Output: Nuovo punteggio massimo raggiunto: false
L'operatore >
verifica se il valore sinistro è maggiore del destro, mentre <
fa l'opposto.
Maggiore o uguale a (>=) e Minore o uguale a (<=)
int etàRichiesta = 18;
int etàPersona = 18;
boolean puòEntrare = (etàPersona >= etàRichiesta);
System.out.println("Può la persona entrare? " + puòEntrare);
Output: Può la persona entrare? true
Questi operatori verificano se un valore è maggiore/menor o uguale a un altro valore.
Operatori Logici di Java
Gli operatori logici permettono di combinare più condizioni.
E (&&)
boolean haBiglietto = true;
boolean haID = true;
boolean puòPartecipareConcerto = haBiglietto && haID;
System.out.println("Può partecipare al concerto: " + puòPartecipareConcerto);
Output: Può partecipare al concerto: true
L'operatore &&
restituisce vero solo se entrambe le condizioni sono vere.
O (||)
boolean èWeekend = true;
boolean èFestivo = false;
boolean puòDormire = èWeekend || èFestivo;
System.out.println("Può dormire: " + puòDormire);
Output: Può dormire: true
L'operatore ||
restituisce vero se almeno una condizione è vera.
NON (!)
boolean staPiovendo = false;
boolean dovrebbePrendereOmbrello = !staPiovendo;
System.out.println("Dovrebbe prendere ombrello: " + dovrebbePrendereOmbrello);
Output: Dovrebbe prendere ombrello: true
L'operatore !
inverte un valore booleano.
Gli Operatori di Assegnazione
Abbiamo usato l'operatore di assegnazione di base =
in tutti i nostri esempi. Ma Java ha alcuni operatori accorciati che combinano l'assegnazione con altre operazioni.
Addizione con assegnazione (+=)
int punteggio = 0;
punteggio += 10; // Questo è equivalente a: punteggio = punteggio + 10;
System.out.println("Punteggio corrente: " + punteggio);
Output: Punteggio corrente: 10
Altri operatori di assegnazione
Java ha anche -=
, *=
, /=
e %=
che lavorano allo stesso modo.
Precedenza e Associatività degli Operatori di Java
Proprio come nella matematica, gli operatori di Java hanno un ordine di precedenza. Per esempio:
int risultato = 5 + 3 * 2;
System.out.println("Risultato: " + risultato);
Output: Risultato: 11
La moltiplicazione avviene prima dell'addizione, proprio come nella matematica normale.
Ecco una tabella semplificata della precedenza degli operatori (dall'alto al basso):
Precedenza | Operatore |
---|---|
1 | * / % |
2 | + - |
3 | < > <= >= |
4 | == != |
5 | && |
6 | |
7 | = |
Ricorda, puoi sempre usare le parentesi per specificare esplicitamente l'ordine delle operazioni:
int risultato = (5 + 3) * 2;
System.out.println("Risultato con parentesi: " + risultato);
Output: Risultato con parentesi: 16
Ed eccoci qui! Avete appena fatto i vostri primi passi nel mondo degli operatori di Java. Questi piccoli simboli possono sembrare semplici, ma sono i mattoni di tutte le cose meravigliose che creerete con Java. Continuate a praticare, e presto combinerete questi operatori per risolvere problemi complessi e costruire programmi incredibili. Buon coding!
Credits: Image by storyset