Milyen visszatérési típusok vannak a Java-ban? Hogyan használják őket?

Legjobb válasz

  • Ha kiegészítést hajtok végre, akkor a visszatérés típusa int .
  • Ha vissza akarom adni a felhasználó nevét, akkor a visszatérési típus karakterlánc lenne.
  • Ha vissza akarok adni egy tömblistát, amely tartalmaz néhány adatot, akkor az tömblista lesz.
  • Ha szeretném térjen vissza, ha a kapcsolat sikeres volt, vagy sem, akkor logikai .

1. példa:

// Visszatérés int

nyilvános függvény int doSomething () {

int a = 5;

int b = 4;

int c = a * b;

return c; // type int //

}

Példa 2:

// Return type String

public function String doSomething () {

String a = „First NAme”;

b karakterlánc = „LAST NAme”;

karakterlánc c = a + b; // összefűzés

return c; // type Karakterlánc // O / P => Keresztnév vezetéknév

}

3. példa:

// Return type ArrayList

public function ArrayList doSomething () {

ArrayList list = new ArrayList ();

String a = „First NAme”;

String b = „LAST NAme”;

list.add (a);

list.add (b);

visszatérési lista; // type ArrayList // O / P => [keresztnév vezetéknév]

}

return type bármilyen típusú lehet, akár egy felhasználó által definiált osztályobjektum is. pl. return objStudent; (ahol a visszatérés típusa valamilyen osztály, a Student és az objStudent az adott osztály objektuma.

Válasz

A többiek, akik “válaszoltak, tapasztaltabbak, mint én, de én megpróbálom a kérdés megválaszolásához.

A Java kétféle változóval és metódussal rendelkezik – primitív és referencia típus . A metódusnak azonban tartalmaznia kell egy primitív visszatérési típus, referencia, vagy void . Ha ezek egyikét nem tartalmazza, akkor a kódja nem áll össze.

[Megjegyzés: A kivitelezőkről itt nem beszélek. Én személy szerint nem hívom inkább a kivitelezőket „speciális módszereknek”. Néhány programozó a módszer kifejezést használja tartalmaznak konstruktorokat. Ha nem tévedek, felidézem azokat az Oracle Java dokumentumokat, amelyek a konstruktorokra „speciális módszerként” hivatkoznak.]

PRIMITÍV TÍPUSOK

Itt van a nyolc kis- és nagybetű érzékeny primitív típus: bájt, rövid, int, hosszú, lebegő, dupla, char és logikai. [String nem primitív típus; ez egy referencia típus.] Egy módszer ezek egyikét vagy egyikét sem adhatja vissza (érvénytelen), mint a következő kódrészletben.

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

A metódusainknak egyáltalán nem kell semmilyen értéket visszaadniuk. Azoknak a metódusoknak, amelyek nem adnak vissza típust, rendelkezniük kell egy void nevű típussal. A Java nem számít semmilyen visszaküldésre, ha a metódus visszatérési típusaként az void-ot is szerepeltetjük. Ha egy return-t is beírunk (EDIT: május 27.) type , akkor az fordítás. Egyes programozók visszatérési utasítást helyeznek el „ return; ”, ha a metódus visszatérési típusa érvénytelen. Ez a kód megfelel.

Itt ” s egy módszer a return type void paranccsal. (Egyébként az olyan szavakat, mint nyilvános, magán és védett , hozzáférés-módosítóknak nevezzük. Az egyszerűsítés érdekében szándékosan kihagyom ezeket a hozzáférés-módosítókat.)

double balance = 275.00;

makeDeposit( 65.00 );

void makeDeposit( double deposit )

{

balance = balance + deposit;

}

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

A következő kód nem fog összefordulni , mert a metódushoz érvénytelen return típussal rendelkező return utasítás van.

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

REFERENCIA TÍPUSAI

Referencia típusok minden más típus ides érvénytelen és a nyolc primitív típus. Ezek a típusok objektumok – tömbök, egész szám, nagyösszeg, karakterlánc, tömblista, lista, térkép és az AnyValidUserDefinedType, csak néhány a referencia típusok közül. az alábbi kódot.A referencia típusok (nem primitív típusok) visszatérési értéke null lehet.

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

A fenti kódban egy int [] nevű inputArray-t adtunk vissza. Az inputArray típusa megegyezik a sortArray () metódus referenciatípusával.

A következő kódban a null visszatérést választottuk a referencia típus, bár a módszerünk String típust várt. Emlékezzünk arra, hogy a karakterlánc osztály és referencia típus, és nem primitív típus, például int, double vagy logikai.

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

Ha a név hossza 3, a fenti kódban a getShortNames () metódus visszaadja a név értékét. Esetünkben azonban a név 5 karakter hosszú, így a null értéket adja vissza. Az 5. sor kiírja a null értéket.

Mint korábban említettem, a felhasználó által definiált osztályokból is adhatunk vissza típusokat. Nem korlátozódunk azokra az osztályokra, amelyeket a Java könyvtárai határoznak meg, például String, Integer, BigDecimal, Map stb.

Főbb emlékezetes szempontok:

  • Három visszatérési típus a módszerekhez; egyet kell használnia: primitív típus, referencia típus vagy void
  • Ha primitív és referencia visszatérési típusokat használunk a metódusokhoz, akkor a return kódot a metódus blokkba – a göndör zárójelekbe} kell beilleszteni. Ellenkező esetben fordítási hibára kell számítani.
  • Az void metódusok visszatérési típusaként történő használatakor visszatérési utasítás nem szerepelhet a metódus blokkjában. . Ellenkező esetben a kód nem fordítódik le.
  • A referencia visszatérési típussal rendelkező metódusnak tartalmaznia kell egy return utasítást, amely egy pontos referencia típussal változót ad vissza, vagy null . A Null nem használható visszatérési típusként, ha primitív visszatérési típusra van szükség. Természetesen a null nem használható, mivel a metódus visszatérési típusának van érvénytelen return típusa.

Vélemény, hozzászólás?

Az email címet nem tesszük közzé. A kötelező mezőket * karakterrel jelöltük