الأسماء في Java
أنت تريد أن يعرض سطر الكتابة أي كلمة يحتفظ بها اسم. في الصفحة السابقة كانت الكلمة بين علامتي الاقتباس على سطر الكتابة نفسه، فتغيير الشاشة كان يعني تعديل ذلك السطر. في هذه الصفحة تعطي الكلمة اسمًا، plant، وسطر الكتابة يستخدم ذلك الاسم. تنتقل علامتا الاقتباس إلى السطر الذي يحتفظ بالكلمة. System.out.println(plant) بلا علامتي اقتباس، والشاشة ما زالت تعرض leaf. أنت لا تثبّت Java من جديد. أنت لا تضيف ملاحظة، ولا تتعلم طريقة ثانية لإنهاء السطر. أنت تعرف أن println يكتب الحروف وينهي السطر. العمل الجديد هو الاسم الذي يحتفظ بتلك الحروف.
الاسم يحتفظ بالحروف
افتح Mint.java. يبقى اسم الملف Mint.java، لأن public class Mint ما زال اسم الملف. هذه الصفحة لا تعيد تسمية الملف، ولا تبدّل سطر public class Mint. داخل main، فوق سطر الكتابة، أضف سطرًا ينشئ اسمًا ويحتفظ بكلمة فيه: String plant = "leaf";. تقول String إن هذا الاسم يحتفظ بحروف. plant هو الاسم، ويبدأ بحرف p صغير. علامة = تحتفظ بالكلمة. علامتا الاقتباس تحملان leaf، بأحرف صغيرة، وهي الكلمة نفسها التي وضعتها الصفحة السابقة على سطر الكتابة. الفاصلة المنقوطة تنهي هذا السطر. ثم غيّر سطر الكتابة حتى لا يبقى فيه اقتباس. يصير System.out.println(plant);. الاسم plant عارٍ. لا علامة اقتباس قبل p ولا علامة بعد t. احفظ الملف.
الملف الذي تحتفظ به
احفظ هذا باسم Mint.java. هذا هو الملف الذي تحتفظ به هذه الصفحة. الاسم plant يحتفظ بكلمة leaf. سطر الكتابة يستخدم ذلك الاسم ولا يحتوي على علامتي اقتباس.
public class Mint {
public static void main(String[] args) {
String plant = "leaf";
System.out.println(plant);
}
}
اقرأ من الأعلى وقرر ماذا يمكن أن تتلقاه الشاشة. public class Mint يسمّي الملف. لا يكتب الشاشة. public static void main(String[] args) هو المكان الذي تبدأ منه Java. لا كلمة من تلك الكلمات حرف للشاشة. كلمة String في سطر main ليست String السطر التالي. سطر main هو البداية. السطر التالي هو الذي ينشئ الاسم. String plant = "leaf"; يحتفظ بالحروف l و e و a و f في الاسم plant. هذا السطر لا يكتب تلك الحروف على الشاشة. الاحتفاظ ليس كتابة. تبقى الشاشة فارغة حتى نهاية هذا السطر. السطر الذي يليه، System.out.println(plant);، هو سطر الكتابة. تقرأ Java الاسم plant، وتكتب الحروف التي يحتفظ بها ذلك الاسم، وتنهي السطر. تعرض الشاشة leaf. سطر واحد. بلا علامتي اقتباس. حروف الاسم نفسه، plant، ليست على الشاشة. System ليست على الشاشة. الفاصلة المنقوطة ليست على الشاشة.
شغّله بالطريقة نفسها. في المجلد الذي فيه هذا Mint.java، اكتب javac Mint.java. حين يكون الملف سليمًا، هذا الأمر لا يكتب أي سطر. وجود اسم في الملف لا يجعل javac يكتب سطرًا، ولا يجعله يفشل. ثم اكتب java Mint. لا تكتب .java بعد java. تعرض الشاشة leaf. إذا عرضت الشاشة plant، فسطر الكتابة فيه علامتا اقتباس حول plant. الملف الذي تحتفظ به ليس كذلك. إذا كانت الشاشة ما زالت تعرض mint، فالكلمة المحتفظ بها ما زالت mint، أو سطر الكتابة ما زال System.out.println("mint");. انظر إلى الحروف بين علامتي الاقتباس في سطر String، وانظر هل يستخدم سطر الكتابة الاسم العاري. لا تعيد تثبيت Java لشاشة تعرض الكلمة الخطأ.
غيّر الكلمة، وأبقِ سطر الكتابة
فائدة الاسم أن سطر الكتابة يبقى مكانه وتتغير الكلمة المحتفظ بها. تحت سطر الكتابة الأول، احتفظ بكلمة جديدة في الاسم نفسه، ثم اكتب الاسم مرة أخرى. سطر الاحتفاظ الجديد هو plant = "stem";. لا يبدأ بـ String. plant موجود من قبل، فهذا السطر يستبدل فقط الحروف التي يحتفظ بها الاسم. تحل stem محل leaf، بأحرف صغيرة. سطر الكتابة التالي هو مرة أخرى System.out.println(plant);. شكله شكل سطر الكتابة الأول. للشاشة الآن سطران، لأن كل println ينهي سطره. السطر الأول leaf، من الحروف التي كان الاسم يحتفظ بها في تلك اللحظة. السطر الثاني stem، من الحروف التي يحتفظ بها الاسم بعد plant = "stem";.
هذا هو الملف الثاني. ليس الملف الذي تحتفظ به. الملف الذي تحتفظ به فيه سطر احتفاظ واحد وسطر كتابة واحد، وشاشته leaf. احفظ هذا الملف الثاني باسم Mint.java حين تريد أن ترى الكلمة تتغير، ثم أعد سطر الاحتفاظ الواحد وسطر الكتابة الواحد.
public class Mint {
public static void main(String[] args) {
String plant = "leaf";
System.out.println(plant);
plant = "stem";
System.out.println(plant);
}
}
في المجلد نفسه اكتب javac Mint.java. الملف سليم، فلا يكتب javac أي سطر. يُسمح لسطر الاحتفاظ الثاني ألا يحتوي على String، وهذا الغياب لا يجعل javac يفشل. ثم اكتب java Mint. تعرض الشاشة leaf، والسطر التالي من الشاشة stem. سطران. leaf في الأعلى لأن أول System.out.println(plant); يعمل بينما plant ما زال يحتفظ بـ leaf. stem تحته لأن ثاني System.out.println(plant); يعمل بعد plant = "stem";. الاسم plant ليس على أي من سطري الشاشة. إذا قال سطرا الشاشة كلاهما leaf، فسطر الاحتفاظ الثاني غائب أو ما زال يقول "leaf". إذا قال كلاهما stem، فسطر الاحتفاظ الأول يقول "stem" من قبل، أو سطر الكتابة الأول يقع تحت سطر التغيير. الشاشة تتبع ترتيب الأسطر في الملف. حين يحتفظ سطر لاحق بكلمة جديدة، لا تُبقي الشاشة الكلمة القديمة، ولا تقفز إلى stem قبل أن يُنفَّذ سطر الاحتفاظ ذاك.
لا تكتب String مرة ثانية للاسم نفسه. String plant = "stem"; إذا وُضع تحت سطر أنشأ plant من قبل، فهو خطأ آخر. ذلك السطر يحاول إنشاء plant من جديد. يكتب javac خطأ ولا يبقى صامتًا. لا تحتاج إلى كلمات ذلك الخطأ بحرفها. المفيد أن javac كتب سطرًا، فلا تكتب java Mint بعد. الإصلاح أن تحذف String الثانية وتترك plant = "stem";. يُنشأ الاسم مرة واحدة. الأسطر اللاحقة تغيّر فقط الحروف التي يحتفظ بها. في الملف الذي تحتفظ به لا سطر احتفاظ ثانٍ أصلًا. بعد أن ترى leaf ثم stem، أعد ذلك الملف: سطر واحد String plant = "leaf"; وسطر واحد System.out.println(plant);.
علامتا الاقتباس حول الاسم تكتبان الاسم
سطر الكتابة في الملف الذي تحتفظ به هو System.out.println(plant); بلا علامتي اقتباس. إذا وضعت علامتي اقتباس حول الاسم، يصير السطر System.out.println("plant");. هاتان العلامتان تفعلان ما فعلته علامات الاقتباس في الصفحة السابقة. تحددان حروفًا للشاشة. الحروف بينهما هي p و l و a و n و t. لا تبحث Java عن الاسم، لأن الكلمة بين علامتي اقتباس ليست اسمًا. يمكن أن يحتفظ الاسم plant بكلمة leaf في السطر أعلاه، والشاشة تعرض plant مع ذلك. الكلمة المحتفظ بها، leaf، لا تُكتب، لأن سطر الكتابة لم يستخدم الاسم قط. استخدم كلمة بين علامتي اقتباس يتفق أنها تُهجى مثل الاسم.
هذا هو الملف الثالث. ليس الملف الذي تحتفظ به. احفظه فقط إلى أن ترى السطر الواحد plant، ثم أزل علامتي الاقتباس من سطر الكتابة.
public class Mint {
public static void main(String[] args) {
String plant = "leaf";
System.out.println("plant");
}
}
اكتب javac Mint.java. الملف سليم، فلا يكتب javac أي سطر. علامتا الاقتباس حول plant مسموح بهما. لا تجعلان javac يفشل. ولا تجعلان الشاشة تعرض الكلمة المحتفظ بها. ثم اكتب java Mint. تعرض الشاشة plant. سطر واحد. بلا علامتي اقتباس. ليست leaf. وليست stem. إذا أردت leaf، فيجب أن يكون سطر الكتابة الاسم العاري System.out.println(plant);. علامتا الاقتباس مكانهما سطر الاحتفاظ، حول leaf، لا سطر الكتابة حول الاسم. مسافة داخل علامتي الاحتفاظ تُحتفظ أيضًا. String plant = "leaf "; مع مسافة بعد f تجعل System.out.println(plant); يكتب leaf ومعها مسافة بعدها. الملف الذي تحتفظ به ليس فيه تلك المسافة. شاشة الملف الذي تحتفظ به هي leaf، أربعة حروف، ثم ينتهي السطر.
يجب أن يوجد الاسم أولًا
تقرأ Java الملف من الأعلى. السطر الذي ينشئ الاسم يجب أن يكون فوق السطر الذي يستخدم الاسم. إذا وضعت System.out.println(plant); أولًا، ثم كتبت String plant = "leaf";، فسطر الكتابة يستخدم اسم plant قبل أن يوجد plant. يكتب javac خطأ. لا يبقى صامتًا. لا شاشة تُقرأ، لأنك لا تكتب java Mint بينما javac يكتب خطأ. الإصلاح أن تعيد سطر String إلى فوق سطر الكتابة. ترتيب الملف هو الترتيب الذي تقرأ به Java. لا يُستخدم اسم في سطر أسبق من السطر الذي ينشئه.
هذا الملف الرابع ترتيبه مكسور. ليس الملف الذي تحتفظ به. احفظه فقط إلى أن يكتب javac الخطأ، ثم أعد سطر String إلى الأعلى.
public class Mint {
public static void main(String[] args) {
System.out.println(plant);
String plant = "leaf";
}
}
اكتب javac Mint.java. يكتب javac خطأ. لا تكتب java Mint. لا تحتاج إلى كلمات الخطأ بحرفها. المفيد هو نفسه في الصفحة السابقة حين غابت علامتا الاقتباس: كتب javac سطرًا، فالملف ليس سليمًا. ضع String plant = "leaf"; فوق System.out.println(plant);. احفظ. اكتب javac Mint.java مرة أخرى. الآن لا يكتب javac أي سطر. ثم يعرض java Mint كلمة leaf. الاسم leaf، من غير سطر String leaf في أي مكان، ما زال خطأ، وهو خطأ مختلف عن هذا. System.out.println(leaf); يطلب اسمًا يدعى leaf. هذا الملف لا ينشئ ذلك الاسم. الاسم الذي ينشئه يدعى plant، والكلمة التي يحتفظ بها فيه هي leaf. الكلمة والاسم ليسا الحروف نفسها. إعادة علامتي الاقتباس حول leaf على سطر الكتابة، System.out.println("leaf");، تجعل javac صامتًا أيضًا، لكنها تعيدك إلى الصفحة السابقة. هذه الصفحة تبقي الاسم العاري على سطر الكتابة وتبقي علامتي الاقتباس على سطر الاحتفاظ.
أنت الآن تستطيع أن تحتفظ بكلمة في اسم وأن تكتب تلك الكلمة من غير أن تضع الكلمة نفسها على سطر الكتابة. String plant = "leaf"; يحتفظ بـ leaf. System.out.println(plant); يكتب leaf وينهي السطر. plant = "stem"; لاحقًا يغيّر الكلمة المحتفظ بها، وprintln لاحق للاسم نفسه يكتب stem. علامتا الاقتباس حول الاسم تكتبان حروف الاسم بدل ذلك. سطر الإنشاء يجب أن يكون فوق أول سطر يستخدم الاسم. الصفحة التالية تقرأ كلمة تكتبها أنت أثناء عمل البرنامج، وتحتفظ بتلك الكلمة في اسم، فتستطيع الشاشة أن تعرض حروفًا لم تُكتب بين علامتي اقتباس في الملف.
الشاشة هي الكلمة التي يحتفظ بها الاسم
الملف الذي تحتفظ به يكتب leaf. الاسم على سطر الكتابة هو plant، وplant ليست على الشاشة. علامتا الاقتباس على سطر الاحتفاظ، حول leaf. أمر println واحد سطر واحد. تغيير الكلمة المحتفظ بها بين سطري println يغيّر سطر الشاشة الثاني فقط.
🧠 اختبر معرفتك
اختبر معرفتك
تحدى نفسك مع هذا الاختبار التفاعلي واكتشف مدى فهمك للموضوع
📝 التعليمات
- اقرأ كل سؤال بعناية
- اختر أفضل إجابة لكل سؤال
- يمكنك إعادة الاختبار عدة مرات كما تريد
- سيتم عرض تقدمك في الأعلى