Quels sont les types de retour en Java? Comment sont-ils utilisés?

Meilleure réponse

  • Si je fais des ajouts, le type de retour serait int .
  • Si je souhaite renvoyer le nom de lutilisateur, le type de retour sera String .
  • Si je veux renvoyer une liste de tableaux contenant des données, ce serait Array List .
  • Si je veux retourne si une connexion a réussi ou non alors Boolean .

Exemple 1:

// Type de retour int

public function int doSomething () {

int a = 5;

int b = 4;

int c = a * b;

return c; // type int //

}

Exemple 2:

// Type de retour String

public function String doSomething () {

String a = “First NAme”;

Chaîne b = “DERNIER NAme”;

Chaîne c = a + b; // concaténation

return c; // type Chaîne // O / P => Prénom Nom

}

Exemple 3:

// Type de retour ArrayList

fonction publique ArrayList doSomething () {

ArrayList list = new ArrayList ();

String a = “First NAme”;

String b = “LAST NAme”;

list.add (a);

list.add (b);

return list; // type ArrayList // O / P => [Prénom Nom]

}

type de retour peut être de nimporte quel type, même un objet de classe défini par lutilisateur. par exemple, retournez objStudent; (où le type de retour est une classe Student et objStudent est un objet de cette classe.

Réponse

Les autres qui ont répondu sont plus expérimentés que moi, mais je vais essayer pour répondre à la question.

Java a deux types de variables et de méthodes: types primitifs et types de référence . Cependant, une méthode doit avoir un type de retour de primitive, de référence, ou void . Si vous nen incluez pas, votre code ne sera pas compilé.

[Remarque: je ne parle pas des constructeurs ici. Personnellement, je ne préfère pas appeler les constructeurs des «méthodes spéciales». Certains programmeurs utilisent le terme méthode pour inclure les constructeurs. Si je ne me trompe pas, je me souviens des documents Oracle Java faisant référence aux constructeurs comme des «méthodes spéciales».]

TYPES PRIMITIFS

Voici les huit types de primitifs sensibles à la casse: byte, short, int, long, float, double, char et boolean. [String nest pas un type primitif; cest « un type de référence.] Une méthode peut renvoyer lun de ceux-ci ou aucun dentre eux (void) comme dans lextrait de code suivant.

balance = getAccountBalance();

/* Method getAccountBalance() below is going to subtract a fee of 1.50 before returning our balance. */

double getAccountBalance()

{

balance = balance - 1.50;

return balance;

}

/* The variable balance must have a type that matches double because the return type of method getAccountBalance() is double. Otherwise, we get a compile error. */

Nos méthodes nont pas à renvoyer de valeur du tout. Les méthodes qui ne renvoient aucun type doivent avoir un type appelé void. Java ne sattend pas à ce que quelque chose soit renvoyé si nous incluons void comme type de retour de la méthode. Linclusion dun retour (EDIT: 27 mai) type entraînera un échec de compile. Certains programmeurs placeront une instruction de retour «  return;  » lorsque le type de retour de la méthode est void. Ce code est conforme.

Ici  » s un exemple de méthode avec le type de retour void. (Soit dit en passant, des mots comme public, privé et protégé sont appelés modificateurs daccès. Jomets ces modificateurs daccès intentionnellement pour simplifier.)

double balance = 275.00;

makeDeposit( 65.00 );

void makeDeposit( double deposit )

{

balance = balance + deposit;

}

/* Notice we have no return type included in the method. */

Le code suivant na pas été compilé car il a une instruction return avec un type de retour void pour la méthode.

double balance = 275.00;

makeDeposit( 200.00 );

void makeDeposit( double deposit )

{

balance = balance + deposit;

return balance;

}

/* The last line "return balance" causes the code to fail to compile because the program doesn"t know what to do with the return statement. Java is expecting a return type of void, nothing. The code is returning balance, a double type. */

TYPES DE RÉFÉRENCE

Les types de référence sont tous les autres types bes ides void et les huit types primitifs. Ces types sont des objets – tableaux, Integer, BigInteger, String, ArrayList, List, Map et AnyValidUserDefinedType, ne sont que quelques-uns des types de référence.

Renvoyons un type de référence dans le code ci-dessous.Les types de référence (et non les types primitifs) peuvent avoir une valeur de retour null.

int[] values = { -4, 16, -36, 0 };

values = sortArray( values );

int[] sortArray( int[] inputArray )

{

/* code to sort values */

return inputArray;

}

/* The program returns the sorted array. */

Dans le code ci-dessus, nous avons renvoyé un int [] appelé inputArray. Le type de inputArray correspond au type de référence de la méthode sortArray ().

Dans le code suivant, nous avons choisi de renvoyer null pour notre type de référence même si notre méthode attendait le type String. Rappelez-vous que String est une classe et un type de référence, pas un type primitif comme int, double ou boolean.

/* We want to return the name only if it is short, 3 characters or fewer to be exact. */

String firstName = "Ahmad";

String shortName = getShortNames( firstName );

System.out.println("Short Name = " + shortName );

String getShortNames( String name )

{

if ( name.length() > 3 )

{

return null;

}

else

{

return name;

}

}

/* Output: null */

Dans le code ci-dessus, si le nom a une longueur 3, la méthode getShortNames () retournera la valeur du nom. Cependant, dans notre cas, le nom comporte 5 caractères, donc la valeur null est renvoyée. La ligne 5 affiche null.

Comme je lai mentionné précédemment, nous pouvons également renvoyer des types à partir de nos classes définies par lutilisateur. Nous ne sommes pas limités aux classes définies dans les bibliothèques Java telles que String, Integer, BigDecimal, Map , etc.

Principaux points à retenir:

  • Trois types de retour pour les méthodes; doit en utiliser un: type primitif, type de référence ou void
  • Lorsque vous utilisez des types de retour primitifs et de référence pour les méthodes, une instruction return doit être incluse dans le bloc de code de la méthode – les accolades {}. Sinon, attendez-vous à une erreur de compilation.
  • Lorsque vous utilisez void comme type de retour de méthode, une instruction de retour ne peut pas être incluse dans le bloc de code de la méthode . Sinon, le code ne sera pas compilé.
  • Une méthode avec un type de retour de référence doit inclure une instruction de retour qui renvoie une variable avec le type de référence exact ou renvoie null . Null ne peut pas être utilisé comme type de retour si un type de retour primitif est requis. Bien entendu, nul ne peut être utilisé comme type de retour dune méthode de type de retour void.

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *