الدرس 4: جافا - الإخراج (كيف يتحدث برنامجك؟) 🗣️🖥️
مرحباً بك مجددًا أيها المبرمج المبدع! 🎨✨ في الدروس السابقة، تعرفنا على جافا، جهزنا أدواتنا، وتعلمنا قواعد بناء الجملة الأساسية. لقد كتبنا حتى برنامج “أهلاً بالعالم!” الذي عرض رسالة على الشاشة. هذا “العرض على الشاشة” هو ما نسميه الإخراج (Output). اليوم، سنتعمق أكثر في كيفية جعل برامج جافا “تتحدث” إلينا أو إلى المستخدم، وكيف تعرض المعلومات بطرق مختلفة.
Output
تخيل أن برنامجك يقوم بعمليات حسابية معقدة أو يتخذ قرارات مهمة. كيف ستعرف النتيجة؟ كيف سيعرض برنامجك هذه المعلومات؟ هذا هو دور أوامر الإخراج! إنها النافذة التي يطل بها برنامجك على العالم الخارجي. هيا نكتشف أسرارها!
صديقنا القديم: System.out.println()
📢
لقد التقينا به من قبل، أليس كذلك؟ الأمر System.out.println()
هو الطريقة الأكثر شيوعًا في جافا لطباعة نص أو قيمة متغير إلى وحدة التحكم (Console) أو نافذة المخرجات (Output window).
System.out.println()
Console
Output window
دعنا نتذكر كيف يعمل:
System
: هو كلاس (Class) مُعرف مسبقًا في جافا يوفر الوصول إلى موارد النظام (مثل الإدخال والإخراج).out
: هو كائن (Object) ثابت (static) داخل الكلاسSystem
يمثل “مجرى الإخراج القياسي” (standard output stream)، والذي يكون عادةً الشاشة أو وحدة التحكم.println()
: هي دالة (Method) تابعة للكائنout
. كلمةprintln
هي اختصار لـ “print line”. وظيفتها هي طباعة النص أو القيمة المُمررة إليها، ثم تقوم تلقائيًا بتحريك المؤشر إلى سطر جديد بعد الطباعة. هذا يعني أن أي أمر طباعة تالٍ سيبدأ من سطر جديد.
System
Class
out
Object
static
standard output stream
println
print line
Method
✨ مثال عملي: طباعة عدة أسطر ✨
تخيل أننا نريد طباعة اسمنا وهوايتنا المفضلة، كل في سطر منفصل. باستخدام System.out.println()
، الأمر سهل جدًا:
public class MyInfo {
public static void main(String[] args) {
System.out.println("اسمي هو: مبرمج جافا الصغير");
System.out.println("هوايتي المفضلة هي: كتابة الأكواد الممتعة!");
System.out.println("جافا رائعة!");
}
}
النتيجة المتوقعة على الشاشة:
اسمي هو: مبرمج جافا الصغير
هوايتي المفضلة هي: كتابة الأكواد الممتعة!
جافا رائعة!
لاحظ كيف أن كل جملة ظهرت في سطر جديد تلقائيًا.
الطباعة بدون سطر جديد: تعرف على System.out.print()
📜
ماذا لو أردنا طباعة عدة أشياء على نفس السطر، دون الانتقال إلى سطر جديد بعد كل طباعة؟ هنا يأتي دور صديقنا الآخر: System.out.print()
.
System.out.print()
الفرق الرئيسي بين print()
و println()
هو أن print()
تطبع النص أو القيمة المُمررة إليها، ولكنها لا تحرك المؤشر إلى سطر جديد. أي أمر طباعة تالٍ سيكمل الطباعة من نفس النقطة على نفس السطر.
✨ مثال عملي: طباعة على نفس السطر ✨
لنفترض أننا نريد طباعة اسمنا وعمرنا على نفس السطر:
public class SameLineInfo {
public static void main(String[] args) {
System.out.print("اسمي: مراد، "); // طباعة بدون سطر جديد
System.out.print("عمري: 10 سنوات. "); // طباعة بدون سطر جديد
System.out.println("أحب البرمجة!"); // طباعة مع سطر جديد في النهاية
}
}
النتيجة المتوقعة على الشاشة:
اسمي: مراد، عمري: 10 سنوات. أحب البرمجة!
لاحظ كيف أن أول عبارتين طُبعتا بجانب بعضهما البعض على نفس السطر. العبارة الأخيرة استخدمت println()
، لذا إذا كان هناك أي طباعة بعدها، ستبدأ من سطر جديد.
نصيحة: يمكنك استخدام System.out.println();
بدون أي شيء بين القوسين لطباعة سطر فارغ، وهو مفيد لترتيب المخرجات.
طباعة الأرقام والمتغيرات 🔢
أوامر print()
و println()
ليست فقط لطباعة النصوص (السلاسل النصية الموضوعة بين " "
). يمكنك أيضًا استخدامها لطباعة الأرقام مباشرة، أو قيم المتغيرات (التي سنتعلم عنها بالتفصيل قريبًا!).
✨ مثال عملي: طباعة أرقام وقيم ✨
public class PrintNumbers {
public static void main(String[] args) {
System.out.println(123); // طباعة رقم صحيح
System.out.println(3.14159); // طباعة رقم عشري
int score = 95; // (سنتعلم عن المتغيرات قريبًا!)
System.out.println(score); // طباعة قيمة المتغير score
// يمكنك أيضًا دمج النصوص مع الأرقام أو المتغيرات باستخدام علامة + (الجمع)
System.out.println("درجتي هي: " + score + " نقطة!");
}
}
النتيجة المتوقعة على الشاشة:
123
3.14159
95
درجتي هي: 95 نقطة!
مدهش، أليس كذلك؟ علامة +
هنا تقوم بـ “ربط” أو “دمج” السلاسل النصية مع الأرقام أو قيم المتغيرات لتحويلها كلها إلى نص واحد يتم طباعته.
Concatenation
✨ دورك الآن لتجعل برنامجك يتحدث! هيا اكتب بنفسك! ✨
الآن جاء دورك لتجربة سحر الإخراج! أفضل طريقة لفهم هذه الأوامر هي باستخدامها بنفسك. تذكر، الهدف هو أن تتمكن من كتابة الأكواد، ترجمتها، وتشغيلها على جهازك الخاص لتشاهد كيف يتحدث برنامجك إليك.
جرب هذه الأفكار في محرر الأكواد الفارغ أدناه (أو على جهازك):
- اكتب برنامجًا يطبع اسمك في سطر، وعمرك في سطر آخر، ومدينتك في سطر ثالث باستخدام
System.out.println()
. - عدّل البرنامج السابق ليطبع اسمك وعمرك ومدينتك كلها على نفس السطر، مفصولة بمسافات أو فواصل، باستخدام
System.out.print()
(واستخدمSystem.out.println()
في النهاية إذا أردت). - اكتب برنامجًا يطبع ناتج عملية حسابية بسيطة، مثلاً
5 + 3
. يمكنك كتابةSystem.out.println(5 + 3);
مباشرة! - حاول طباعة رسالة ترحيب مخصصة تحتوي على اسمك (كأنك تعرف متغيرًا للاسم وتطبعه).
هيا، انطلق وأظهر إبداعك في محرر الأكواد الفارغ! لا تخف من التجربة.
محرر جافا التفاعلي
بعد كتابة الكود، لا تنسَ (إذا كنت على جهازك) حفظه بامتداد .java
، ترجمته باستخدام javac
، وتشغيله باستخدام java
. شاهد كيف تستجيب وحدة التحكم لأوامرك!
تنسيق أكثر تقدمًا مع System.out.printf()
(نظرة سريعة للمستقبل 🔭)
في بعض الأحيان، قد تحتاج إلى تحكم أكبر في كيفية ظهور المخرجات، مثل تحديد عدد الخانات العشرية لرقم، أو محاذاة النصوص بطريقة معينة. لهذا الغرض، توجد دالة أخرى قوية اسمها System.out.printf()
(اختصار لـ “print formatted”).
System.out.printf()
print formatted
طريقة عمل printf()
مختلفة قليلاً وتستخدم “مُحددات التنسيق” (format specifiers) مثل %s
للنصوص، %d
للأعداد الصحيحة، %f
للأعداد العشرية. سنتعرف عليها بالتفصيل في دروس متقدمة، لكن من الجيد أن تعرف بوجودها!
format specifiers
%s
%d
%f
ملخص أدوات الإخراج اليوم: 🎤✨
System.out.println()
: يطبع النص أو القيمة ثم ينتقل إلى سطر جديد. صديقك المفضل لمعظم احتياجات الطباعة!System.out.print()
: يطبع النص أو القيمة ويبقى على نفس السطر. مفيد لطباعة عدة أجزاء متتالية.- طباعة الأرقام والمتغيرات: يمكنك طباعة الأرقام مباشرة أو قيم المتغيرات.
- دمج النصوص (Concatenation): باستخدام علامة
+
لدمج النصوص مع الأرقام أو المتغيرات في جملة طباعة واحدة. - التجربة هي المفتاح: أفضل طريقة لتعلم الإخراج هي بكتابة الكثير من أوامر الطباعة ورؤية نتائجها.
أنت رائع! 👍 لقد أتقنت اليوم كيف تجعل برامج جافا تتواصل وتعرض المعلومات. هذه مهارة أساسية جدًا، فبدون الإخراج، لن نتمكن من رؤية نتائج عمل برامجنا أو التفاعل معها. كلما أصبحت أكثر راحة مع أوامر الإخراج، زادت قدرتك على فهم وتصحيح أخطاء برامجك.
في الدرس القادم، سنتحدث عن “التعليقات في جافا (Java Comments)” – وهي طريقة لكتابة ملاحظات داخل الكود لنفسك أو للمبرمجين الآخرين دون أن تؤثر على تنفيذ البرنامج. استعد لتنظيم أفكارك داخل الكود! إلى اللقاء أيها النجم! 👋