Wat is een return-statement in Java?
Bij Java-programmeren wordt de return-instructie gebruikt voor het retourneren van een waarde wanneer de uitvoering van het blok is voltooid. De return-instructie in een lus zorgt ervoor dat de lus wordt verbroken en verdere instructies worden door de compiler genegeerd.
Een waarde retourneren van een methode
In Java wordt elke methode gedeclareerd met een retourtype zoals int, float, double, string, enz.
Deze retourtypen vereisten een retourinstructie aan het einde van de methode. Er wordt een return-trefwoord gebruikt voor het retourneren van de resulterende waarde.
Het ongeldige retourneringstype vereist geen retourinstructie. Als we proberen een waarde uit een void-methode terug te geven, geeft de compiler een fout weer.
c-programma voor stringvergelijking
Hieronder volgen de belangrijke punten die u moet onthouden bij het retourneren van een waarde:
- Het retourtype van de methode en het type gegevens dat aan het einde van de methode wordt geretourneerd, moeten van hetzelfde type zijn. Als een methode bijvoorbeeld wordt gedeclareerd met het float-retourtype, mag de geretourneerde waarde alleen van het float-type zijn.
- De variabele die de geretourneerde waarde opslaat nadat de methode is aangeroepen, moet van een vergelijkbaar gegevenstype zijn, anders kunnen de gegevens verloren gaan.
- Als een methode met parameters wordt gedeclareerd, moet de volgorde van de parameter hetzelfde zijn bij het declareren en aanroepen van de methode.
Syntaxis:
De syntaxis van een return-instructie is dat het return-trefwoord wordt gevolgd door de terug te geven waarde.
return returnvalue;
De volgende Java-programma's demonstreren het gebruik van return-instructies.
VoorbeeldReturn1.java
methoden in 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); } }
Uitgang:
inkapseling programma
x = 3 y = 8 The greater number among x and y is: 8
In de bovenstaande Java-code is de method VergelijkNum wordt gedefinieerd met de int soort retour. Het vergelijkt de X En En waarden en retourneert het grootste getal.
VoorbeeldReturn2.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); } }
Uitgang:
x = 15 y = 24 The greater number among x and y is: 24
In de bovenstaande Java-code is de method VergelijkNum is gedefinieerd met int retourtype en twee argumenten X En En . De methode vergelijkt X En En waarden en retourneert het grootste getal.
Een klasse of interface retourneren
Een methode kan de klassenaam als retourtype hebben. Daarom moet het het object van de exacte klasse of zijn subklasse retourneren.
Een interfacenaam kan ook worden gebruikt als retourtype, maar het geretourneerde object moet methoden van die interface implementeren.
wumpus wereld
Het volgende Java-programma toont de implementatie van een klassenaam als retourtype.
VoorbeeldReturn3.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(); } }
Uitgang:
Additon result: 150
In de bovenstaande code wordt a SomResultaat klasse bevat een toevoeging methode met klassenaam als retourtype. Het retourneert de resultaat waarde en drukt deze af met behulp van de weergave methode.