Cosa sono le espressioni di programmazione Java?

click fraud protection

Le espressioni sono elementi costitutivi essenziali di qualsiasi programma Java, generalmente creati per produrre un nuovo valore, sebbene a volte un'espressione assegni un valore a una variabile. Le espressioni vengono create utilizzando valori, variabili, operatori e chiamate di metodo.

Differenza tra espressioni ed espressioni Java

In termini di sintassi del linguaggio Java, un'espressione è simile a a clausola in lingua inglese che ritrae un significato specifico. Con la punteggiatura corretta, a volte può reggere da solo, sebbene possa anche far parte di una frase. Alcune espressioni equivalgono alle dichiarazioni stesse (aggiungendo un punto e virgola alla fine), ma più comunemente comprendono parte di un'istruzione.

Per esempio,

(a * 2)
è un'espressione.
b + (a * 2);
è una dichiarazione. Si potrebbe dire che l'espressione è una clausola e l'istruzione è la frase completa poiché costituisce l'unità di esecuzione completa.

Tuttavia, un'istruzione non deve includere più espressioni. Puoi trasformare una semplice espressione in un'istruzione aggiungendo un punto e virgola:

(a * 2);
instagram viewer

Tipi di espressioni

Mentre un'espressione produce spesso un risultato, non sempre. Esistono tre tipi di espressioni in Java:

  • Quelli che producono un valore, cioè il risultato di
    (1 + 1)
  • Quelli che assegnano una variabile, per esempio
    (v = 10)
  • Quelli che non hanno alcun risultato ma potrebbero avere un "effetto collaterale" perché un'espressione può includere una vasta gamma di elementi come invocazioni di metodi o operatori di incremento che modificano lo stato (cioè la memoria) di a programma.

Esempi di espressioni

Ecco alcuni esempi di vari tipi di espressioni.

Espressioni che producono un valore

Le espressioni che producono un valore utilizzano un'ampia gamma di operatori aritmetici, comparativi o condizionali Java. Ad esempio, gli operatori aritmetici includono +, *, /, , ++ e%. Alcuni operatori condizionali sono?, || e gli operatori di confronto sono . Vedi il Specifica Java per un elenco completo.

Queste espressioni producono un valore:

3/2
5% 3
pi + (10 * 2)

Nota le parentesi nell'ultima espressione. In questo modo Java prima calcola il valore dell'espressione tra parentesi (proprio come l'aritmetica che hai imparato a scuola), quindi completa il resto del calcolo.

Espressioni che assegnano una variabile

Questo programma qui contiene molte espressioni (mostrate in grassetto corsivo) che assegnano ciascuna un valore.

 int secondsInDay = 0;

int
daysInWeek = 7;

int
hoursInDay = 24;

int
minutiInHour = 60;

int
secondsInMinute = 60; 

booleano
compareWeek = vero;

secondsInDay = secondsInMinute * minutesInHour * hoursInDay; //7

System.out.println (
"Il numero di secondi in un giorno è:" + secondsInDay);

Se (
compareWeek == vero)

{
System.out.println (
"Il numero di secondi in una settimana è:" + secondsInDay * daysInWeek); 

}

Le espressioni nelle prime sei righe del codice sopra, tutte usano l'operatore di assegnazione per assegnare il valore a destra alla variabile a sinistra.

La linea indicata con // 7 è un'espressione che può stare da sola come un'istruzione. Mostra anche che le espressioni possono essere costruite attraverso l'uso di più di un operatore. Il valore finale della variabile secondsInDay è il culmine della valutazione di ciascuna espressione a turno (ad esempio, secondsInMinute * minutesInHour = 3600, seguita da 3600 * hoursInDay = 86400).

Espressioni senza risultato

Mentre alcune espressioni non producono alcun risultato, possono avere un effetto collaterale che si verifica quando un'espressione cambia il valore di una qualsiasi delle sue operandi.

Ad esempio, si ritiene che alcuni operatori producano sempre un effetto collaterale, come gli operatori di assegnazione, incremento e decremento. Considera questo:

int product = a * b;

L'unica variabile modificata in questa espressione è il prodotto; un' e B non sono cambiati. Questo si chiama effetto collaterale.

instagram story viewer