Incremento del valore di una variabile

Il programma Incremento.java permette di fare due osservazioni. La prima è che è possibile assegnare una valore ad una variabile anche nella dichiarazione della variabile stessa. La linea int i=12; indica infatti che si vuole usare una variabile di tipo intero, e che il valore iniziale di questa variabile è 12. Questo è il valore che viene inizialmente assegnato alla variabile i: chiaramente, questo valore può venire cambiato dalle istruzioni successive.

/*
  Incremento del valore di una variabile.
*/

class Incremento {
  public static void main (String args[]) {
    int i=12;

    System.out.println("La variabile i vale " + i);

    i=i+1;

    System.out.println("Ora i vale " + i);
  }
}


La istruzione i=i+1; serve ad aggiungere 1 al valore attualmente memorizzato nella variabile i. Questo esempio serve a chiarire che il simbolo = nel contesto della programmazione ha un significato differente da quello che ha in algebra o analisi matematica. In algebra, = indica una uguaglianza di valori, per cui 3=5-2 è vero, mentre 12=100/10 è falso. In questo senso, la espressione i=i+1 è falsa per ogni possibile valore di i.

Nell'ambito della programmazione, il simbolo = indica una assegnazione, per cui i=espressione; significa: valuta il valore della espressione, e il risultato memorizzalo nella variabile i. Nel caso della istruzione i=i+1; questo significa:

Tutto questo fa notare come il simbolo = ha in programmazione un significato diverso da quello che ha in algebra. Alcuni linguaggi di programmazione (non Java) evitano questa confusione usando un simbolo diverso per l'assegnamento. Per esempio, la istruzione di assegnamento del programma di sopra in alcuni linguaggi si scrive i<-i+1. La freccia fa capire che il significato della istruzione è che nella variabile i viene messo il valore della espressione che segue la freccia. Nel caso di Java, si usa il simbolo =, anche se questo all'inizio può generare confusione.

Per ulteriori chiarimenti, vedere la esecuzione del programma Incremento.java.