در حال بارگذاری...

نام‌ها در 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 را نگه می‌دارد. خط نویسنده از آن نام استفاده می‌کند و گیومه ندارد.

فایلی که نگه می‌دارید

java
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 از قبل هست، پس این خط فقط حرف‌هایی را عوض می‌کند که نام نگه داشته. leaf جای خود را به stem می‌دهد، با حروف کوچک. خط نویسندهٔ بعدی باز System.out.println(plant); است. شکلش همان شکل خط نویسندهٔ اول است. صفحه حالا دو خط دارد، چون هر println خط خودش را تمام می‌کند. خط اول leaf است، از حرف‌هایی که نام در آن لحظه نگه داشته بود. خط دوم stem است، از حرف‌هایی که نام بعد از plant = "stem"; نگه می‌دارد.

این فایل دوم است. فایلی نیست که نگه می‌دارید. فایلی که نگه می‌دارید یک خط نگه‌داری و یک خط نویسنده دارد، و صفحه‌اش leaf است. وقتی می‌خواهید عوض شدن کلمه را ببینید این فایل دوم را با نام Mint.java ذخیره کنید، بعد دوباره همان یک خط نگه‌داری و یک خط نویسنده را بگذارید.

نام بین دو خط عوض می‌شود

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 را ببینید، بعد گیومه‌ها را از خط نویسنده پاک کنید.

نام داخل گیومه نوشته شده

java
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 خطا می‌نویسد. ساکت نمی‌ماند. صفحه‌ای برای خواندن نیست، چون تا javac خطا می‌نویسد java Mint را نمی‌نویسید. اصلاح این است که خط String را دوباره بالای خط نویسنده بگذارید. ترتیب فایل همان ترتیبی است که Java می‌خواند. نام را نمی‌شود در خطی زودتر از خطی که آن را می‌سازد به کار برد.

این فایل چهارم ترتیب خراب است. فایلی نیست که نگه می‌دارید. فقط تا وقتی ذخیره کنید که javac خطا بنویسد، بعد خط String را دوباره بالا بگذارید.

نام پیش از ساخته شدن به کار رفته

java
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 فقط خط دوم صفحه را عوض می‌کند.

🧠 دانش خود را بیازمایید

آماده شروع

دانش خود را بیازمایید

خود را با این آزمون تعاملی به چالش بکشید و ببینید موضوع را چقدر خوب درک کرده‌اید

❓
7
سوالات
🎯
70%
برای قبولی
♾️
∞
زمان
🔄
∞
تلاش‌ها

📝 دستورالعمل‌ها

  • هر سوال را با دقت بخوانید
  • بهترین پاسخ را برای هر سوال انتخاب کنید
  • می‌توانید آزمون را هر چند بار که می‌خواهید تکرار کنید
  • پیشرفت شما در بالا نمایش داده می‌شود