התוכנית הראשונה

Hello World

נתחיל עם התוכנית הקלאסית שכל מתכנת כותב ראשונה - הדפסת "Hello, World!" אל המסך:

public class Main {
    public static void main(String[] args) {
        System.out.println("Hello, World!");
    }
}

נראה הרבה בשביל שורה אחת, נכון? ב-Java אפילו הדפסה פשוטה חייבת לשבת בתוך class ובתוך main. בואו נפרק את הקוד ונבין כל חלק.

פירוק שורה-שורה

public class Main

  • public - המחלקה גלויה ונגישה מכל מקום.
  • class - הכרזה על מחלקה. ב-Java כל שורת קוד חייבת לשבת בתוך מחלקה.
  • Main - שם המחלקה. נהוג שיתחיל באות גדולה, בסגנון PascalCase.

🔔 חוק חשוב:
שם הקובץ חייב להיות זהה לשם המחלקה הציבורית.
כלומר, המחלקה Main חייבת לשבת בקובץ בשם Main.java.

public static void main(String[] args)

זו נקודת הכניסה של התוכנית - השורה הראשונה שה-JVM מריץ כשהתוכנית עולה.

  • public - נגיש מבחוץ, כדי שה-JVM יוכל לקרוא לו
  • static - שייך למחלקה עצמה ולא לאובייקט מסוים שלה
  • void - הפונקציה לא מחזירה שום ערך
  • main - השם המדויק שה-JVM מחפש כדי להתחיל
  • String[] args - מערך מחרוזות שדרכו מגיעים ארגומנטים משורת הפקודה

החתימה הזו חייבת להיות מדויקת - כל סטייה ממנה תמנע מה-JVM להריץ את התוכנית.

System.out.println("Hello, World!");

  • System - מחלקה מובנית שמרכזת כלי מערכת
  • out - אובייקט הפלט הסטנדרטי, כלומר המסך
  • println - פעולה שמדפיסה טקסט ואז יורדת שורה

הנקודה-פסיק (;) שבסוף היא חובה בתום כל פקודה ב-Java - אחד ההבדלים הבולטים לעומת Python או JavaScript.

קומפילציה והרצה

javac Main.java    # יוצר Main.class (bytecode)
java Main          # מריץ את המחלקה

פלט:

Hello, World!

println מול print

System.out.println("שורה ראשונה");   // מדפיס ויורד שורה
System.out.print("ללא ירידת שורה ");  // לא יורד שורה
System.out.print("המשך באותה שורה");

הערות בקוד

// הערה בשורה אחת

/*
   הערה בכמה
   שורות
*/

/**
 * הערת Javadoc - משמשת לתיעוד פונקציות ומחלקות
 * @param args ארגומנטים משורת הפקודה
 */

מבנה בסיסי שצריך לזכור

public class ClassName {
    public static void main(String[] args) {
        // הקוד שלך כאן
    }
}

זהו השלד הקבוע - כל תוכנית ב-Java נפתחת במבנה הזה.

בדקו את עצמכם

נסו לענות לבד לפני שאתם פותחים את התשובה.

  1. המחלקה הציבורית נקראת Main. איך חייב להיקרא הקובץ?

    1. Main.class
    2. כל שם שרוצים
    3. main.java
    4. Main.java
    הצגת התשובה

    תשובה ד. ב-Java שם הקובץ חייב להיות זהה לשם המחלקה הציבורית, כולל אותיות גדולות וקטנות.

  2. מה ההבדל בין println ל-print?

    1. print מהיר יותר
    2. println מדפיס ויורד שורה, print לא יורד שורה
    3. println מדפיס רק מספרים
    4. אין הבדל
    הצגת התשובה

    תשובה ב. println מוסיף ירידת שורה אחרי הטקסט, ו-print ממשיך באותה שורה.

  3. איך מריצים תוכנית שקומפלה ל-Main.class?

    1. java Main
    2. javac Main
    3. java Main.class
    4. run Main.java
    הצגת התשובה

    תשובה א. לפקודה java מעבירים את שם המחלקה בלבד, בלי הסיומת .class.