
public static void main. זו המתודה שג׳אווה מזהה ומריצה. אם חסרים הביטויים האלה, הריצה נכשלת.main או מתודות אחרות, ולא מריצה את עצמה. דוגמה: מתודה שמחשבת את הממוצע של מערך ציונים.main, בעזרת לולאה שסוכמת את הערכים וחלוקה ב-length. כשיש כמה מערכים צריך לשכפל את הקוד לכל אחד. לכן מעבירים את החישוב למתודה static int calculateAverage(int[] arr), שמחזירה int ומקבלת את המערך כפרמטר. בתוך main קוראים לה עם כל מערך. התוצאה היא קוד קצר, ללא שכפול.int, ולכן התוצאה עגולה כלפי מטה, בלי ספרות אחרי הנקודה.public static void main מהקלאס, הקוד לא יכול להרוץ.הטקסט המלא של הדקות הראשונות בהרצאה «methods - חלק 1» בקורס הווידאו של PracticU – כתוביות בעברית עם זמן התחלה לכל פסקה. כך תוכלו לקרוא ולחפש את הנושאים לפני שמתחילים ללמוד.
שלום לכולם, בשיעור הקרוב נדבר על מתודות. מתודות, המתודה היא מושג בסיסי בג'אווה ואנחנו צריכים להכיר אותה ולדעת להשתמש בה על מנת לכתוב טסטים אוטומטיים בשפת הג'אווה.
בואו נראה כמה דברים על מתודות. מהי מתודה? מתודה היא יחידת קוד, איזושהי יחידה סגורה בתוך הקוד שלנו שבה אנחנו נחזיק את הלוגיקה שלנו, את הדברים שאנחנו רוצים לבצע בקלאס שלנו.
גם אנחנו צריכים מתודה אז שפת הג'אווה לא מאפשרת לנו לכתוב פעולות או הגדרות מתקדמות מחוץ למתודה אנחנו חייבים לכתוב את כל הלוגיקה שלנו בתוך המתודה הג'אווה מבחינתה מחייבת איזשהו סוג של מתודה כדי לבצע דברים ומחוץ למתודה בעצם זה שטח שניתן להציר על משתנים להגדיר משתנים אבל לא ניתן לבצע פעולות תכף אנחנו נדגים את זה בדוגמה באקליפס.
איזה סוגי מתודות אנחנו מכירים? יש לנו כמה סוגי מתודות. המתודה הבסיסית שאנחנו מכירים זה ה-Public Static Void Main, תכף אנחנו נראה אותה, זו מתודת הרצה.
הג'אווה מזהה את הביטוי הזה Public Static Void Main ומאפשרת לנו לבצע את הקוד. סוג אחר של מתודה היא מתודה שהיא לא מתודת הרצה, אפשר להשתמש בה, אפשר להפעיל אותה, אנחנו נראה בדוגמה.
אבל אי אפשר להריץ אותה בפני עצמה. איך להשתמש בזה? בואו נראה דמו קצר על הנתונות. אני עובר לסביבת העבודה שלי, ל Eclipse, יצרתי פרויקט, קראתי לו Practice Method, בתוך הספריית src יצרתי פקקט שנקרא Practice 1 ופה אני אצור קלאס חדש.
הקלאס הזה נקרא Practice 1 ואני מציין פה את הביטוי Public Static Voidman, מה שזה אומר זה אומר שייווצר לי בתוך הקלאס שנקרא פרקטיס אחד את המתודת הרצה שלי הפאבליק סטטיק ווידמן ולא הפאבליק סטטיק ווידמן לא הייתי יכול להריץ את הקלאס שלי את הקלאס שלי בעצם בוא נראה אני מעתיק סיסו ואני עושה השלמה סיסו סיסו ואני כותב פה הלו ואני מוכר בבקש ימני
רנס Java אפליקיישן ואני רואה שהוא מדפיס לי אם אני אשנה את הביטוי הזה public static void main ו-public static void main אחד ואני אנסה להריץ את זה, בעצם יש לי הודעת שקיעה exception מהג'אווה, הוא לא מזהה את הביטוי public static void main והוא לא מאפשר לי להריץ את זה אם אני אחזיר את זה, אז בעצם יש לי מתודת הרצה, זו המתודה שלי, היא מתוחמת בסוגריים מסולסלות,
סוגריים מסולסלים ויש לנו את הסוגריים המסולסלים של הקלאס, אז יש לנו את השתי יחידות, את הקלאס ואת המתודה בתוכו.
בואו נראה סוג אחר נוסף של מתודות. כשאנחנו רוצים לכתוב מתודה פשוטה, רגילה, ב-Java אנחנו נקרא לה מתודה סטטית. בואו נדגים קודם כל למה אנחנו צריכים מתודה.
בואו נדמיין שיש לנו מערך מסוג int, כמו שלמדנו על מערכים. אני מצהיר על מערך int, סוגריים מרובעים, ואני אקרא לזה grades 1 או a, תחילה של מערך ra, רייטס אחד ואמרנו שאנחנו יכולים להתחיל את המערך שלנו כבר בהצהרה שלו לעשות לו initialize לערכים שבתוכו יש לי גיליון ציונים
מספר אחת קראתי לו בשם ופה אני אכניס ציונים לדוגמה 75 90 ו-60 אוקיי ואני רוצה לברר מה הממוצע של גיליון הציונים שלי בואו נוסיף עוד כמה אוקיי ואני אני רוצה לדעת את הממוצע של הציונים שלי.
אז מה שאני צריך לעשות עכשיו זה לבצע איזושהי פעולה של סכום של כל הציונים שמופיעים בגיליון וחלוקה למספר האיברים במערך הזה.
למדנו את הדברים האלה, בואו נראה, נעשה את זה. מערך ולולאת 4 בדרך כלל הולכים ביחד, אז בואו נראה. אני פותח לולאת 4 כמו שלמדנו את הלולאה, אינדקס איי אני קובע שמאתחל אותו באפס נקודה פסיק איי כל עוד איי קטן מהגודל של המערך אז אני עושה פה איי גרייטס אני קונטרול ספייס
איי קליפס משלים לי נקודה לנקס זה הגודל של המערך נקודה פסיק ואני צריך לקדם את המערך שלי פה אני אתחיל את הפעולה של הסכימה איך אני אעשה את זה אני אפנה אלא איבר של המערך אני אתן לו אינדקס i הוא יתחיל באפס ויתקדם וכל פעם הוא יהיה בגודל של ה.. הוא בעצם יכיל את הערך של ה.. כל תו ותו המערך מחוץ לפונקציה למתודה אני אצור איזשהו אינק
וקרא לו סאם יתחיל אותו באפס ואני אני יתחיל גם אותו באפס אז יש לנו שני אינטג'רים שאני משתמש בהם ואני אגיד ככה, הסם שלי שווה ופלוס מה שיש לי כבר בסם כדי לחשב את הממוצע.
זה פעולת חישוב פשוטה של הסם, כל הציונים שיש לי חלקי הסכום כדי להגיע לממוצע, חלקי המספר האיברים, יש לי פה חמישה איברים ואני סוכם את כל הציונים, מחלק ל-5 ואז יש לי בעצם את ממוצע הציונים אז sum שווה grade 1 הערך שבאindex זאת אומרת 0 75 ועוד 90 אחרי שהוא מתקדם ועוד 60 ועוד 80 ועוד 50 ואז בסוף כדי להגיע
לממוצע אני צריך מחוץ לעלודה אחרי שהוא מסיים לעשות את כל הsum להגיד average שווה sum חלקי הלנקס של המערך שלי אני מגיע לסכום האיברים במערך בעזרת המתודה lengths הצמודה למערך הזה ואני יכול להדפיס עכשיו את התוצאה סיסון אוקיי ואני משרשר את התוצאה אוקיי אז יש לי פה אני מריץ אותו ויש לי פה בעצם את
התוצאה האינטיג'ר הוא לא מכיל נתונים עשרוניים ולכן הוא מעגל את התוצאה לצד הנמוך של החישוב. זה הממוצע של 75, 90, 60, 80 ו-50 הוא 71 ללא נקודה 20. אבל בואו ניצור מצב שאני רוצה בעצם ליצור עוד כמה גיליונות ציוניים, זאת אומרת יש לי כמה תלמידים ואני רוצה לשנות בעצם את
הנתונים פה, אני כותב פה 95, 97 ו-82 וכדומה ויש לי עוד נתונים אחרים. אוקיי, אז יש לנו כמה גיליונות ציוניים ואני רוצה לחשב את הציונים שלהם גם.
בעצם מה שאני אצטרך לעשות במצב הנוכחי, אני אצטרך בעצם לשכפל את הקוד הזה ושוב לשכפל אותו בעצם ולקרוא לכל