Buonasera
Sto iniziando a studiare Java, ho comprato Thinking in Java seconda edizione e sono al capitolo 2 ..
Ho provato a modificare un esercizio che mi ha dato il libro, ma non riesco a capire perché l'operatore ++ non funziona in un oggetto che ho creato..
Questo é il codice:
codice:
public class ProvaStatic {
static int i = 23;
static void incr(){
ProvaStatic.i++;
}
public int incr2(int a) {
return a++;
}
public static void main(String args[]) {
int l = 32;
ProvaStatic.incr();
System.out.println(ProvaStatic.i);
ProvaStatic agg = new ProvaStatic();
System.out.println(agg.incr2(l));
}
}
Compilo e questo é il risultato:
codice:
Waikiki:~/Documents/Programmazione/Java andreasamo$ javac ProvaStatic.java
Waikiki:~/Documents/Programmazione/Java andreasamo$ java ProvaStatic
24
32
Waikiki:~/Documents/Programmazione/Java andreasamo$
Il secondo numero dovrebbe essere 33, no?
Infatti se nel codice al posto di
return a++;
metto
return a+1;
funziona.. Perché?
Grazie 1000, illuminatemi se ho fatto qualche fagianata, please..