Visualizzazione dei risultati da 1 a 5 su 5
  1. #1
    Utente di HTML.it
    Registrato dal
    Jul 2001
    residenza
    rimini, san marino
    Messaggi
    934

    Void, a cosa serve?

    Ciao a tutti.

    Mi sto leggendo un manuale java ma non capisco una cosa: a cosa serve void. da quello che ho capito è una chiamata che non restituisce nessun valore. ma cosa vuol dire?

    es:

    test(int i, int j) {
    a=i;
    b=J;
    System.out.println("Ecco i valori di "+a+" e "+b);
    }

    void change(int i, int J) {
    a=i+j;
    b=J;
    System.out.println("Ecco i valori di "+a+" e "+b);
    }

    MI pare che nessuna delle due sia errata.
    Quindi mi chiedo:
    cosa vuol dire non restituire valore?

    Grazie,
    Ale

  2. #2
    Utente di HTML.it L'avatar di andbin
    Registrato dal
    Jan 2006
    residenza
    Italy
    Messaggi
    18,284

    Re: Void, a cosa serve?

    Originariamente inviato da pig_org
    MI pare che nessuna delle due sia errata.
    La prima è sicuramente errata perché un metodo comunque deve indicare un tipo di ritorno, che sia void o altro.

    Originariamente inviato da pig_org
    cosa vuol dire non restituire valore?
    Quello che hai appena detto. Un metodo che dichiara un tipo di ritorno 'void' non ritorna alcun valore. È legale usare solo return; per far terminare il metodo ma non deve avere alcun valore. Cioè non return qualcosa;.
    Andrea, andbin.devSenior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
    java.util.function Interfaces Cheat SheetJava Versions Cheat Sheet

  3. #3
    Utente di HTML.it
    Registrato dal
    Jul 2001
    residenza
    rimini, san marino
    Messaggi
    934
    Quindi te mi dici che obbligatoriamente un metodo come quello iniziale deve avere una cosa del tipo:

    test(int i, int j) {
    a=i;
    b=J;
    c=a*b;
    return c;
    }

    però guardando il manuale ho un metodo del tipo:

    block(int i,int j, int k) {
    a=i;
    b=j;
    c=k;
    volume=a*b*c;
    }
    non mi pare compaia un return.

    invece per il void cosa vuoi dire?
    che mancando il return l'unico modo per richiamare un metodo di questo tipo è fare una cosa del tipo:

    mettendo che la classe si chiami prova

    class prova {

    void change(int i, int J) {
    a=i+j;
    b=J;
    System.out.println("Ecco i valori di "+a+" e "+b);
    }
    }

    class vai{
    prova pippo = new prova();
    int a=15;
    int b=20;
    pippo.change(a,b);
    }

    ho scritto una cavolata?

    Grazie dell'aiuto,
    Ale

  4. #4
    Utente di HTML.it
    Registrato dal
    Jul 2001
    residenza
    rimini, san marino
    Messaggi
    934
    uppete!

    nessuno che mi voglia chiarire il concetto?

  5. #5
    Utente di HTML.it L'avatar di andbin
    Registrato dal
    Jan 2006
    residenza
    Italy
    Messaggi
    18,284
    Ma il concetto è davvero semplice e lo ripeto ancora una volta: un metodo che ha tipo di ritorno void non può e non deve ritornare alcun valore.

    Si potrebbe anche fare ad esempio:

    codice:
    public void test (int a)
    {
        if (a < 0)
            return;
    
        ......altro.....
    }
    Ma come vedi il return non ritorna alcun valore.
    Andrea, andbin.devSenior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
    java.util.function Interfaces Cheat SheetJava Versions Cheat Sheet

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.