qlkn mi sa dire k differenza cè in java scrivere ++i o i++?grazie
qlkn mi sa dire k differenza cè in java scrivere ++i o i++?grazie
Il primo è un pre-incremento e il secondo è un post-incremento.Originariamente inviato da giannimarz
qlkn mi sa dire k differenza cè in java scrivere ++i o i++?grazie
Il fatto del "prima" o "dopo" dell'incremento è relativo al suo utilizzo. Se fai solamente l'istruzione ++i; oppure i++; (senza assegnare il risultato ad un'altra variabile) infatti non c'è alcuna differenza.
Invece:
codice:int a = 2; int b; b = ++a; // adesso 'b' vale 3 e 'a' vale 3Nel primo caso la variabile 'a' è stata incrementata prima del suo utilizzo, mentre nel secondo caso è stata incrementata dopo il suo utilizzo.codice:int a = 2; int b; b = a++; // adesso 'b' vale 2 e 'a' vale 3
Idem con -- ovviamente.
quindi in un ciclo for mettere i++ significa eseguire prima il blocco di istruzioni e poi incrementare la i, nel caso di ++i invece significa incrementare prima la i e poi esegure il blocco di istruzioni?
No.Originariamente inviato da giannimarz
quindi in un ciclo for mettere i++ significa eseguire prima il blocco di istruzioni e poi incrementare la i, nel caso di ++i invece significa incrementare prima la i e poi esegure il blocco di istruzioni?
for (i = 0; i < N; i++) { .... }
è praticamente uguale a
for (i = 0; i < N; ++i) { .... }
Traducendo il ciclo for con un while, sarebbe:
codice:i = 0; while (i < N) { .... i++; // mettendo ++i; non ci sarebbero differenze }
ok grazie..sei stato molto kiaro..
Il linguaggio va specificato anche nel titolo, come da Regolamento.
Questo l'ho corretto io.
MARCO BREVEGLIERI
Software and Web Developer, Teacher and Consultant
Home | Blog | Delphi Podcast | Twitch | Altro...
Semplicemente: se hai un'istruzione contenente "++i", l'incremento viene eseguito PRIMA dell'istruzione; se invece hai "i++" è eseguito DOPO.Originariamente inviato da giannimarz
qlkn mi sa dire k differenza cè in java scrivere ++i o i++?grazie
Ad esempio, prova con (ora non ricordo se la println accetta anche oggetti diversi da stringhe, nel caso usa println((i++).toString()):
codice:int i = 4; System.out.println(i++); //stampa 4 e poi incrementa (puoi verificarlo con un'altra println di i) //equivalente a System.out.println(i); i += 1; int j = 7; System.out.println(++j); //incrementa e poi stampa 8 //equivalente a j += 1; System.out.println(j);
Svegliati, Neo. Matrix ti possiede...
ciao! il nostro professore ci ha spiegato la differenza tra i due in maniera a dir poco spassosa:
1) ++i vuol dire che prima di ogni altra cosa sulla riga che contiene questi tre simboli, il compilatore incrementa di uno la i
2) i++...questa ci ha fatto ridere, ci ha parlato delle magie del compilatore, che incrementa la i in un magico e stupendo istante prima del ; cioè, prima fa tutto il resto, poi la incrementa...