PracticU

Returning a Value from a Function

בלי כתוביותעם כתוביות
PracticU › קורס יסודות התכנות - שפת JAVA - קורס ג'אווה למתחילים › Returning a Value from a Function
Returning a Value from a Function
כשפונקציה מבצעת חישוב, עדיף שתחזיר את התוצאה ולא תציג אותה. ההרצאה מסבירה למה, ואיך עושים זאת בעזרת return.
השלבים העיקריים
1. הבעיה בהצגה בתוך הפונקציה: פונקציה שמציגה את המקסימום בין שני מספרים מגבילה את השימוש בתוצאה, כי אי אפשר לשמור אותה או לבצע איתה חישוב נוסף.
2. return: הפונקציה מחזירה את הערך בעזרת return. במקרה כזה מגדירים את סוג הערך המוחזר, למשל int, ולא void.
3. קבלת הערך: מי שקורא לפונקציה יכול לשמור את הערך במשתנה, להציג אותו בדרך אחרת או לבצע איתו חישוב. בדוגמה הערך הוכפל ב-10.
4. התעלמות מהערך: מותר לקרוא לפונקציה ולא לשמור את הערך שהיא מחזירה, אם אין צורך בו.
5. כמה return בפונקציה: אפשר לכתוב כמה return בתוך פונקציה, אבל הראשון שמתבצע מסיים את הפונקציה.
6. מדרגות בונוס: בדוגמה פונקציה מחזירה בונוס לפי גובה המשכורת, לפי כמה תנאים. כשנכנסים לתנאי, הערך מוחזר מיד, ולכן else מיותר אחרי return.
כשפונקציה מחזירה תוצאה, התוכנית יכולה להחליט מה לעשות איתה: להציג אותה, לשמור אותה או לחשב עליה.
השיעור הבא בקורס: Boolean Function
מילון מושגים:
פונקציה – קטע קוד בעל שם שמבצע משימה מוגדרת, מקבל ערכי קלט (פרמטרים) ויכול להחזיר תוצאה. מאפשרת לארגן קוד ולהשתמש בו שוב.
משתנה – שם שמפנה למקום בזיכרון שבו נשמר ערך שיכול להשתנות במהלך ריצת התוכנית, כמו מספר, טקסט או אובייקט.
תנאי – ביטוי לוגי בקוד שתוצאתו אמת או שקר, וקובע אילו פקודות יתבצעו בהתאם לערכו.
בוליאני – סוג נתונים שיכול לקבל אחד משני ערכים בלבד: אמת (true) או שקר (false).

פרקי ההרצאה: Returning a Value from a Function

  1. 00:00

    פונקציה שמוצאת מקסימום ומציגה אותו

  2. 01:27

    למה לא להציג את התוצאה בתוך הפונקציה

  3. 02:47

    פונקציית חישוב שמחזירה את הערך לקוראת

  4. 03:48

    פקודת Return והחזרת ערך מפונקציה

  5. 04:27

    טיפוס הערך המוחזר במקום void

  6. 05:27

    קריאה לפונקציה והשימוש בערך שהוחזר

  7. 06:03

    דוגמה: findmax והכפלת התוצאה

  8. 07:04

    פונקציית חישוב מחזירה, והקורא מחליט מה לעשות

תמלול ההרצאה: Returning a Value from a Function

הטקסט המלא של הדקות הראשונות בהרצאה «Returning a Value from a Function» בקורס הווידאו של PracticU – כתוביות בעברית עם זמן התחלה לכל פסקה. כך תוכלו לקרוא ולחפש את הנושאים לפני שמתחילים ללמוד.

  1. 00:03

    אנחנו מגיעים לנקודה מאוד חשובה בעולם הפונקציות וזה החזרת ערך מפונקציה. בואו נבין רגע למה הכוונה. נניח שיש לנו כאן איזושהי פונקציה שמדפיסה ערך מקסימלי מבין שני ערכים.

  2. 00:24

    בואו ניתן לה איזשהו ערך a, ניתן לה ערך b, לסוגריים כארגומנטים, ועל הפונקציה למצוא את הערך המקסימלי ביניהם. בואו נניח int max שווה בואו בעצם נשאל האם a יותר גדול מb אם כן ניקח את a אחרת ניקח את b ובואו בעצם נציג את הערך המקסימלי כאן אפילו נרשום פה max בצורה כזאת.

  3. 00:59

    עכשיו אנחנו רוצים לבדוק את הפונקציה print max ולשלוח 10 ו-15 בואו נריץ ונראה שהוא אומר לי שהמקסימלי זה 15. הגיוני. בואו נשלח 20 ו-15 ואז הוא אומר לי שהמקסימלי הוא 20. מה לא בסדר בכל מה שעשינו פה?

  4. 01:25

    אז מה שלא בסדר כאן ושכאשר אנחנו כותבים פונקציה אנחנו צריכים להבין שאנחנו רוצים להשתמש איתה גם בעתיד בכל מיני סיטואציות אחרות.

  5. 01:37

    אוקיי, האם בכל סיטואציה אנחנו נרצה לחשב ערך מקסימלי ולהציג אותו בדיוק בפורמט הזה על המסך? יכול להיות שלפעמים אני ארצה לרשום max.2 ולפעמים אני ארצה לרשום the maximum number is וכדומה.

  6. 01:57

    ולפעמים אני בכלל לא ארצה להציג את הערך על המסך. אז אתם יכולים להגיד טוב רגע בוא בעצם אל תרשום שום דבר איתו רק תציג אותו בצורה כזאת.

  7. 02:10

    ואז עבור הערך הראשון נוכל לבצע max.2 ועבור הערך השני נוכל לבצע משהו כזה. בואו נניח נרד פה איזושהי שורה או אפילו אין צורך, נרשום פה the maximum is ואז נקרא לפונקציה והנה יש לנו שתי תצוגות שונות לגמרי של הצגת מספרים מקסימליים אבל ולא מספיק טוב כי מה יקרה אם מתישהו אנחנו נרצה להשתמש עם הפונקציה לצורך מציאת ערך מקסימלי אבל

  8. 02:53

    אנחנו בכלל לא נרצה להציג את זה על המסך אלא לבצע איזשהו חישוב עם הערך אז אנחנו רואים שברגע שיש לנו פונקציה שמבצעת איזשהו חישוב מסוים לא תמיד כדאי לנו לבצע הצגה של החישוב למעשה אף פעם לא כדאי לנו להציג את החישוב בתוך הפונקציה.

  9. 03:15

    אפילו שאנחנו כן רוצים להציג את החישוב. במילים אחרות, אם יש לנו פונקציה שמבצעת חישוב, אנחנו לא נרצה להציג את תוצאת החישוב בתוך הפונקציה.

  10. 03:27

    אנחנו רוצים את תוצאת החישוב כאן אצלנו. שוב, אולי אני רוצה כאן לקחת איזשהו משתנה, the max, ולהכניס לתוכו את הערך המקסימלי ולהשתמש איתו פה באיזשהו חישוב.

  11. 03:40

    בואו נניח אני רוצה להכפיל את המקסימלי ב-10 ואת זה להציג. בואו ניקח כאן x temp שווה ולהציג את הערך המקסימלי. אז איך אני בדיוק מקבל בחזרה את הערך המקסימלי שהפונקציה מצאה לנו?

  12. 04:00

    אז התשובה היא שהפונקציה לא תציג אותו בתוך עצמה ולא תבצע איתו עוד דברים אלא תחזיר אותו על ידי פקודת ריטרן. זאת אומרת שאם הערך המקסימלי הוא נמצא בתוך המשתנה max שמוכר בפונקציה, פשוט נרשום ריטרן max.

  13. 04:20

    עכשיו אנחנו יכולים להבין מה זה הווייד שתמיד כתוב כאן. ווייד זה אומר שהפונקציה לא מחזירה שום דבר. אם הפונקציה מחזירה ערך על ידי ריטרן, אנחנו לא רוצים לרשום פה ווייד, אלא את הסוג של הערך המוחזר.

  14. 04:40

    סוג הערך המוחזר במקרה הזה זה אינטג'ר. אז אנחנו רוצים שהפונקציה תגדיר שהיא מחזירה אינטג'ר, ואז ריטרן יכול להחזיר את הערך האינטג'רי. איך אנחנו קוראים לפונקציה?

  15. 04:52

    בואו נבוא לפה, print max ונשלח לה ערכים, בואו נניח 10-15 וכאן אנחנו יכולים להציג את הערך המקסימלי. אז נציג אותו בפעם הראשונה בצורה כזאת, ל-max ונציג אותו בפעם השנייה בצורה אחרת, ל-maximum is, זה אנחנו יכולים להוריד והנה הערך המקסימלי, את שני אלה אפשר למחוק, בצורה כזאת, בואו נריץ.

  16. 05:33

    רק כעת הפונקציה יכולה להחזיר את הערך, אנחנו לא מציגים אותו בתוך הפונקציה, אנחנו מקבלים אותו פה, ופה אנחנו קובעים מה לעשות איתו. דוגמה נוספת יכולה להיות לקחת איזשהו משתנה temp שווה printmax, ודרך אגב השם של הפונקציה כבר לא אמור להיות printmax, אז בשלב הזה בואו נשנה אותו ל-findmax לדוגמה,

  17. 06:00

    בואו נלך לכאן ונגדיר שהפונקציה נקראת findmax, בואו ניתן לה 40 ו-50 ואיזשהו temp מקבל את הערך כפול 10 בצורה כזאת. ואז כמובן הערך המקסימלי יהיה 500, אה, temp סליחה, יהיה 500. אנחנו רואים שהפונקציה החזירה לנו את הערך לאיזשהו temporary והכפלנו אותו ב-0.

  18. 06:36

    בואו רגע טיפה נפריד את זה, נחזיר אותו ל-temp ונבצע איזשהו חישוב int temp 2 שווה ל-temp כפול 10. עשר והצגנו את טמפ שתיים אז פה טמפ שתיים אז אנחנו בעצם רואים שלא בהכרח אנחנו נרצה תמיד לבצע הצגה של הערך אולי אנחנו רוצים להשתמש איתו באופן אחר.

  19. 07:04

    כאן הצגנו כאן עשינו איזשהו חישוב אולי בהמשך אנחנו נרצה לשמור אותו לקובץ אולי אנחנו נרצה לשמור אותו במאגר נתונים כלשהו אולי אנחנו רוצים לשלוח אותו באימייל.

  20. 07:17

    לא תמיד אנחנו רוצים להציג את הערך שהוא תוצאת החישוב. לכן, פונקציות שמבצעות חישובים לא יציגו את הערך אלא יחזירו אותו על ידי ריטרן בצורה כזאת, מי שקורא לה יקבל את הערך בחזרה, הערך הרי מוחזר מפה לכאן,

לקורס המלא: קורס ג'אווה למתחילים אונליין

ההרצאה הקודמת: תרגול על Sending Arguments

ההרצאה הבאה: Boolean Function

הרצאות קשורות מקורסים אחרים

  • פונקציה - Function
  • הבדל בין Reference לבין Value
  • Stored Procedure vs Function
  • Asynchronous - xxxAsync Function

קורסים נוספים במסלול

  • קורס מבוא ל-QA - מידע חשוב לבודק תוכנה
  • קורס פוסטמן - Postman - בדיקות לאתרי אינטרנט - API
  • קורס Robot Framework - בדיקות QA ממשק גרפי
  • קורס סלניום בסיסי - בדיקות אוטומטיות - Selenium
  • קורס סלניום מתקדם - CI/CD - Continues Integration
  • קורס מייבן - Maven