Mitkä ovat Java-palautustyypit? Kuinka niitä käytetään?

Paras vastaus

  • Jos teen lisäystä, palautustyyppi olisi int .
  • Jos haluan palauttaa käyttäjän nimen, palautustyyppi olisi Merkkijono .
  • Jos haluan palauttaa luettelon taulukosta, joka sisältää joitain tietoja, se olisi Taulukko .
  • Jos haluan palaa, jos yhteys onnistui tai ei, sitten Boolean .

Esimerkki 1:

// Palautustyyppi int

public function int doSomething () {

int a = 5;

int b = 4;

int c = a * b;

return c; // type int //

}

Esimerkki 2:

// Palautustyyppi String

public function String doSomething () {

String a = ”First NAme”;

Merkkijono b = “LAST NAme”;

Merkkijono c = a + b; // ketjutus

return c; // kirjoita Merkkijono // O / P => Etunimi Sukunimi

}

Esimerkki 3:

// Return type ArrayList

public function ArrayList doSomething () {

ArrayList list = new ArrayList ();

Merkkijono a = ”Ensimmäinen NAme”;

Merkkijono b = ”LAST NAme”;

list.add (a);

list.add (b);

palautuslista; // type ArrayList // O / P => [Etunimi Sukunimi]

}

palautustyyppi voi olla minkä tahansa tyyppinen, jopa käyttäjän määrittelemä luokkaobjekti. esim. paluu objStudent; (jos palautustyyppi on jokin luokka Opiskelija ja objStudent on kyseisen luokan kohde.

Vastaa

Muut ”vastanneet” ovat kokeneempia kuin minä, mutta yritän vastaamaan kysymykseen.

Java: lla on kahden tyyppisiä muuttujia ja menetelmiä – primitiiviset tyypit ja viitetyypit . Menetelmällä on kuitenkin oltava palautetyyppi primitiivinen, viittaus, tai void . Jos et sisälly tähän, koodisi ei käänny.

[Huomaa: En keskustele tässä rakentajista. En henkilökohtaisesti halua kutsua rakentajia ”erityisiksi menetelmiksi”. Jotkut ohjelmoijat käyttävät termiä menetelmä Jos en erehdy, muistan Oracle Java -dokumentit, joissa rakentajia kutsutaan ”erityisiksi menetelmiksi”.]

PRIMITIIVISET TYYPIT

Tässä on kahdeksan kirjainkoon mukaan tunnistettua primitiivityyppiä: tavu, lyhyt, int, pitkä, kelluva, kaksinkertainen, hiili ja looginen. ei ole primitiivinen tyyppi; se on viittaustyyppi.] Menetelmä voi palauttaa yhden näistä tai mikään näistä (mitätön) kuten seuraavassa koodinpätkässä.

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. */

Menetelmiemme ei tarvitse palauttaa arvoa ollenkaan. Menetelmissä, jotka eivät palauta tyyppiä, täytyy olla tyyppi nimeltä void. Java ei odota mitään palautettavaa, jos sisällytämme menetelmän palautustyyppiin void. Palautuksen (EDIT: 27. toukokuuta) sisällyttäminen -tyyppi johtaa epäonnistumiseen käännä. Jotkut ohjelmoijat asettavat palautuslausekkeen ” return; ”, kun menetelmän palautustyyppi on virheellinen. Tämä koodi on yhteensopiva.

Täällä ” s esimerkki menetelmästä return type void. (Muuten, sanoja, kuten julkinen, yksityinen ja suojattu , kutsutaan pääsynmuokkaajiksi. Jätän nämä käyttömuokkaajat tarkoituksellisesti yksinkertaisuuden vuoksi.)

double balance = 275.00;

makeDeposit( 65.00 );

void makeDeposit( double deposit )

{

balance = balance + deposit;

}

iv

Seuraava koodi ei käännä , koska sillä on palautuslauseke, jolla on menetelmän palautustyyppi.

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. */

VIITETYYPIT

Viitetyypit ovat kaikki muut tyypit ides mitätön ja kahdeksan primitiivistä tyyppiä. Nämä tyypit ovat objekteja – taulukot, Kokonaisluku, BigIntegeri, Merkkijono, ArrayList, Luettelo, Kartta ja AnyValidUserDefinedType, ovat vain joitain viitetyyppejä. alla olevan koodin.Viitetyypeillä (ei primitiivisillä tyypeillä) voi olla palautusarvo 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. */

Yllä olevassa koodissa palautimme int [] – nimisen inputArray. InputArray-tyyppi vastaa metodin sortArray () viitetyyppiä.

Seuraavassa koodissa päätimme palauttaa null referenssityyppi, vaikka menetelmä odotti tyypin String. Muista, että Merkkijono on luokka ja viitetyyppi, ei primitiivinen tyyppi, kuten int, double tai 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 */

Jos nimessä on pituus 3 yllä olevassa koodissa, menetelmä getShortNames () palauttaa nimen arvon. Meidän tapauksessamme nimi on kuitenkin 5 merkkiä pitkä, joten arvo null palautetaan. Rivi 5 tulostaa null.

Kuten aiemmin mainitsin, voimme palauttaa tyypit myös käyttäjän määrittelemistä luokista. Emme ole rajoittuneet luokkiin, jotka on määritelty Java-kirjastoissa, kuten String, Integer, BigDecimal, Map jne.

Muistettavia tärkeimpiä kohtia:

  • Kolme palautustyyppiä menetelmille; täytyy käyttää yhtä: primitiivinen tyyppi, viitetyyppi tai void
  • Kun käytetään primitiivistä ja viitepalautustyyppiä menetelmissä, palautuslauseke on sisällytettävä metodikoodilohkoon – kiharat aaltosulkeet {}. Muussa tapauksessa odota käännösvirhettä.
  • Kun void-menetelmää käytetään palautustyyppinä, palautuslausetta ei voida sisällyttää menetelmän koodilohkoon . Muussa tapauksessa koodia ei käännetä.
  • Menetelmällä, jolla on palautusviite, on oltava palautuslauseke, joka palauttaa muuttujan tarkalla viitetyypillä tai palauttaa null . Nullia ei voi käyttää palautustyyppinä, jos vaaditaan primitiivinen palautustyyppi. Nullia ei tietenkään voida käyttää, koska menetelmän palautustyyppinä on return type void.

Vastaa

Sähköpostiosoitettasi ei julkaista. Pakolliset kentät on merkitty *