
void printHello() לא מחזירה ערך, ובכל קריאה היא מריצה את הקוד שבתוכה, למשל הדפסה ולולאה.int number1, int number2. בקריאה שולחים ערכים בפועל, שנקראים ארגומנטים. אם לא שולחים מספיק ארגומנטים, המהדר מציין שחסר ארגומנט.void כותבים סוג, למשל int, והפונקציה מחזירה ערך בעזרת return. כך אפשר לשמור את התוצאה במשתנה, למשל int sum = calculateSum(2, 6);.+ מחבר מחרוזות. כשהביטוי מתחיל במחרוזת, גם מספרים שמחוברים אחריה נכללים כטקסט. להמרה של מספר למחרוזת משתמשים ב-ToString().הטקסט המלא של הדקות הראשונות בהרצאה «פונקציה - Function» בקורס הווידאו של PracticU – כתוביות בעברית עם זמן התחלה לכל פסקה. כך תוכלו לקרוא ולחפש את הנושאים לפני שמתחילים ללמוד.
מה זה פונקציה? פונקציה זה בעצם קטע קוד כמו שיש פה לצורך העניין בתוך לולאה רק שאני יכול לקרוא לו בכל שלב שאני רוצה אני צריך אם אני עושה אני אשתמש בו להפרדה לוגית או למשל לקטע קוד שחוזר על עצמו הרבה פעמים אני לא יוצא לכתוב אותו הרבה פעמים אני ארצה לכתוב אותו פעם אחת ולהשתמש בו מתי שאני רוצה באמצעות שורת קוד אחת ראינו כבר פונקציות אחת מהם זה הפונקציה סטארט למשל עוד
עוד פונקציה אנחנו מכירים מהפונקציה פרינט אוקיי פרינט זה איפה שמה שאני קורא לפה זה קריאה לפונקציה אני לא מגדיר פה את הפונקציה פה אני כן מגדיר את הפונקציה סטארט אוקיי אני יכול להגדיר פונקציות משלי כמובן ומה זה כמו שאמרתי מה יש לנו חוץ מבעצם את השם של הפונקציה כמו שאני מגדיר סוג של משתנה אז יש לי סוג של פונקציה או שנקרא לזה כמו שקוראים לזה באמת ריטרן טייפ.
סוג של הערך המוחזר מהפונקציה אני לא אכנס לזה כרגע אני רק רוצה להגיד שאם אני לא רוצה להחזיר שום ערך אני כותב void ואז אני נותן את השם של הפונקציה נניח הדוגמה הבסיסית ביותר שאני יכול לתת כרגע print hello כן מזכיר לנו משהו אבל לא בדיוק void print סוגריים פתח וסגור במקרה הזה וסוגריים מסולסלים ופה אני יכול פשוט לקרוא לפרינט הלו ועכשיו
הפונקציה הזאת היא לא מאוד יעילה כן אבל לצורך ההדגמה הבסיסית ביותר של מה זה הפונקציה אז הנה יש לי פה הגדרתי את פרינט הלו ואני יכול בכל שלב שהוא בתוך הקוד שלי לקרוא לפונקציה הזאת אני יכול למשל פה לקרוא לפרינט הלואו ואני יכול פה לקרוא לפרינט הלואו זאת אומרת אני לא מוגבל בקטע הזה ודבר
אחרון שאני רוצה להגיד לפני שאני אריץ את זה זה בעצם מה קורה הקוד רץ רץ רץ רץ מגיע לפונקציה הזאת למשל נכנס לפונקציה מריץ את מה שקורה פה בתוך הפונקציה וחוזר לכאן וממשיך הלאה.
כלומר מה שאנחנו נקבל אם אנחנו קוראים את הקוד אז בעצם הפעולות האלה מתבצעות לפי סדר. פרינט הלואו זה בעצם קורא לפונקציה שיש שם פעולות נוספות אז בעצם מה שנקבל אחרי נקבל האיי נקבל הלואו ונקבל אלפטר פרסט לופ ואז נקבל כמה הדפסות של זה לפי הריצה של הלולאה ואז נקבל את זה סקנד לופ ואז עוד פעם נקבל הלואו ואני אריץ את זה אוקיי אז יש לנו בוא נגיע לכאן זה פרינט איי אחרי הלולאה כן אחרי זה אני קורא
פרינט הלו ואז אני מדפיס הלו ואם אני לוחץ לבית לינק הוא רופץ לי לכאן לשורה שממנה נקראת הפונקציה פרינט ואפטר פרסט לופ זה כאן כלומר הגענו לפה נכנסנו לכאן ביצענו את כל מה שיש פה חזרנו לכאן.
זה הפונקציה הבסיסית ביותר עכשיו מה שהזכרתי בנוסף לזה היה ריטרן טייפ סוג המשתנה או בעצם לפני שנדבר על ריטרן טייפ נדבר על פרמטרים נעשה נקרא לזה פרינט סאם ועכשיו מה זה פרמטרים זה מידע שאני יכול לשלוח לפונקציה זה יכול להיות סוגים שונים של משתנים אז אני יכול פה אני בעצם מגדיר איזה משתנים הפונקציה
מצפה לקבל איזה סוגים אינט אינט אחד אינט אינט שתיים ומה שהפונקציה הזאת תעשה פרינט אינט אחד פלוס אינט שתיים. כן הפונקציה הזאת גם כן לא מאוד גאונית אבל בשביל להדגים את הנושא של הפרמטרים עכשיו הדבר האחרון שאני אעשה פה זה print sum של 2 ו-6 היא מצפה לקבל שני אינטג'רים וזה מה שאני שולח לה אם אני לא אשלח לה שני אינטג'רים
אז קבל הודעה there is no argument given that corresponds to the correct int 2. אוקיי הוא אומר לי לא שלחת את הארגיומנט שני אוקיי ושוב חידוד קל כאשר אני מגדיר את הפונקציה ובתוך הפונקציה אלה נקראים פרמטרים כאשר אני קורא לה ואני שולח את הערכים הערכים האלה הם הארגומנטים שאני שולח כפרמטרים הפונקציה
פרינט סאם וכפי שכבר כנראה ניחשתם אם אני עכשיו מריץ את זה אני מקבל פרינט הלואו שאני צריך למחוק כן הוא לא מכיר את זה כי שינינו את השם לפרינט סאם ועכשיו אני לוחץ פליי ובאופן לא מאוד מפתיע אני מדפיס 8 אוקיי קיבלתי שני פרמטרים עשיתי הדפסה של החיבור ביניהם וזהו והדבר האחרון כאמור זה הריטרן טייפ שלי אז במקום להדפיס אני כרגע לא עושה כלום
ואני לא רוצה שזה יחזיר לי כלום אני רוצה שזה יחזיר לי משהו אז במקרה הזה בוא נעשה שפשוט מחזיר לי את הסכום אז אם זה מחזיר לי סכום שהוא אינטג'ר אז הריטרן טייפ שלי הוא אינטג'ר וגם נשנה את השם לקלקולייט סאם ופה איך אני מחזיר ערך למי שקרא לי אני עושה פה ריטרן ואז אינט 1 פלוס אינט 2 אוקיי
יש לי פה חישוב וכמובן שפה הוא לא מזהה לי אז אני אקרא לזה ככה. אני יכול פשוט לקרוא לזה ככה זה יהיה קצת טיפשי אבל לא משנה תכף נגיע לקריאה ונראה מה אנחנו עושים.
אז הפונקציה הזאת מחזירה לי אינטג'ר כמו שאמרנו ביטויים מחזירים אז הפונקציה מחזירה כלומר אני יכול להגדיר פה int sum שווה calculate sum של 2 ו6 אוקיי ואז שוב לצורך ההדגמה print sum בוא נריץ את זה וההדפסה נשארה 8 אותו דבר אבל פה ההדפסה היא מחוץ לפונקציה הפונקציה שלי המתודה המתוד קלקולייט סאם מחזירה לי בעצם את הסכום של שתיים ושש אוקיי מפה אני רוצה
היה דבר נוסף שרציתי דבר אחרון כן