PracticU

The main Arguments

בלי כתוביותעם כתוביות
PracticU › קורס יסודות התכנות - שפת JAVA - קורס ג'אווה למתחילים › The main Arguments
The main Arguments

בשיעור זה לומדים מהם הארגומנטים של פונקציית הראשית, איך מציגים אותם, איך שולחים אליהם ערכים משורת הפקודה, בונים מחשבון קטן שמקבל שני מספרים מבחוץ, ורואים כיצד להדמות זאת מתוך סביבת הפיתוח.
נושאי הסיכום המוצגים בשיעור:
1. מה הם הארגומנטים האלה: אחרי שראינו שאפשר לייצר מהאפליקציה שלנו קובץ jar ולהריץ אותו חיצונית, בואו נבין מה הם הארגומנטים שנשלחים ל-main, והארגונטים האלה הם מערך מחרוזות שניתן לשלוח מחוץ לתוכנית כאשר מפעילים את התוכנית, לדוגמה על ידי קובץ jar ניתן להרצה.
2. הצגת הפרמטרים: נניח שרוצים עכשיו להציג את הפרמטרים האלה, לוקחים מחרוזת הודעה שמכילה את אורך המערך, כדי לראות קודם כל כמה פרמטרים יש, ולאחר מכן רצים בלולאת foreach על כל איבר מהמערך, ורוצים לגשת להודעה, לשרשר ירידת שורה ולשרשר את האיבר עם סימן שוויון, ובסוף להציג את זה בחלונית ההודעה של הספרייה, כי אנחנו הולכים להריץ את זה כקובץ jar ניתן להרצה ולא תהיה לנו שם גישה לקונסולה, עם הערך שאינו בשימוש, את ההודעה, את הכותרת שלנו, אפילו אפשר להשאיר כותרת ריקה, ואת הקבוע שמציין הודעת מידע.
3. הרצה ראשונה בלי פרמטרים: קודם כל אם מריצים את התוכנית דרך סביבת הפיתוח בצורה הרגילה מקבלים שאורך המערך הוא אפס, כי אין שום תוכנית אחרת שפנתה אלינו ושלחה לנו ארגונטים, ואנחנו צריכים עכשיו לייצר jar שהוא ניתן להרצה, עושים ייצוא, בוחרים בג'אווה את הקובץ jar הניתן להרצה, ממשיכים, שומרים אותו בשולחן העבודה, בוחרים רק את התוכנית שלנו, קוראים לה בשם שמתאר הצגת פרמטרים, מסיימים, ניגשים לשולחן העבודה ויש לנו פה את קובץ ה-jar, ואם לוחצים עליו לחיצה כפולה שוב פעם מקבלים שאורך המערך הוא אפס כי איפה בדיוק שלחנו פרמטרים.
4. שליחת פרמטרים משורת הפקודה: איך אפשר לשלוח פרמטר לתוכנית, אפשר לעשות את זה על ידי שורת הפקודה, פותחים את חלון ההרצה עם הפקודה המתאימה, ניגשים לשולחן העבודה ויש לנו את הקובץ, ואם מריצים אותו בצורה כזאת שוב פעם לא שלחנו אליו פרמטרים, אבל אם רושמים פה רווח ואז רושמים את הפרמטרים שרוצים, לדוגמה כמה מילים, רואים שאלה הפרמטרים שנשלחו, יש לנו ארבעה פרמטרים ששלחנו, ואם רוצים שביטוי עם רווחים יהיה פרמטר אחד אז צריכים לעטוף אותו במרכאות, ואז הוא הופך להיות פרמטר אחד ויחיד, וכך רואים שהתוכנית שלנו יכולה לקבל ערכים ולבצע איתם פעולות.
5. למה בכלל לשלוח דבר כזה: אבל למה לנו לשלוח דבר כזה, אז בואו נייצר תוכנית אחרת שכן יש לה איזושהי משמעות מסוימת לפרמטרים שהיא מקבלת, ונניח שמבצעים מיני מחשבון כזה, שכל מה שהוא יודע לעשות זה חיבור בין שני מספרים.
6. בניית המחשבון: מוסיפים את מחלקת התוכנית, מגדירים בה את החבילה המעטפת הרגילה, מגדירים את ה-main ויודעים שמצפים לקבל שני מספרים שמגיעים לארגונטים, ולוקחים מספר שלם ראשון ששווה להמרה למספר שלם של האיבר הראשון במערך, כי האיבר במקום אפס הוא מחרוזת, ולוקחים את השני במקום אחד, ויש לנו עכשיו שני ערכים, מגדירים סכום שהוא הראשון ועוד השני, ולבסוף מציגים בחלונית ההודעה את הסכום שלהם, עם הערך שאינו בשימוש, את הסכום עצמו בתוכן ואת הכותרת שלו, ולבסוף את הקבוע שמציין הודעת מידע, ומשרשרים את זה עם איזו מחרוזת שזה יהיה בטוח מחרוזת.
7. הבעיה של הקריסה: עכשיו רוצים לבדוק את התוכנית, ואם מריצים אותה בצורה כזאת כמובן שמקבלים קריסה, מפני שאין לנו שום ארגונט במקום הראשון, הרי הארגונטים ריקים לגמרי, ובעצם צריכים לשלוח פרמטרים, ואפשר אפילו לבצע בדיקה אם אורך המערך שונה משניים, לא משנה למה, לחזור ולא לבצע שום דבר ב-main, וזה בעצם חוסך לנו את הקריסה הזאת אם לא שלחו לי שום דבר.
8. הרצת המחשבון עם פרמטרים: יוצרים מהתוכנית הזאת קובץ jar ניתן להרצה, עושים ייצוא, ממשיכים, בוחרים את הפרויקט של המחשבון הקטן, מגדירים שהשם שלו יהיה השם המתאים, מסיימים, ניגשים לקובץ והנה יש לנו אותו, ואז מזינים בשורת הפקודה את שם הקובץ עם רווח עשר רווח עשרים, והנה יש לנו את הסכום שלושים, ואם שולחים בצורה אחרת בלי פרמטרים לא קורה שום דבר בגלל הבדיקה, ואם שולחים שלושה מספרים יש יותר מדי, ונותנים לו איזה מאה ומאתיים ורואים שהוא עובד כמו שצריך, שלוש מאות, ויש לנו כאן איזשהו מיני מחשבון שאפשר להפעיל דרך שורת הפקודה.
9. מתי זה הגיוני: אז רק אם התוכנית שלנו בעצם צריכה לעבוד דרך שורת הפקודה זה יהיה הגיוני לבצע דבר כזה ולקבל מבחוץ ארגונטים, בדרך כלל, ולא משהו שאנחנו עושים בתוכנית, אבל יש תוכניות שזה ניתן לביצוע.
10. ההדמיה מתוך סביבת הפיתוח: דבר נוסף, כל פעם שרוצים לבדוק אם התוכנית עובדת או לא היינו צריכים לייצר קובץ jar ניתן להרצה, לצאת החוצה ולהריץ אותו דרך שורת הפקודה, אבל מה קורה אם רוצים לבדוק את זה מתוך סביבת הפיתוח, אז גם כאן יש לנו את האפשרות לעשות את זה, אנחנו יכולים להגיד לסביבה לבצע הדמיה ולשלוח לנו לכאן איזה ערכים שרוצים.
11. הגדרת הארגונטים בהגדרות הרצה: זה מתבצע על ידי הגדרות הרצה, פונים לכרטיסיית הארגונטים וכאן כותבים את הארגונטים שרוצים לשלוח, לדוגמה שישלחו מאה עשרים ומאתיים וארבעים, עושים הרצה, התוכנית רצה, והנה יש לנו שלוש מאות ושישים, וכל פעם שמריצים את זה עכשיו מקבלים את אותם ערכים.
12. שינוי הערכים והבדיקה: עוברים שוב להגדרות ההרצה, לארגונטים, ובואו נשנה את זה לשבע מאות, עושים החלה וסגירה, אנחנו לא חייבים להריץ את זה מההגדרות, ועכשיו אם מריצים רואים שמונה מאות ועשרים, שזה בעצם מה ששלחנו, וזאת הייתה הדמיה איך אפשר להגיד לסביבת הפיתוח, הדמה לנו כאילו שולחים לנו ארגונטים מחוץ לתוכנית.
13. המסקנה הכללית: אז אם כותבים אפליקציה שאמורה לרוץ דרך שורת הפקודה, שאמורים להריץ אותה מבחוץ ולשלוח לה ארגונטים, יש לנו אפשרות לקבל את הארגונטים כאן במיין ארגומנטס.
סיכום:
בשיעור זה הבנו שהפרמטר השנוי במחלוקת של פונקציית הראשית הוא מערך מחרוזות שמקבל ערכים מבחוץ בזמן ההפעלה, ראינו שהרצה רגילה מחזירה מערך ריק, שאפשר לשלוח ערכים בשורת הפקודה עם רווחים ביניהם ומרכאות לערך מרובה מילים, בנינו מחשבון קטן שממיר את שני הערכים למספרים ומחזיר את סכומם עם הגנה מקריסה כשהמערך אינו מלא, וגילינו שאפשר להדמות ארגונטים בהגדרות ההרצה של סביבת הפיתוח בלי לייצר את הקובץ כל פעם.
בשיעור הבא נעסוק בנושא תרגול על קבצי JAR.
SR11171HE

