آرگومانهای برنامه در Java
وقتی برنامه را راه میاندازید کلمهها را روی خط فرمان بدهید و داخل main بخوانیدشان. در Flag.java کلاس عمومی Flag و پارامتر String[] args را نگه دارید. در دموی اول args[0] را چاپ کنید. در دموی دوم اول args.length و بعد args[0] را چاپ کنید. با javac Flag.java ترجمه کنید. java Flag oak را اجرا کنید تا اولین کلمه بعد از نام کلاس oak باشد. صفحهٔ اول oak را نشان میدهد. Generics اختیاری را برای صفحات بعد بگذارید. این درس کلمههای خط فرمان در args است، نه گفتوگوی Scanner و نه برچسب Mini Project.
اولین کلمه بعد از نام کلاس را بخوانید
Flag.java را باز کنید. نام کلاس عمومی را Flag نگه دارید. دموهای باقیمانندهٔ Mini Project با Box و Scanner، چاپهای کامپایل باقیماندهٔ Build، خطوط جمعبندی Recap، و پرتابهای Dice با Random را پاک کنید اگر داستان آرگومانها را میپوشانند. این برنامه نباید منتظر Scanner صفحهکلید بماند.
داخل Flag.main لیست پارامتر را String[] args نگه دارید و اولین کلمه را چاپ کنید:
System.out.println(args[0]);
از پوشهای که Flag.java در آن است javac Flag.java را اجرا کنید. بعد java Flag oak را بزنید — نه java Flag.java oak. نام کلاس Flag است. کلمهٔ oak اولین آرگومان برنامه است. در args[0] مینشیند. صفحه oak را نشان میدهد.
public class Flag {
public static void main(String[] args) {
System.out.println(args[0]);
}
}
یکبار مسیر اجرا را دنبال کنید. javac مینویسد Flag.class. java Flag oak کلاس را بار میکند و args را با یک عنصر پر میکند: "oak". main شروع میشود. args[0] همان "oak" است. println مینویسد oak. جایی item: نمیپرسد. mug 4 چاپ نمیکند. ok از Build هم نمیآید.
همزمان با نگاه به فرمان قانون مبتدی را بگویید: کلمههای بعد از نام کلاس میشوند args. اندیس 0 اولین کلمه است. دموهای Generics را روی این صفحه نسازید. Generics اختیاری بعد از مسیر اصلی منتظر است. java Flag را تنها بزنید و بعد args[0] نخوانید — آرایهٔ خالی کلمهٔ اول ندارد و اجرا ممکن است خطا بدهد.
اگر هنوز از فایل باقیماندهٔ Box مقدار mug 4 میبینید، به Flag.java بروید، ترجمه کنید، و java Flag oak را اجرا کنید. اگر javac از نام کلاس شکایت کرد، public class Flag را نگه دارید تا با Flag.java یکی بماند.
کلمهها را بشمارید، بعد اولی را چاپ کنید
یک آرگومان args[0] را ثابت میکند. دموی دوم args.length را همراه اولین کلمه نشان میدهد. همان کلاس عمومی Flag را نگه دارید. دو خط چاپ کنید:
System.out.println(args.length);
System.out.println(args[0]);
دوباره با javac Flag.java ترجمه کنید. java Flag oak pine را اجرا کنید. صفحه 2 و بعد oak را نشان میدهد. طول 2 است چون دو کلمه بعد از نام کلاس تایپ شدهاند. اولین کلمه هنوز oak است. کلمهٔ دوم pine در args[1] است اما این دمو آن را چاپ نمیکند.
اگر این دمؤ دوخطی را با java Flag oak اجرا کنید، صفحه 1 و بعد oak را نشان میدهد. طول به تعداد کلمههایی بستگی دارد که بعد از Flag زدهاید.
public class Flag {
public static void main(String[] args) {
System.out.println(args.length);
System.out.println(args[0]);
}
}
با javac Flag.java ترجمه کنید و دوباره java Flag oak pine را اجرا کنید. یکبار مسیر را دنبال کنید. args.length برابر 2 است. args[0] همان "oak" است. چاپها آن دو خط را مینویسند. جایی Scanner منتظر نمیماند. mug و 4 را به هم نمیچسباند.
دو دمو را دو شکل آموزشی نگه دارید. اول ثابت کنید یک آرگومان چاپ میشود. بعد طول بهعلاوهٔ اولین کلمه را ثابت کنید. هر دو شکل نام کلاس و یک ایده را مشترک دارند: کلمههای بعد از java Flag، args را پر میکنند.
اگر java Flag.java oak بنویسید، شکل اجرای غلط برای مسیر این کورس است. java Flag بهعلاوهٔ کلمهها را نگه دارید. اگر بعد از ویرایش ترجمه را فراموش کنید، .class قدیمی ممکن است چاپ قبلی را نشان دهد — دوباره ترجمه کنید، همان عادت Compiling.
args نه Scanner است و نه Mini Project
Mini Project از شما خواست هنگام انتظار برنامه پاسخ تایپ کنید. Program Arguments از شما میخواهد هنگام راهاندازی کلمه بدهید. Scanner بعد از شروع فرآیند از System.in میخواند. args پیش از اجرای main پر شده است. امروز آن دو سبک ورودی را در یک فایل مبتدی قاطی نکنید.
oak فقط کلمهٔ آموزشی است. بذر Random نیست و ردیف نقشهٔ Summary هم نیست. وقتی دموی باقیماندهٔ Box روی item: منتظر میماند، آن فایل کار Mini Project میکند. به Flag بروید و oak را روی خط فرمان بدهید.
بدون حداقل یک کلمه، خواندن args[0] شکست میخورد. با کلمههای موجود، اندیسها از 0 شروع میشوند. args.length میگوید چند کلمه داده شده است. آن سه واقعیت را با هم نگه دارید.
نقطهٔ عطف مسیر اصلی
شما پیشتر کلاس با main ساختید، با javac ترجمه کردید، با java اجرا کردید، مقدار ذخیره کردید، با if تصمیم گرفتید، حلقه زدید، متد صدا زدید، از اشیاء و فهرستها استفاده کردید، خطا گرفتید، فایل خواندید، و وراثت شکل دادید. Mini Project دو پاسخ تایپشده را به mug 4 چسباند. Program Arguments راه دیگری برای تغذیهٔ برنامه نشان میدهد: کلمه روی خط راهاندازی.
این صفحه مسیر اصلی Java در این کورس را تمام میکند. صفحات اختیاری مثل Generics بعداً میآیند، وقتی بخواهید. برای پایان مسیر اصلی لازم نیستند. این درس آرگومانها جای اختراع آن موضوعات اختیاری نیست.
یک Flag عمومی نگه دارید. String[] args را روی main نگه دارید. فرمان اجرا را java Flag بهعلاوهٔ کلمهها نگه دارید. وقتی args را تمرین میکنید دموهای Scanner مربوط به Mini Project را از این صفحه دور نگه دارید.
بررسی پوشه پیش از پایان مسیر اصلی
بعد از ترجمهٔ موفق پوشه را لیست کنید. باید Flag.java و Flag.class را با هم ببینید. منبع را ویرایش کنید، ذخیره کنید، javac Flag.java را بزنید، بعد java Flag oak یا java Flag oak pine را اجرا کنید. نبودن .class یعنی اول ترجمه کنید. پوشهٔ غلط یعنی لانچر Flag را پیدا نمیکند.
اگر صفحه چیزی نشان نمیدهد، تأیید کنید main هنوز چاپ میکند. اگر اجرا بهخاطر خالی بودن args خطا میدهد، بعد از نام کلاس یک کلمه اضافه کنید. اگر دو کلاس عمومی در یک فایل هستند، فقط Flag را عمومی نگه دارید.
برای «غنیکردن» صفحه، سؤالهای Scanner مربوط به Box را داخل Flag کپی نکنید. چاپهای ok مربوط به Build را اینجا بازنویسی نکنید. کار آموزشی فقط کلمههای خط فرمان است.
پیش از Generics اختیاری
میتوانید کلاس عمومی Flag را نگه دارید، String[] args را در main بخوانید، برای java Flag oak مقدار args[0] را چاپ کنید، برای java Flag oak pine اول args.length و بعد args[0] را چاپ کنید، با javac Flag.java ترجمه کنید، و بدون پسوند .java روی نام کلاس اجرا کنید. مسیر اصلی روی این صفحه تمام میشود. Generics اختیاری اگر بعداً ادامه دهید منتظر است.
دموهای Flag را برای جفت آرگومانهای روشن نگه دارید. فایلهای Mini Project مربوط به Box را هنگام تمرین args از این صفحه دور نگه دارید. دموهای کامپایل Build را هنگام تمرین args از این صفحه دور نگه دارید. کار Generics را تا درس اختیاری از این صفحه دور نگه دارید. آن عادتها نقطهٔ عطف پیش از ترک مسیر اصلی است. وقتی اجرای یککلمهای oak یا اجرای دوکلمهای 2 و بعد oak را نشان میدهد، Program Arguments کارش را برای این درس انجام داده و مسیر اصلی Java کامل است.
یک بار دیگر پوشه را بگردید: یک Flag عمومی، String[] args روی main، بدون انتظار Scanner، بدون Random، بدون LocalDate، ترجمه و اجرا با کلمه بعد از نام کلاس. دوباره javac Flag.java و java Flag oak را بزنید. اگر صفحه هنوز oak را نشان میدهد، شکل Program Arguments محکم است و کورس اصلی میتواند کامل علامت بخورد در حالی که صفحات اختیاری بعداً در دسترس میمانند. برای هر خواندن یک عادت آرگومان روشن ترجیح دهید تا هر بار همان نقشه را آموزش دهد.
🧠 دانش خود را بیازمایید
دانش خود را بیازمایید
خود را با این آزمون تعاملی به چالش بکشید و ببینید موضوع را چقدر خوب درک کردهاید
📝 دستورالعملها
- هر سوال را با دقت بخوانید
- بهترین پاسخ را برای هر سوال انتخاب کنید
- میتوانید آزمون را هر چند بار که میخواهید تکرار کنید
- پیشرفت شما در بالا نمایش داده میشود