Beste svaret
- Hvis jeg gjør tillegg, ville returtypen være int .
- Hvis jeg vil returnere navnet på brukeren, ville returtypen være Streng .
- Hvis jeg vil returnere en liste over matriser som inneholder noen data, ville det være Array List .
- Hvis jeg vil returner hvis en forbindelse var vellykket eller ikke, så Boolsk .
Eksempel 1:
// Returtype int
offentlig funksjon int doSomething () {
int a = 5;
int b = 4;
int c = a * b;
return c; // type int //
}
Eksempel 2:
// Returtype String
offentlig funksjon String doSomething () {
String a = “First NAme”;
Streng b = “SISTE NAme”;
Streng c = a + b; // sammenføyning
return c; // type Streng // O / P => Fornavn Etternavn
}
Eksempel 3:
// Returtype ArrayList
offentlig funksjon ArrayList
ArrayList
Streng a = “First NAme”;
Streng b = “SISTE NAme”;
list.add (a);
list.add (b);
returliste; // type ArrayList // O / P => [Fornavn Etternavn]
}
returtype kan være av hvilken som helst type, til og med et brukerdefinert klasseobjekt. for eksempel retur objStudent; (der returtypen er en klasse Student og objStudent er et objekt i den klassen.
Svar
De andre som har svart er mer erfarne enn meg selv, men jeg prøver for å svare på spørsmålet.
Java har to typer variabler og metoder – primitive typer og referansetyper . En metode må imidlertid ha en returtype primitiv, referanse eller ugyldig . Hvis du ikke inkluderer en av disse, vil koden din ikke kompilere.
[Merk: Jeg diskuterer ikke konstruktører her. Jeg foretrekker personlig ikke å kalle konstruktører for «spesielle metoder.» Noen programmerere bruker begrepet metode for å inkluderer konstruktører. Hvis jeg ikke tar feil, husker jeg Oracle Java-dokumentene som refererer til konstruktører som «spesielle metoder.»]
PRIMITIVE TYPER
Her er de åtte store og små bokstavsfølsomme primitive typene: byte, kort, int, lang, flyt, dobbel, røye og boolsk. [String er ikke en primitiv type; det er en referansetype.] En metode kan returnere en av disse eller ingen av disse (ugyldige) som i følgende kodebit.
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. */
Våre metoder trenger ikke å returnere noen verdi i det hele tatt. De metodene som returnerer ingen type, må ha en type som kalles ugyldig. Java forventer ikke at noe skal returneres hvis vi inkluderer tomrom som metodens returtype. Inkludert en retur (EDIT: 27. mai) type vil føre til at kompilere. Noen programmerere vil plassere en returerklæring “ return; ” når metodens returtype er ugyldig. Denne koden samsvarer.
Her » s et eksempel på en metode med returtype ugyldig. (Forresten kalles ord som offentlige, private og beskyttede tilgangsmodifikatorer. Jeg utelater disse tilgangsmodifikatorene med vilje for forenkling.)
double balance = 275.00;
makeDeposit( 65.00 );
void makeDeposit( double deposit )
{
balance = balance + deposit;
}
/* Notice we have no return type included in the method. */
Følgende kode vil ikke kompilere fordi den har en returerklæring med en ugyldig returtype for metoden.
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. */
REFERANSETYPER
Referansetyper er annenhver type ides ugyldige og de åtte primitive typene. Disse typene er objekter — arrays, Integer, BigInteger, String, ArrayList, List, Map
La oss returnere en referansetype i koden nedenfor.Referansetyper (ikke primitive typer) har lov til å ha returverdi 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. */
I koden ovenfor returnerte vi en int [] kalt inputArray. Type inputArray samsvarer med referansetypen for metoden sortArray ().
I den følgende koden valgte vi å returnere null for vår referansetype, selv om metoden vår forventet type String. Husk at String er en klasse og en referansetype, ikke en primitiv type som int, dobbel eller boolsk.
/* 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 */
I ovennevnte kode, hvis navnet har lengde 3, vil metoden getShortNames () returnere verdien av navnet. I vårt tilfelle er navnet imidlertid 5 tegn langt, så verdien null returneres. Linje 5 skriver ut null.
Som jeg nevnte tidligere, kan vi også returnere typer fra våre brukerdefinerte klasser. Vi er ikke begrenset til klassene som er definert i Java-biblioteker som String, Integer, BigDecimal, Map
Viktige punkter å huske:
- Tre returtyper for metoder; må bruke en: primitiv type, referansetype eller ugyldig
- Når du bruker primitive og referanseturretypetyper for metoder, må en returuttalelse inkluderes i metodekodeblokken – de krøllete parentesene {}. Ellers kan du forvente en kompileringsfeil.
- Når du bruker ugyldig som en returtype for metoder, kan ikke en returuttalelse inkluderes i metodens kodeblokk . Ellers vil ikke koden ikke kompilere.
- En metode med en referansetypetype må inkludere en retursetning som returnerer en variabel med den eksakte referansetypen eller returnerer null . Null kan ikke brukes som returtype hvis det kreves en primitiv returtype. Selvfølgelig kan null ikke brukes som returtype av en metode som har returstypen ugyldig.