Mi az a return utasítás a Java nyelven?
A Java programozásban a return utasítás egy érték visszaadására szolgál, amikor a blokk végrehajtása befejeződött. A cikluson belüli return utasítás megszakítja a ciklust, és a fordító figyelmen kívül hagyja a további utasításokat.
Érték visszaadása módszerből
A Java-ban minden metódus egy visszatérési típussal van deklarálva, például int, float, double, string stb.
Ezekhez a visszatérési típusokhoz a metódus végén volt szükség egy return utasításra. Egy return kulcsszót használunk a kapott érték visszaadására.
A void return típushoz nincs szükség return utasításra. Ha egy void metódusból próbálunk értéket visszaadni, a fordító hibát jelez.
Az alábbiakban felsoroljuk azokat a fontos szempontokat, amelyeket emlékezni kell egy érték visszaadásakor:
java karakterlánc formázás
- A metódus visszatérési típusának és a metódus végén visszaadott adattípusnak azonos típusúnak kell lennie. Például, ha egy metódust float return típusúval deklarálunk, a visszaadott értéknek csak float típusúnak kell lennie.
- A metódus meghívása után visszaadott értéket tároló változónak hasonló adattípusnak kell lennie, különben az adatok elveszhetnek.
- Ha egy metódus paraméterekkel van deklarálva, akkor a paraméter sorrendjének meg kell egyeznie a deklaráció és a metódushívás során.
Szintaxis:
A return utasítás szintaxisa az, hogy a return kulcsszót a visszaküldendő érték követi.
return returnvalue;
A következő Java programok a return utasítások használatát mutatják be.
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); } }
Kimenet:
x = 3 y = 8 The greater number among x and y is: 8
A fenti Java kódban a metódus CompareNum -vel van meghatározva int visszatérési típus. Összehasonlítja a x és és értékeket, és a nagyobb számot adja vissza.
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); } }
Kimenet:
x = 15 y = 24 The greater number among x and y is: 24
A fenti Java kódban a metódus CompareNum -val van meghatározva int visszatérési típus és két argumentum x és és . A módszer összehasonlítja x és és értékeket, és a nagyobb számot adja vissza.
Osztály vagy interfész visszaadása
Egy metódus visszatérési típusa lehet az osztálynév. Ezért a pontos osztály vagy annak alosztályának objektumát kell visszaadnia.
Az interfésznév visszatérési típusként is használható, de a visszaadott objektumnak az adott interfész metódusait kell megvalósítania.
A következő Java program egy osztálynév megvalósítását mutatja be visszatérési típusként.
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(); } }
Kimenet:
Additon result: 150
A fenti kódban a SumResult osztály tartalmaz egy kiegészítés metódus, amelynek visszatérési típusa az osztálynév. Visszaadja a eredmény értékét, és kinyomtatja a segítségével kijelző módszer.