logo

Návratové vyhlásenie v jazyku Java

Čo je to návratový príkaz v jazyku Java?

V programovaní Java sa príkaz return používa na vrátenie hodnoty, keď je vykonanie bloku dokončené. Príkaz return vo vnútri cyklu spôsobí prerušenie cyklu a ďalšie príkazy budú kompilátorom ignorovať.

Vrátenie hodnoty z metódy

V jazyku Java je každá metóda deklarovaná s návratovým typom, ako je int, float, double, string atď.

Tieto návratové typy vyžadovali návratový príkaz na konci metódy. Na vrátenie výslednej hodnoty sa používa kľúčové slovo return.

Návratový typ void nevyžaduje žiadny návratový príkaz. Ak sa pokúsime vrátiť hodnotu z metódy void, kompilátor zobrazí chybu.

Pri vrátení hodnoty je potrebné pamätať na nasledujúce dôležité body:

  • Návratový typ metódy a typ údajov vrátených na konci metódy by mali byť rovnakého typu. Napríklad, ak je metóda deklarovaná s návratovým typom float, vrátená hodnota by mala byť iba typu float.
  • Premenná, ktorá ukladá vrátenú hodnotu po zavolaní metódy, by mala byť podobného typu údajov, inak by sa údaje mohli stratiť.
  • Ak je metóda deklarovaná s parametrami, sekvencia parametra musí byť pri deklarácii a volaní metódy rovnaká.

Syntax:

Syntax príkazu return je kľúčové slovo return, za ktorým nasleduje hodnota, ktorá sa má vrátiť.

 return returnvalue; 

Nasledujúce programy Java demonštrujú použitie príkazov return.

SampleReturn1.java

 public class SampleReturn1 { /* Method with an integer return type and no arguments */ public int CompareNum() { int x = 3; int y = 8; System.out.println('x = ' + x + '
y = ' + y); if(x>y) return x; else return y; } /* Driver Code */ public static void main(String ar[]) { SampleReturn1 obj = new SampleReturn1(); int result = obj.CompareNum(); System.out.println('The greater number among x and y is: ' + result); } } 

Výkon:

 x = 3 y = 8 The greater number among x and y is: 8 

Vo vyššie uvedenom kóde Java je metóda CompareNum je definovaný s int návratový typ. Porovnáva sa X a a hodnoty a vráti väčšie číslo.

SampleReturn2.java

 public class SampleReturn2 { /* Method with an integer return type and arguments */ public int CompareNum(int x, int y) { System.out.println('x = ' + x + '
y = ' + y); if(x>y) return x; else return y; } /* Driver Code */ public static void main(String ar[]) { SampleReturn2 obj = new SampleReturn2(); int result = obj.CompareNum(15,24); System.out.println('The greater number among x and y is: ' + result); } } 

Výkon:

 x = 15 y = 24 The greater number among x and y is: 24 

Vo vyššie uvedenom kóde Java je metóda CompareNum je definovaný s int návratový typ a dva argumenty X a a . Metóda porovnáva X a a hodnoty a vráti väčšie číslo.

Vrátenie triedy alebo rozhrania

Metóda môže mať ako návratový typ názov triedy. Preto musí vrátiť objekt presnej triedy alebo jej podtriedy.

Ako návratový typ možno použiť aj názov rozhrania, ale vrátený objekt musí implementovať metódy tohto rozhrania.

Nasledujúci program Java zobrazuje implementáciu názvu triedy ako návratového typu.

SampleReturn3.java

 class SumReturn { private int a; public SumReturn(int i) { a = i; } /*The addition method returns a SumReturn object with adding 100 into it. */ public SumReturn addition() { SumReturn result = new SumReturn(a + 100); return result; } public void display() { System.out.println('Additon result: ' + a); } } public class SampleReturn3 { /* Driver Code */ public static void main(String[] args) { SumReturn obj1 = new SumReturn(50); SumReturn obj2; /* addition method returns a reference of SumReult class */ obj2 = obj1.addition(); obj2.display(); } } 

Výkon:

 Additon result: 150 

Vo vyššie uvedenom kóde a SumResult trieda obsahuje prídavok metóda s názvom triedy ako návratovým typom. Vracia výsledok hodnotu a vytlačí ju pomocou displej metóda.