מהי הצהרת החזרה ב-Java?
בתכנות Java, הצהרת return משמשת להחזרת ערך כאשר ביצוע הבלוק הושלם. הצהרת return בתוך לולאה תגרום ללולאה להישבר והצהרות נוספות יתעלמו על ידי המהדר.
החזרת ערך משיטה
ב-Java, כל שיטה מוצהרת עם סוג החזרה כגון int, float, double, string וכו'.
סוגי החזרות אלו דרשו הצהרת החזרה בסוף השיטה. מילת מפתח החזרה משמשת להחזרת הערך שהתקבל.
סוג החזרה ריק אינו דורש שום הצהרת החזרה. אם ננסה להחזיר ערך משיטת void, המהדר מציג שגיאה.
הקריקט החי שלי
להלן הנקודות החשובות שיש לזכור בעת החזרת ערך:
- סוג ההחזר של השיטה וסוג הנתונים המוחזרים בסוף השיטה צריכים להיות מאותו סוג. לדוגמה, אם מוצהרת שיטה עם סוג החזרה ציפה, הערך המוחזר צריך להיות מסוג צף בלבד.
- המשתנה המאחסן את הערך המוחזר לאחר קריאת השיטה צריך להיות מסוג נתונים דומה אחרת, הנתונים עלולים ללכת לאיבוד.
- אם מתודה מוצהרת עם פרמטרים, רצף הפרמטר חייב להיות זהה בזמן שההצהרה והמתודה קוראים.
תחביר:
התחביר של הצהרת החזר הוא מילת המפתח החזרה ואחריה הערך שיש להחזיר.
return returnvalue;
תוכניות Java הבאות מדגימות את השימוש בהצהרות החזרה.
SampleReturn1.java
הערות 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); } }
תְפוּקָה:
פורמט מחרוזת java ארוך
x = 3 y = 8 The greater number among x and y is: 8
בקוד Java לעיל, השיטה CompareNum מוגדר עם ה int סוג החזרה. זה משווה את איקס ו ו מעריך ומחזיר את המספר הגדול יותר.
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); } }
תְפוּקָה:
x = 15 y = 24 The greater number among x and y is: 24
בקוד Java לעיל, השיטה CompareNum מוגדר עם int סוג החזרה ושני ארגומנטים איקס ו ו . השיטה משווה איקס ו ו מעריך ומחזיר את המספר הגדול יותר.
החזרת מחלקה או ממשק
שיטה יכולה לקבל את שם המחלקה כסוג ההחזר שלה. לכן הוא חייב להחזיר את האובייקט של המחלקה המדויקת או המשנה שלה.
שם ממשק יכול לשמש גם כסוג החזרה, אך האובייקט המוחזר חייב ליישם שיטות של ממשק זה.
גבול באמצעות css
תוכנית Java הבאה מציגה את היישום של שם מחלקה כסוג החזרה.
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(); } }
תְפוּקָה:
Additon result: 150
בקוד לעיל, א SumResult הכיתה מכילה חיבור שיטה עם שם המחלקה כסוג ההחזרה שלה. זה מחזיר את תוֹצָאָה ערך ומדפיס אותו באמצעות ה- לְהַצִיג שיטה.