פרקי ההרצאה: The main Arguments

  1. 00:00

    מהם הארגומנטים שנשלחים לפונקציית main

  2. 00:43

    הצגת כל הפרמטרים שהתקבלו לתוכנית

  3. 02:19

    ייצוא ל-Runnable JAR והרצה בלי פרמטרים

  4. 03:00

    שליחת פרמטרים משורת הפקודה

  5. 03:47

    עטיפת ערך בגרשיים כפרמטר אחד

  6. 04:22

    דוגמה: מחשבון שמקבל שני מספרים

  7. 04:59

    המרת הפרמטרים למספרים וחיבורם

תמלול ההרצאה: The main Arguments

הטקסט המלא של הדקות הראשונות בהרצאה «The main Arguments» בקורס הווידאו של PracticU – כתוביות בעברית עם זמן התחלה לכל פסקה. כך תוכלו לקרוא ולחפש את הנושאים לפני שמתחילים ללמוד.

  1. 00:02

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

  2. 00:26

    בואו נראה מה הכוונה. נניח שאנחנו רוצים עכשיו להציג את הפרמטרים האלה. בואו ניקח כאן string message שווה args length, נראה קודם כל כמה פרמטרים יש, ולאחר מכן נרוץ ב-for each, string ניקח אייטם מתוך ה-args האלה, ומה שאנחנו רוצים לעשות זה לגשת ל-message, לשרשר ירידת שורה,

  3. 01:06

    ולשרשר את האייטם פלוס שווה. ובסוף להציג את זה במסג' דיאלוג בוקס הזאת, כי אנחנו הולכים להריץ את זה כ-runnable jar file ולא יהיה לנו שם הגישה לקונסול. joptionpan.showMessageDialog ואנחנו רוצים לתת כאן null, כאן אנחנו רוצים לתת את המסג', כאן אנחנו רוצים לתת את הכותרת שלנו, אפילו אפשר להשאיר כותרת ריקה, כאן אנחנו רוצים לתת

  4. 01:47

    j-option-pan.information-message. קודם כל, אם אנחנו מריצים את התוכנית דרך אקליפס בצורה כזאת של ctrl-f11, אנחנו בעצם נקבל args-length 0, כי אין שום תוכנית אחרת שפנתה אלינו ושלחה לנו ארגומנטים.

  5. 02:12

    אז אנחנו צריכים עכשיו לייצר jar שהוא runnable-jar, בואו נלך לאקספורט, נבחר ב-Java Runable Jar File, נבצע Next, בואו נשמור אותו בדסטופ, נבחר רק את התוכנית שלנו, קראתי לה Domain Arguments, ונקרא לו showMessage בצורה כזאת, נבצע Finish,

  6. 02:40

    ניגש לדסטופ, יש לנו כאן את ה-showMessage.jar, אם אני אלחץ עליו דאבל קליק, שוב פעם אנחנו נקבל args-length 0 כי איפה בדיוק שלחנו פרמטרים.

  7. 02:54

    אז איך אנחנו יכולים לשלוח פרמטר לתוכנית? אנחנו יכולים לעשות את זה על ידי ה-commandLine. אז בואו נפתח את חלון run, cmd, נבצע, בוא נשים את זה פה בצד, נבצע גלישה לדסטופ ויש לנו את הקובץ show-message.jar.

  8. 03:25

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

  9. 03:44

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

  10. 04:04

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

  11. 04:26

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

  12. 04:37

    בואו נצרף את פרוגרם, נגדיר פה את הפאקדג' פרקטי קיו, נגדיר כאן את המיין ואנחנו יודעים שאנחנו מצפים לקבל שני מספרים שמגיעים לארגומנטים. אז בואו ניקח כאן int n1 שווה ואנחנו הולכים לargs במיקום 0 אבל args במיקום 0 זה סטרינג, אז בואו ניקח את פארס אינט ונמיר אותו לאינטג'ר.

  13. 05:13

    בואו ניקח את n2 זה יהיה 1 ויש לנו עכשיו שני ערכים n1 ו-n2. בואו ניקח sum ונגדיר את n1 ועוד n2 ולבסוף בואו נציג באופשן pan את הסכום שלהם.

  14. 05:31

    אז joptionpan.show message dialog יש לנו

ההרצאה הקודמת: הרצת קבצי JAR

ההרצאה הבאה: תרגול על קבצי JAR

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

  • Main Layout
  • פרמטרים לפונקציה Main

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

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