Visualizzazione dei risultati da 1 a 3 su 3
  1. #1
    Utente di HTML.it
    Registrato dal
    Feb 2003
    Messaggi
    493

    [Java] Dfferenza tra ++x e x++

    Buon giorno a tutti.
    Ho visto un test dove era presente questa porzione di codice
    int x = 3;
    //caso 1
    x = x++ e x++
    //caso 2
    x = ++x e x++
    //caso 3
    x = ++x e ++x

    il valore di x è diverso.
    Grazie

  2. #2
    Utente di HTML.it L'avatar di Alex'87
    Registrato dal
    Aug 2001
    residenza
    Verona
    Messaggi
    5,802

    Re: [Java] Dfferenza tra ++x e x++

    x++ significa "valuta x e poi incrementa il suo valore"
    ++x significa "incrementa x e poi valuta x"

    In un caso del genere, con ad esempio x = 5:

    y = x++;

    prima viene preso il valore di x e viene assegnato a y e poi x viene incrementato. Quindi y varrà 5 e x 6.

    In quest'altro caso

    y = ++x;

    prima x diventa 6 e poi si assegna 6 a y.
    SpringSource Certified Spring Professional | Pivotal Certified Enterprise Integration Specialist
    Di questo libro e degli altri (blog personale di recensioni libri) | ​NO M.P. TECNICI

  3. #3
    Moderatore di Programmazione L'avatar di LeleFT
    Registrato dal
    Jun 2003
    Messaggi
    17,328
    La forma prefissa (++x) effettua prima l'incremento della variabile e solo dopo la valutazione dell'espressione.

    La forma suffissa (x++) il contrario: prima valuta l'espressione e solo dopo effettua l'incremento.

    Esempio (le parentesi le ho messe solo per leggibilità):

    codice:
    x = 1;
    i = (++x) + 2;
    i varrà 4: prima viene incrementato x e poi gli viene aggiunto 2.

    codice:
    x = 1;
    i = (x++) + 2;
    i varrà 3: prima viene valutata l'espressione (x vale 1, gli viene aggiunto 2 e viene assegnato ad i), poi x viene incrementato.

    Ciao.
    "Perchè spendere anche solo 5 dollari per un S.O., quando posso averne uno gratis e spendere quei 5 dollari per 5 bottiglie di birra?" [Jon "maddog" Hall]
    Fatti non foste a viver come bruti, ma per seguir virtute e canoscenza

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.