היכן מתחיל לימוד שפת תכנות? מאז כתיבת התוכנית הראשונה. באופן מסורתי, התוכנית הראשונה נקראת "Hello world", וכל הפונקציונליות שלה מורכבת מהוצאת הביטוי "Hello world!" לקונסולה. תוכנית פשוטה כזו מאפשרת למתכנת חדש להרגיש שמשהו עובד.
"שלום עולם" בשפות תכנות שונות
הקוד יהיה שונה בשפות תכנות שונות: פסקל "שלום עולם"begin
writeln ('Hello, world.');
end.
ג "שלום עולם"
int main() {
printf("Hello, World!");
return 0;
}
C# "שלום עולם"
static void Main(string[] args)
{
System.Console.WriteLine("Hello World!");
}
Java "שלום עולם"
public static void main(String[] args) {
System.out.println("Hello World!");
}
למרות הקוד השונה, לכל התוכניות יש פקודה משותפת המפיקה טקסט ישירות לקונסולה:
- פסקל -
writeln
; - ג -
printf
; - C# -
System.Console.WriteLine
; - Java -
System.out.println
.
למידע נוסף על פלט מסוף ב-Java
כפי שכבר הבנת, כדי להוציא טקסט לקונסולה, ב-Java אתה צריך להשתמש בפקודהSystem.out.println()
. אבל מה המשמעות של סט הדמויות הזה? למי שמכיר את שפת Java ומונחי OOP בסיסיים (לסטודנטים שלמדו את קורס JavaRush עד רמה 15 בערך), התשובה ברורה: "כדי להוציא טקסט לקונסולה, אנו ניגשים לשדה הסטטי של out
הכיתה System
שבו אנו קוראים למתודה println()
, וכארגומנט אנו מעבירים אובייקט של המחלקה String
". אם המשמעות של האמור לעיל מעורפלת עבורך, אז אנחנו נבין את זה! פקודה זו מורכבת משלוש מילים: System out println
. כל אחד מהם מייצג סוג של ישות המספקת את הפונקציונליות הדרושה לעבודה עם הקונסולה. System
- ישות (ב-Java זה נקרא מחלקה) הפועלת כ"גשר" המחבר את התוכנית שלך לסביבה שבה היא פועלת. out
- הישות המאוחסנת בפנים System
. כברירת מחדל, מתייחס לזרם הפלט של המסוף. תוכל לקרוא עוד על זרמי I/O ב-Java כאן . println
- שיטה הנקראת לישות היוצאת כדי לציין את האופן שבו המידע ייצא למסוף. בואו נסתכל על כל אלמנט משרשרת זו ביתר פירוט.
מערכת
כפי שכבר ציינו,System
מדובר בישות מסוימת (מחלקה) המספקת למפתח יכולת לתקשר עם הסביבה שלו: כלומר, מערכת ההפעלה שתחתיה פועלת התוכנית. מכיוון שהקונסולה היא אפליקציה המותקנת בתוך מערכת ההפעלה (שורת הפקודה, Shell עבור Windows ו-Terminal עבור Linux), מתברר למה משמשת הישות System
- ליצור קשר בין התוכנית שלנו לבין "העולם החיצון". בנוסף לחיבור לקונסולה, System
יש לו פונקציונליות נוספת:
-
גישה למשתני סביבת מערכת ההפעלה:
System.getenv("JAVA_HOME")
-
הפסקת התוכנית באופן מיידי:
System.exit(0)
קוטע את הפעלת התוכנית על ידי עצירת ה-Java Virtual Machine;
-
קבל את מפריד השורות המשמש במערכת הפעלה זו:
System.lineSeparator()
-
קבלת זמן המערכת הנוכחי באלפיות שניות:
ועוד הרבה פונקציונליות שימושית.System.currentTimeMillis();
מחזירה את הערך של משתנה הסביבה JAVA_HOME, המוגדר בהגדרות מערכת מערכת ההפעלה. בעת התקנת Java, כנראה שנתקלת בה;
System
מכילה שדות המאחסנים קישורים לישויות אחרות:
out
- הקישור המוכר ממילא למהות זרם פלט המידע לקונסולה;in
- קישור לישות האחראית לקריאת מידע קלט מהמסוף.err
- דומה מאודout
, אבל נועד להציג שגיאות.
System
, המתכנת יכול להשתמש בהן למטרותיו שלו. Java משתמשת באופרטור "." כדי להתייחס לאלמנט שנמצא בתוך אלמנט אחר. לפיכך, כדי לגשת לישות זרם הפלט של המסוף, עליך לכתוב את הקוד:
System.out
עכשיו בואו נבין מה זה out
.
הַחוּצָה
out
הוא שם של משתנה המאחסן הפניה לאובייקט (ישות) מסוג PrintStream
. אובייקט זה מוגדר בצורה כזו שכל המידע שנכתב אליו מגיע בסופו של דבר למסוף. אז, אובייקט out
הוא מופע של המחלקה PrintStream
, ואתה יכול לקרוא לשיטות המתאימות עליו:
print()
- פלט מידע מועבר. זה יכול לקחת מספרים, מחרוזות ואובייקטים אחרים כארגומנטים;printf()
- פלט מעוצב. עיצוב הטקסט המועבר באמצעות מחרוזות וארגומנטים מיוחדים;println()
- פלט של מידע משודר והזנת קו. זה יכול לקחת מספרים, מחרוזות ואובייקטים אחרים כארגומנטים;- כמה שיטות אחרות שאיננו מעוניינים בהן בהקשר של מאמר זה.
print()
לבין println()
הוא קטן. הדבר היחיד ששונה println()
הוא שהוא יוסיף קו חדש במקומנו, מה שהופך אותו לפופולרי יותר print()
. אם נקרא לשיטה שלוש פעמים print()
עם טיעון של "שלום עולם!", התוצאה תהיה שורה כזו:
Hello World!Hello World!Hello World!
בעוד שהשיטה println()
תייצר כל פלט בשורה חדשה:
Hello World!
Hello World!
Hello World!
כדי לקרוא למתודה על אובייקט, נעשה שימוש באופרטור "." המוכר. לפיכך, קריאה למתודה println()
על הישות החוצה נראית כך:
out.println()
println
כמו שפות תכנות רבות אחרות, ה-println של Java הוא קיצור של "שורת הדפסה". אנחנו כבר יודעים שזוprintln()
שיטה שצריך לקרוא לישות out
. אם אתה חדש ב-Java ובתכנות בכלל, אז שיטות הן קבוצה מסוימת של פקודות המשולבות באופן הגיוני. במקרה שלנו, println()
זהו בלוק של פקודות ששולח טקסט לזרם הפלט ומוסיף מעבר שורה בסוף. ב-Java, שיטות יכולות לקחת ארגומנטים. כאשר אנו קוראים למתודה, הארגומנטים מועברים בתוך סוגריים.
println(“Hello World!”);
בתורו, הקוד שנמצא בתוך השיטה מקבל את הטקסט שהעברנו ושולח אותו לפלט.
בואו נבנה שרשרת הגיונית
כדי להוציא טקסט למסוף, מתכנת Java צריך לעשות את הפעולות הבאות:- צור קשר עם גורם שיכול לחבר את האפליקציה שלנו למסוף -
System
; - גישה לזרם הפלט של המסוף -
System.out
; - קרא לשיטה שכותבת מידע למסוף -
System.out.println
; - שלח את הטקסט להקלטה -
System.out.println(“Hello World!”);
GO TO FULL VERSION