دو کلمه زیر یک نام، با کروشه در Java
String[] plants = { "leaf", "mint" }; دو کلمه را زیر یک نام نگه میدارد، و System.out.println(plants[0]) کلمهٔ leaf را مینویسد. صفحه یک خط است. mint روی آن خط نیست، و خط دوم هم نیست.
یک نام دو کلمه نگه میدارد
Mint.java را باز کنید. نام فایل Mint.java میماند، چون public class Mint هنوز نام فایل است. این صفحه نام فایل را عوض نمیکند و public class Mint را هم عوض نمیکند. اگر خط String plant = null هنوز آنجاست، پاکش کنید. plant.length را پاک کنید و charAt را پاک کنید. اگر خط int count هنوز آنجاست، پاکش کنید، از جمله (int) و 40.0 و 40.9 و 40. اگر خط double weight هنوز آنجاست، پاکش کنید. اگر خط boolean ripe هنوز آنجاست، پاکش کنید، از جمله true و false. هر خط import، هر خط reader، و هر خط nextLine را هم پاک کنید. فایلی که نگه میدارید import ندارد، Scanner ندارد، nextLine ندارد، count ندارد، weight ندارد، ripe ندارد، و یک plant تنها که null را نگه دارد هم ندارد. یک import که در فایل مانده و به کار نرفته، بهتنهایی باعث نمیشود javac خطا بدهد، و leaf را هم نمینویسد. کلمه را فقط خط نویسندهای مینویسد که یک جایگاه را انتخاب میکند.
درون main، خط نگهداری این است: String[] plants = { "leaf", "mint" };. String[] کلمهٔ جور است. کروشهها بخشی از همان جور هستند. میگویند این نام میتواند بیش از یک کلمه نگه دارد. plants نام است و با p کوچک شروع میشود. علامت = نگه میدارد. آکولادها کلمهها را نگه میدارند. هر کلمه داخل گیومهٔ خودش است. یک ویرگول میان کلمههاست. leaf کلمهٔ اول است. mint کلمهٔ دوم است. نقطهویرگول خط را تمام میکند. این خط دو کلمه نگه میدارد. صفحه را نمینویسد. نگه داشتن هنوز نوشتن نیست. تا پایان همین خط صفحه خالی میماند. این دو کلمه عدد 0 نیستند، و کلمهٔ null هم نیستند. چیزی زیر یک نام دوم، بیرون از صفحه، منتظر نمانده. هر دو کلمه زیر plants هستند.
کلمههایی که داخل آکولاد مینویسید همان جایگاهها هستند. دو کلمهٔ گیومهدار دو جایگاه میسازند. در فایلی که نگه میدارید کلمهٔ سومی ننویسید. String[] plants = { "leaf", "mint", "stem" }; سه کلمه نگه میدارد. آن فایل مجاز است، و فایلی که نگه میدارید نیست. String[] plants = { leaf, mint }; کلمهٔ leaf و mint را نام حساب میکند. این فایل آن نامها را ندارد. javac خطا مینویسد. String[] plants = { "leaf" "mint" }; ویرگول ندارد. javac خطا مینویسد. ویرگول همان چیزی است که دو کلمه را از هم جدا میکند. String[] plants = { 40, 9 }; از این جور میخواهد عدد صحیح نگه دارد. کلمههای فایلی که نگه میدارید leaf و mint هستند، نه رقم. javac خطا مینویسد. کلمهٔ جور بههمراه کروشهها، روی این صفحه، کلمههای داخل گیومه را نگه میدارد.
خط نویسنده یک جایگاه را انتخاب میکند: System.out.println(plants[0]);. کروشههای بعد از نام یک شماره را نگه میدارند. آن شماره 0 است. جایگاه 0 کلمهٔ اول است، چون شمارش جایگاهها از 0 شروع میشود، نه از 1. دور 0 گیومه نیست. نقطه نیست، و length هم نیست. Java نام plants را میخواند، شمارهٔ 0 را میخواند، کلمهٔ آن جایگاه را مینویسد، و خط را تمام میکند. برای فایلی که نگه میدارید آن کلمه leaf است. حرفهای خود نام، p و l و a و n و t و s، روی صفحه نیستند. String روی صفحه نیست. آکولادها روی صفحه نیستند. ویرگول روی صفحه نیست. mint روی صفحه نیست. کلمهٔ leaf روی صفحه است، یک خط. فایل را ذخیره کنید.
فایلی که نگه میدارید
این را با نام Mint.java ذخیره کنید. این همان فایلی است که این صفحه نگه میدارد. یک کلمهٔ جور، String[]. یک نام، plants. دو کلمه داخل آکولاد، اول leaf و بعد mint، هر کدام داخل گیومه، با یک ویرگول میانشان. یک خط نویسنده، و آن خط جایگاه 0 را انتخاب میکند. length نیست، charAt نیست، و خط نویسندهٔ دوم هم نیست.
public class Mint {
public static void main(String[] args) {
String[] plants = { "leaf", "mint" };
System.out.println(plants[0]);
}
}
فایل را از بالا بخوانید. public class Mint نام فایل را مشخص میکند. صفحه را نمینویسد. public static void main(String[] args) جایی است که Java شروع میکند. کلمهٔ String روی همان خط main هنوز خط نگهداری نیست. کروشههای روی همان خط main مال args هستند، و این صفحه args را نمیخواند. خط نگهداری خط بعدی است: String[] plants = { "leaf", "mint" };. چیزی نمینویسد. System.out.println(plants[0]); کلمهٔ leaf را مینویسد و خط را تمام میکند. روی صفحه یک خط است. خط دوم نیست. در فایلی که نگه میدارید خط int نیست، و خطی که null را نگه دارد هم نیست.
آنچه صفحه نشان میدهد
در پوشهای که این Mint.java در آن است، javac Mint.java را بنویسید. وقتی فایل درست باشد، این فرمان هیچ خطی نمینویسد. کروشهها و آکولادها باعث نمیشوند javac خطی بنویسد، و باعث نمیشوند javac خطا بدهد. بعد java Mint را بنویسید. بعد از java پسوند .java را ننویسید. همین دو فرمان را در Windows و در macOS مینویسید. این صفحه آن علامتی را که پوسته پیش از فرمان نشان میدهد نقل نمیکند. برنامه leaf را مینویسد. منتظر نمیماند که چیزی تایپ کنید. کلمهها پیش از اجرا داخل فایل بودند. اگر java Mint منتظر ماند، هنوز nextLine داخل فایل است. آن خط را پاک کنید و String[] plants = { "leaf", "mint" }; و همان یک خط نویسنده را نگه دارید. برنامه بعد از خط نویسنده تمام میشود.
صفحه leaf را نشان میدهد. یک خط. اگر صفحه mint را نشان دهد، خط نویسنده جایگاه 1 را انتخاب کرده، یا کلمهٔ اول داخل آکولاد mint است. به فایل نگاه کنید. فایلی که نگه میدارید اول leaf را دارد و روی خط نویسنده plants[0] است. اگر صفحه plant را نشان دهد، خط نویسنده دور نام دیگری گیومه دارد. اگر صفحه حرفهای plants[0] را نشان دهد، خط نویسنده دور همان حرفها گیومه دارد: System.out.println("plants[0]");. آن گیومهها حرف را مشخص میکنند، پس کلمهٔ ذخیرهشده نوشته نمیشود. اگر صفحه null را نشان دهد، فایل null هنوز سر جایش است، یا جایگاهها بدون کلمه داخل آکولاد ساخته شدهاند. فایلی که نگه میدارید leaf و mint را داخل آکولاد دارد. اگر صفحه 40 یا 40.0 یا 4 را نشان دهد، فایل پرانتز، یا فایل عدد، یا پرسش length هنوز سر جایش است. آن خط را پاک کنید. اگر صفحه true یا false را نشان دهد، ripe هنوز داخل فایل است. اگر صفحه یک خط خالی نشان دهد و نه کلمهٔ leaf، یک خط نگهداری هنوز گیومههایی دارد که میانشان چیزی نیست. آن فایل، فایلی که نگه میدارید نیست. برای صفحهای که خط اشتباه نشان میدهد Java را دوباره نصب نکنید.
صفحهای که leaf نشان میدهد، بهتنهایی کروشهها را ثابت نمیکند. String plant = "leaf"; هم leaf مینویسد. صفحه میتواند یکسان به نظر برسد. فایل یکسان نیست. فایلی که نگه میدارید String[] دارد، آکولاد دارد، ویرگول دارد، و خط نویسنده plants[0] دارد. وقتی این صفحه را قضاوت میکنید، کروشه روی کلمهٔ جور را ببینید و شمارهٔ 0 را ببینید. فایل را فقط از روی صفحه قضاوت نکنید.
کلمهٔ دیگر در جایگاه 1 است
کلمهٔ دوم داخل فایل است، و خط نویسندهای که نگه میدارید آن را نمینویسد. برای دیدن mint، شمارهٔ داخل کروشه 1 است. جایگاه 1 کلمهٔ دوم است، چون جایگاه 0 کلمهٔ اول بود. این اجرا مجاز است، و فایلی که نگه میدارید نیست.
public class Mint {
public static void main(String[] args) {
String[] plants = { "leaf", "mint" };
System.out.println(plants[1]);
}
}
javac Mint.java را بنویسید. javac هیچ خطی نمینویسد. بعد java Mint را بنویسید. صفحه mint را نشان میدهد. یک خط. leaf روی آن خط نیست. خط نگهداری عوض نشده. فقط شمارهٔ داخل کروشه عوض شده. 1 به معنی «کلمهٔ اول» نیست. کلمهٔ اول هنوز leaf است، در جایگاه 0. بعد از دیدن mint، plants[0] را برگردانید. فایلی که نگه میدارید leaf را مینویسد.
📊 شمارهٔ داخل کروشه و صفحه
| شماره | صفحه |
|---|---|
| 0 | leaf |
| 1 | mint |
| 2 | java Mint خطا مینویسد |
| String plants = { "leaf", "mint" }; | javac خطا مینویسد |
جدول را کنار یک اجرا بخوانید، نه بهجای اجرا. برای 0، javac هیچ خطی نمینویسد و java Mint کلمهٔ leaf را مینویسد. برای 1، javac هیچ خطی نمینویسد و java Mint کلمهٔ mint را مینویسد. برای 2، javac هیچ خطی نمینویسد و java Mint خطا مینویسد، چون آن جایگاه داخل آکولاد نبود. برای String plants = { "leaf", "mint" }; که روی کلمهٔ جور کروشه ندارد، javac خطا مینویسد، پس java Mint را نمینویسید. بعد از هر بررسی، فایل نگهداشته را برگردانید: String[]، آکولاد، اول leaf و بعد mint، و plants[0]. صفحهٔ نگهداشته leaf است، یک خط.
نام باید پیش از خطی که از آن استفاده میکند وجود داشته باشد. اگر System.out.println(plants[0]); بالای خط نگهداری نوشته شود، javac خطا مینویسد. خط نویسنده نام plants را مینویسد، در حالی که plants هنوز ساخته نشده. خط نگهداری را بالای خط نویسنده بگذارید. برای همان نام، String[] را بار دوم ننویسید. خط بعدی میتواند یک کلمه را عوض کند، بدون آن که String[] را دوباره بنویسد، به شرط آن که plants وجود داشته باشد: plants[0] = "stem";. آن خط فقط کلمهٔ جایگاه 0 را عوض میکند. جایگاه 1 هنوز mint را نگه میدارد. مجاز است. فایلی که نگه میدارید نیست. فایلی که نگه میدارید یک خط نگهداری دارد، و آن خط اول leaf و بعد mint میگوید.
String[] plants; بدون آکولاد و بدون کلمه، و بعدش خط نویسنده، باعث میشود javac خطا بنویسد. نام بهعنوان یک جور وجود میداشت و هنوز هیچ کلمهای نگه نمیداشت. آکولاد را روی خط ساختن بگذارید، همانطور که فایلی که نگه میدارید دارد. String[] plants = { "leaf" }; یک کلمه نگه میدارد. plants[0] کلمهٔ leaf را مینویسد. plants[1] جایگاهی است که ننوشتهاید، پس بعد از آن که javac ساکت ماند java Mint خطا مینویسد. آن فایل یککلمهای، فایلی که نگه میدارید نیست. جاافتادن فاصله کلمهٔ جور را به جور تازهای که کار کند نمیچسباند: String[]plants هنوز دو کلمه را نگه میدارد، و javac هیچ خطی نمینویسد. فایلی که نگه میدارید بعد از String[] فاصله دارد. String [] plants با یک فاصله پیش از plants هنوز دو کلمه را نگه میدارد. plants[ 0 ] با فاصله داخل کروشهها هنوز leaf را مینویسد. فایلی که نگه میدارید فاصلهٔ اضافه ندارد، ولی آن فاصله مقدار دوم نیست.
آکولاد پرانتز نیست. String[] plants = ( "leaf", "mint" ); باعث میشود javac خطا بنویسد. کلمهها داخل آکولاد مینشینند، { و }، نه داخل ( و ). خط نویسنده پرانتز دور شماره نمیگذارد. System.out.println(plants(0)); باعث میشود javac خطا بنویسد. شماره داخل کروشه مینشیند، [ و ]. s کوچک روی کلمهٔ جور، خود جور نیست. string[] plants = { "leaf", "mint" }; کلمهٔ string را یک نام حساب میکند. این فایل آن نام را ندارد. javac خطا مینویسد. کلمهٔ جور String است، با S بزرگ، و بعدش کروشهها. نام plants میماند، با p کوچک. String[] Plants با P بزرگ نام دیگری است. میتواند کلمهها را نگه دارد، و نام داخل فایلی که نگه میدارید نیست. p کوچک را برگردانید.
ویرگول بعد از کلمهٔ آخر جایگاه تازه نمیسازد. String[] plants = { "leaf", "mint", }; هنوز دو کلمه نگه میدارد. javac هیچ خطی نمینویسد. plants[0] هنوز leaf را مینویسد، و plants[1] هنوز mint را مینویسد. کلمهٔ سومی نیست. فایلی که نگه میدارید بعد از mint ویرگول ندارد، ولی آن ویرگول اضافه مقدار سوم نیست. new لازم نیست. String[] plants = new String[] { "leaf", "mint" }; هم دو کلمه را نگه میدارد، و plants[0] هنوز leaf را مینویسد. فایلی که نگه میدارید new را نمینویسد. String[] plants = new String[2]; دو جایگاه میسازد و هیچ کلمهای در آنها نمیگذارد. plants[0] آنگاه null را مینویسد. آن جایگاهها هیچ حرفی نگه نمیدارند. آن فایل، فایلی که نگه میدارید نیست. کلمههای leaf و mint باید داخل آکولاد بنشینند.
جایگاهی که ننوشتهاید
دو کلمه دو جایگاه میسازند، با شمارههای 0 و 1. شمارهٔ 2 جایگاه سوم است. کلمهٔ سومی ننوشتهاید. فایل سوم همان جایگاه را میخواهد.
public class Mint {
public static void main(String[] args) {
String[] plants = { "leaf", "mint" };
System.out.println(plants[2]);
}
}
این فایل سوم است. فایلی که نگه میدارید نیست. javac Mint.java را بنویسید. تا جایی که javac میبیند فایل درست است، پس javac هیچ خطی نمینویسد. شمارهٔ 2 باعث نمیشود javac خطا بدهد. بعد java Mint را بنویسید. برنامه leaf نمینویسد، و mint نمینویسد، و 2 نمینویسد، و null هم نمینویسد. java Mint خطا مینویسد. متن دقیق آن خطا لازم نیست. آکولاد دو کلمه نگه داشته بود، پس کلمهٔ سومی برای نوشتن نیست. plants[-1] راه انتخاب کلمهٔ آخر نیست. javac هیچ خطی نمینویسد، و java Mint خطا مینویسد. شمارههایی که با فایلی که نگه میدارید جورند فقط 0 و 1 هستند. اگر صفحه mint را نشان دهد، شمارهٔ داخل کروشه 1 است، و کلمهٔ دوم هنوز آنجاست. بعد از دیدن خطا، فایل نگهداشته را برگردانید.
نامی که هیچ جایگاهی ندارد ایراد دیگری است، و صفحه کلمهٔ null نیست. String[] plants = null; هیچ جایگاهی نگه نمیدارد. javac هیچ خطی نمینویسد. System.out.println(plants[0]); آنگاه باعث میشود java Mint خطا بنویسد. null را نمینویسد، و leaf را هم نمینویسد. کروشهٔ روی خط نویسنده یک جایگاه میخواهد، و این نام جایگاهی ندارد. آن فایل، فایلی که نگه میدارید نیست. فایلی که نگه میدارید آکولاد دارد، و آکولاد leaf و mint را نگه میدارد.
حالا میتوانید دو کلمه را زیر یک نام نگه دارید و کلمهٔ اول را بنویسید. String[] plants = { "leaf", "mint" }; کلمهٔ leaf و mint را نگه میدارد. System.out.println(plants[0]); کلمهٔ leaf را مینویسد و خط را تمام میکند. plants[1] کلمهٔ mint را مینویسد، و آن فایلی که نگه میدارید نیست. plants[2] میگذارد javac ساکت بماند و باعث میشود java Mint خطا بنویسد. یک نام String بدون کروشه نمیتواند آکولاد را نگه دارد. صفحهٔ بعد این کروشهها را رها میکند. به علامتی نگاه میکند که میان دو عدد صحیح نوشته شده.
صفحه همان کلمهٔ اول است
فایلی که نگه میدارید leaf را مینویسد. نام روی خط نویسنده plants است، و plants روی صفحه نیست. شمارهٔ داخل کروشه 0 است. mint کلمهٔ دوم است، و تا وقتی صفحه leaf را نشان میدهد داخل فایل میماند. شمارهٔ جایگاهی که ننوشتهاید، فایلی که نگه میدارید نیست. گیومه دور plants[0] حرف مینویسد، نه کلمهٔ داخل جایگاه را.
🧠 دانش خود را بیازمایید
دانش خود را بیازمایید
خود را با این آزمون تعاملی به چالش بکشید و ببینید موضوع را چقدر خوب درک کردهاید
📝 دستورالعملها
- هر سوال را با دقت بخوانید
- بهترین پاسخ را برای هر سوال انتخاب کنید
- میتوانید آزمون را هر چند بار که میخواهید تکرار کنید
- پیشرفت شما در بالا نمایش داده میشود