Void dans java [Résolu/Fermé]

Signaler
Messages postés
9
Date d'inscription
mercredi 2 avril 2008
Statut
Membre
Dernière intervention
4 avril 2008
-
Messages postés
16358
Date d'inscription
samedi 31 mai 2008
Statut
Modérateur
Dernière intervention
7 juin 2021
-
Bonjour tout le monde
je suis completement new dans java je voudrais avoir une explication concernant le mot clef " void" et son utilisation
dans la definition de mothodes ou procedures des classes . en effet j ai googlé beaucoup mais tout ce que j ai trouvé sont des info similaires et insatisfesantes qui disesnt presque toutes que void definit une methode que ne retourne mas de valeurs ! c koi une valeur et que veut on dire par retourner une valeur.
donc je serais tres reconnaissant si quelq'un me fait comprendre cela d'une façon simplifiée et exemplifiée
merci et salutations.

9 réponses

Messages postés
22
Date d'inscription
mercredi 2 avril 2008
Statut
Membre
Dernière intervention
16 décembre 2008
63
C'est assez simple: une méthode qui retourne void ne retourne... rien. que dalle, katséwalou.
Par exemple, la méthode System.out.println retourne void, c'est à dire rien.
Le résultat du traitement va donc être utilisé autrement (dans le cas de println, affiché à l'écran) mais ne sera pas quelque chose qu'on poura renvoyer dans une variable. La méthode retourne un ensemble vide (void = vide en anglais) d'éléments.

Attention à ne pas confondre avec null (erreur que j'ai commise bien souvent à mes débuts, honte à moi).
void est une sorte de type de variable qu'on n'utilise que pour la valeur retournée dans la déclaration d'une méthode:
exemple:


public void maMethode (int nombre){
System.out.println("je ne retourne rien");//affiche et ne renvoye rien
}


alors que null est un object qui représente quelque chose de vide, un peu comme le mot "rien" en français (comme dans "tu m'as ramené quoi comme cadeau?" "rien. crève.")
exemple:


public Object mamethode(int nombre){
return null;//renvoye l'objet null, c'est à dire une valeur null, même pas égale à zéro
}

wala j'espère que j'ai éclairé ta lanterne.
69
Merci

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

CCM 65492 internautes nous ont dit merci ce mois-ci

parfait, c'est donc la différence entre procédure et fonction dans d'autres langages
Messages postés
16358
Date d'inscription
samedi 31 mai 2008
Statut
Modérateur
Dernière intervention
7 juin 2021
2 842 > jj
"c'est donc la différence entre procédure et fonction dans d'autres langages"
Oui et non. La comparaison avec la notion de procédure/fonction n'a de sens que pour des méthodes static. Dès lors que l'on peut modifier l'objet courant this, on appelle ça une méthode, que celle-ci renvoie une valeur ou non.
Messages postés
92
Date d'inscription
mercredi 6 octobre 2004
Statut
Membre
Dernière intervention
21 septembre 2008
6
oui bel7a9 filem ro3b !!

void est l'equivalent de 0 en mathématique dans les nombres entiers positifs. C'est un nombre ajouté juste pour créer des règles générales pour tous les nombres.

Il en est de même ici.

"Toute fonction doit avoir un type de retour" c'est la règle.
Si on n'a pas besoin de types? la règle doit être toujours valable.
La solution donc : faire un type de retour qui signifie qu'on n'a pas de type de retour.
Ce type est nommé 'void'

C"est compris?
Messages postés
52
Date d'inscription
lundi 18 juin 2007
Statut
Membre
Dernière intervention
7 février 2009
17
void c'est vide
ce n'est la fonction qui est vide mais elle ne retourne rien
pour plus d'information vous pouvez consulter
www.developpez.com
le tutoriel de michel doudoux
c'est bon pour les débutant


bon courage
Messages postés
9
Date d'inscription
mercredi 2 avril 2008
Statut
Membre
Dernière intervention
4 avril 2008
9
gozilla cinque sur cinque ;)

sendoshi, merci mille fois la je suis 100%100 satisfait et éclairé

merci a tous
c résolu dans la testa.

c génial de trouver de l 'aide .
à la prochaine .
Messages postés
9688
Date d'inscription
vendredi 23 avril 2004
Statut
Contributeur
Dernière intervention
2 octobre 2020
1 288
une méthode est une fonction qui ne retourne rien.
C'est dire, si tu a une méthode swap(a,b), faire S=swap(a,b) n'as pas de sens, car swap ne retourne rien du tout (d'où void = vide), donc impossible de l'assigner à une variable.
alors qu'une fonction retourne une valeur, par exemple sin(0) retourne 0, ainsi S=sin(0) a un sens, et après cette affectation, S vaut 0.
Messages postés
9
Date d'inscription
mercredi 2 avril 2008
Statut
Membre
Dernière intervention
4 avril 2008
9
Merci char snipeur
mais parfois je tombe sur un simple script de type hello world et je trouve ce void dans la definition du la methode que rtourne en effet le message HelloWorld
donc ici je suis un peu perdu
me voila devant une methode qui retourne une valeur (le message) et malgres ca elle est definie avec void

:)

je m'excuse mais je pose trop de questions

merci pour vous
Messages postés
22
Date d'inscription
mercredi 2 avril 2008
Statut
Membre
Dernière intervention
16 décembre 2008
63
Tu confond affichage à l'écran et retour de valeur.

void hello(){
System.out.println("hello world");
}

ça ne retourne rien. ça affiche à l'écran mais ça n'est pas un return.
Un return c'est ça:

int returnMe(int i){
return i;
}

tu peux écrire

int i= returnMe(i)
mais pas
int i = hello();

retour= rendre une valeur qu'on peut stocker pour la suite du programme.
l'affichage n'es PAS un return.
Messages postés
62
Date d'inscription
lundi 10 mars 2008
Statut
Membre
Dernière intervention
11 septembre 2008
8
bon allez pour faire encore plus simple et j'espere que cette fois ca sera clair

tu veux afficher hello word : 2 soluces :


tu fais juste de l'affichage sans retour :

void helloworld() {
system.out.println("hello world");
}

tu appeles une fonction qui retourne la chaine via une fonction qui n'a besoin de rien retourner

void displayHelloWorld(String text) {
system.out.println(text);
}

String helloworld() {
return displayHelloWorld("Hello World");
}


Est-ce plus clair ?
Messages postés
9
Date d'inscription
mercredi 2 avril 2008
Statut
Membre
Dernière intervention
4 avril 2008
9
alors la sendoshi, ton explication c fort

ca ma mis le feu à la lanterne

d'apres ce que vous avez dit je commence à avoir une idée sur void
et pour tester ce ci je vous communique une deduction

vois n'est pas indisponsable pour la definition d'une fonction . n'es ce pas ?
je peux le mettre ou ne pas le mettre mais ca peut etre utile pour des raisons economiques le memoire

merci pour votre effort les amis

arigatouuuuu
Messages postés
22
Date d'inscription
mercredi 2 avril 2008
Statut
Membre
Dernière intervention
16 décembre 2008
63
si tu dois le mettre.
Une méthode DOIT avoir un type de retour. Une JVM c'est tétu et un compilateur encore plus. pas de type de retour, pas de compliation.
void sert quand ta méthode ne doit rien renvoyer. Prenons un exemple concret: si tu fabrique une voiture, tu ne vas pas y ajouter un périscope "juste au cas ou", n'est ce pas? donc tu ne vas pas non plus ajouter un type de retour "juste au cas ou" (et quand bien même, lequel??)

retiens ceci:
Tu as besoin d'un type de retour.
Si tu ne retourne rien avec ta méthode, tu le signale, simplement avec void (qui veut dire "je ne retourne rien")
Tu pourais bien sûr mettre autre chose (rien ne t'en empêche) mais ta méthode n'aurait alors plus aucun sens.
met un type quand tu en as besoin.
Messages postés
62
Date d'inscription
lundi 10 mars 2008
Statut
Membre
Dernière intervention
11 septembre 2008
8
Ca n'a rien a voir avec la mémoire, c'est le type de retour de ta fonction !

Si t'as besoin de rien retourner parce que ta fonction n'a pour but que de faire quelque chose toute seule dans son coin et c'est tout ben tu utilises void. Si elle doit calculer la somme de tous tes employés et te retourner le nombre là tu la déclareras en int et plus en void et tu seras obligé de mettre ton "return" a la fin.
Messages postés
92
Date d'inscription
mercredi 6 octobre 2004
Statut
Membre
Dernière intervention
21 septembre 2008
6
tu es tunisien filem ro3b ?
bonjours... je suis sur un site de radio... et tt les dj parle entre eux a l'aide d'un chat... il m'a fallu telecharger java pour pourvoir avoir acce au chat... une fois java installé je ne peut pas rentré quand mm... je suis perdu ,quelqu'un pourrait m'aider
en bas de mon ecran s'affiche....
racourci vers java script: void (windows open(http.lunizou.free/chat/chat.rezible yes=location,no=,menubar=no scrobbl
Comment puis je faire pour avoir acces au chat alors que tt le monde y rentre
merci beaucoup