Ce este o instrucțiune return în Java?
În programarea Java, instrucțiunea return este folosită pentru a returna o valoare atunci când execuția blocului este finalizată. Instrucțiunea returnată în interiorul unei bucle va determina întreruperea buclei și instrucțiunile suplimentare vor fi ignorate de compilator.
Returnarea unei valori dintr-o metodă
În Java, fiecare metodă este declarată cu un tip de returnare, cum ar fi int, float, double, string etc.
Aceste tipuri de returnare au necesitat o instrucțiune return la sfârșitul metodei. Un cuvânt cheie return este folosit pentru a returna valoarea rezultată.
Tipul de returnare void nu necesită nicio declarație de returnare. Dacă încercăm să returnăm o valoare dintr-o metodă void, compilatorul afișează o eroare.
Următoarele sunt punctele importante pe care trebuie să le rețineți atunci când returnați o valoare:
- Tipul de returnare al metodei și tipul de date returnate la sfârșitul metodei ar trebui să fie de același tip. De exemplu, dacă o metodă este declarată cu tipul de returnare float, valoarea returnată ar trebui să fie numai de tip float.
- Variabila care stochează valoarea returnată după apelarea metodei ar trebui să fie un tip de date similar, altfel, datele s-ar putea pierde.
- Dacă o metodă este declarată cu parametri, secvența parametrului trebuie să fie aceeași în timpul declarației și apelului de metodă.
Sintaxă:
Sintaxa unei instrucțiuni return este cuvântul cheie return este urmat de valoarea care trebuie returnată.
return returnvalue;
Următoarele programe Java demonstrează utilizarea instrucțiunilor 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); } }
Ieșire:
x = 3 y = 8 The greater number among x and y is: 8
În codul Java de mai sus, metoda CompareNum este definită cu int tip de returnare. Se compară pe X și și valorile și returnează numărul mai mare.
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); } }
Ieșire:
x = 15 y = 24 The greater number among x and y is: 24
În codul Java de mai sus, metoda CompareNum este definit cu int tipul de returnare și două argumente X și și . Metoda compară X și și valorile și returnează numărul mai mare.
Returnarea unei clase sau a unei interfețe
O metodă poate avea numele clasei ca tip de returnare. Prin urmare, trebuie să returneze obiectul clasei exacte sau al subclasei sale.
Un nume de interfață poate fi folosit și ca tip de returnare, dar obiectul returnat trebuie să implementeze metode ale acelei interfețe.
Următorul program Java arată implementarea unui nume de clasă ca tip de returnare.
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(); } }
Ieșire:
Additon result: 150
În codul de mai sus, a SumResult clasa conține o plus metoda cu numele clasei ca tip de returnare. Acesta returnează rezultat valoare și o tipărește folosind afişa metodă.