ساخت فایل سورس کد Hello World در ویرایشگر Notepad بهمراه نمایش در Command Prompt
در آموزه ویدئویی حاضر مدرس بعنوان اولین تمرین در زبان برنامه نویسی جاوا اقدام به ایجاد یک فایل حاوی سورس کد پروژه معروف Hello World نموده است و در ادامه از طریق Command Prompt اقدام به کامپایل و نمایش خروجی مربوطه مینماید.
فهرست مطالب آموزش
ایجاد برنامه جاوا Hello Word با Notepad
بعنوانِ اولین تمرین برنامه نویسی جاوا، میخواهم یک فایل سورس کد جاوا، با استفاده از یک ادیتور متن ساده ایجاد کنم. در سیستم عاملِ ویندوز، میتوانم اینکار را با برنامه نوتپد، یا هر ادیتور متنی که بخواهم، انجام بدهم. اگر شما با سیستم عاملِ مک کار میکنید و از قبل هیچ ادیتور متنی نصب ندارید، ممکن است بخواهید TextWrangler را امتحان کنید، که یک ادیتور متن رایگان از شرکت نرم افزاری Bare Bones هست. آدرسِ سایت آن هم barebones.com است. بهرحال انتخابِ ادیتور را به عهده شما میگذارم.
کلاس class
برای تعریف یک کلاس جاوا، با کلمه کلیدی public شروع میکنیم.
به کلمه کلیدی یاد شده access modifier هم میگویند که میتواند معنی ویرایشِ سطوحِ دسترسی را برای ما تداعی کند. که در واقع این کلمه سطح دسترسی یک کلاس را مشخص میکند، و به این معنی است کلاسی که تعریف کردم در دسترس کل برنامه است. یعنی کلیه کلاسهای دیگر این برنامه میتوانند به کلاسی که با public تعریف شده باشد دسترسی داشته باشند.
بعد از تعیین سطح دسترسی از کلمه کلیدی class استفاده میکنم و بعد هم نام کلاس را مینویسم و مثلاً اسم آنرا Main میگذارم، بطوریکه حرف اول آنرا به صورت M ِ بزرگ تعریف میکنم.
بعنوانِ یک قانونِ کلی بخاطر بسپارید که نام همه کلاسهای جاوا باید با یک حرف بزرگ شروع بشود. منظور من این است که حرف اول نام کلاس جاوا همیشه باید بزرگ باشد. همانطور که در ویدئوهایِ آموزشی قبلی هم گفتم دیگر میدانید که جاوا به کوچک و بزرگی حروف حساس است.
بعد از آن یک بلاک کد ایجاد میکنم و اینکار را با گذاشتن دو آکولاد انجام میدهم.
در اکثر نمونه کدهای جاوا، آکولاد باز و در همان خط اول ماقبلِ کلیدواژهها قرار میدهند و آکولاد بسته را هم یک خط بعد از آن میگذارند.
یا حتی میتوانیم آکولاد باز و بسته را در یک خط بگذاریم.
مثلاً در یک خط بیایم و کلیدواژهها را شبیه کلمه public در یک خط قرار بدهیم.
حالا هرچیزی و هر کدی که داخل این بلوک کد بنویسم، جزیی از این کلاس محسوب میشود.
public class Main {
}
متد method
برای اجرا این کلاس از طریق کنسول، به یک متد با نام main نیاز داریم. محیط کنسولی همانطور که میدانید یک پنجره هست مثل کامند و با اجرا خط به خط دستورات خروجیهایی را در این محیط خواهیم داشت. خب؛ یکسری کلمات کلیدی هم هستند که ما اینجا به آنها نیاز داریم.
اول از همه کلمه کلیدی public، که همانطور که قبلاً گفتم به سطح دسترسی مربوط میشود و یک access modifier محسوب میشود.
سپس کلمه کلیدی static را تایپ میکنم.
که به این معنی است که میتوانیم این عضو از کلاس را مستقیماً از طریق خود کلاس صدا بزنیم برخلاف زمانی که یک نمونه از کلاس ایجاد میکنیم و سپس اعضا آنرا صدا میزنیم. ببینید در واقع اشیاء و متدهای یک کلاس یا استاتیک هستند یا غیراستاتیک؛ که استاتیکها با کلمه کلیدی static مشخص میشوند.
متدهای استاتیک همانطور که از اسم آنها هم پیدا است، ایستا و ثابت هستند یعنی صدا زدن آنها هیچ تأثیری در نتیجه نهایی کلاس ایجاد نمیکند. به علاوه نکتهای که راجب به متدهای استاتیک وجود دارد، این است که برای صدا زدن این متدها نیازی به ایجاد یک نمونه از کلاس نداریم. اگر الان سر در نمیآورید چی گفتم نگران نباشید.
انشاالله در ادامه آموزشها به طور مفصلتر راجب به متدها و فیلدهای استاتیک توضیح میدهم.
خب؛ در ادامه کلمه کلیدی void را اضافه میکنم، کلمه void به معنی هیچ و خالی است و وقتی برای متد بکار میرود یعنی آن متد هیچ مقداری برنمیگرداند.
و در آخر نام متد را تایپ میکنم یعنی main.
که این همان متد mainای میشود که گفتم به آن نیاز داریم. نام همه متدها باید با حرف کوچک شروع بشود، و این برای این است که بتوانیم نام متدها را از نام کلاسها تشخیص بدهیم. مثلاً نام کلاس Main با M بزرگ است و نام متد main با m کوچک است.
public class Main {
public static void main
}
آرگومان Argument، رشته string و پرینت خروجی
بعد از نام متد باید یک جفت پرانتز بگذاریم که بتوانیم داخل پرانتز آرگومانها یا پارامترهای ورودی متد را وارد کنیم.
میشود اینطور هم گفت که داخل پرانتز متغیرهای مورد نیاز متد را وارد میکنیم.
نام متد و آرگومانهای آن، امضا متد را تشکیل میدهند.
و در اینجا امضاءِ متد main یک آرایه با مقادیر string یا رشته دریافت میکند.
یک آرایه از رشته ها را، با کلمه کلیدی String با S بزرگ مشخص میکنیم. این نشان میدهد که String شناسه یک کلاس یا نام یک کلاس است. پس از کلمه String یک جفت براکت میگذاریم که نشان میدهد آرایهای از رشتهها را داریم یعنی بیشتر از یک رشته وجود دارد.
نام این آرایه رشتهای را هم میتوانید هر چیزی که دوست داشتید بگذارید، مثلاً من اسم آنرا args میگذارم. البته معمولاً هم با همین اسم نامگذاری میشود.
من پرانتز را میبندم تا امضا متد من تمام بشود.
و بعد یک بلاک کد جدید را با استفاده از دو علامت آکولاد اضافه میکنم.
در حقیقت با اضافه کردن یک آکولاد باز و بسته محدوده کدهای مربوط به این متد را مشخص میکنم؛ تا اینطور معلوم بشود متد از کجا شروع و در کجا خاتمه پیدا کند. حالا با اجرای این کلاس، رانتایم جاوا دنبال متد main میگردد و به صورت اتوماتیک آنرا اجرا میکند. هر کدی که من داخل بلوک مربوط به این متد main قرار بدهم اجرا میشود.
خب یک خط کد اضافه میکنم. به شکل: System.out.println؛ برای پرینت کردن یک خط؛ و بعد یک مقدار ثابت رشتهای وارد میکنم.
و رشته را با یک جفت دابل کوتیشن محصور میکنم. و رشته مورد نظر را “Hello from Java!” میگذارم.
بعد از بستن پرانتز، یادتان نرود حتماً یک semi-colon اضافه کنید.
که نشان میدهد این عبارت به پایان رسیده است.
public class Main {
public static void main(String[] args) {
System.out.println("Hello from Java!");
}
}
ذخیره سورس Code
خب؛ فایل خود را سیو و ذخیره میکنم.
برای اینکار در نوتپد Control S را فشار میدهم، یا اگر در مک کار میکنید میتوانید Command S را فشار بدهید.
بعد فولدری که میخواهید فایل شما در آن ذخیره بشود را مشخص کنید. من فایل خود را در فولدر HelloWorld، داخل فولدری از فایلهایِ تمرینی که برای تمرین جاری دارم، قرار میدهم.
و نام فایل را Main.java میگذارم.
قسمت اول نام فایل باید با نام کلاس مچ باشد. همچنین به کوچک و بزرگی حروف هم حساس است.
بگذارید پنجره Save As را کمی جابجا کنم. پس این مقدار، Main برای شناسه کلاس، یعنی Mainای که در خطِ اولِ فایلِ نوتپد تایپ کردم با قسمت اول نام فایل یعنی Mainای که در قسمتِ File name یعنی اینجا تایپ کردم مچ میشود.
و پسونده فایل هم باید جاوا باشد. پس تایپ می کنیم .java؛ در سیستم عاملِ ویندوز، اگر با نوتپد کار میکنید، این type را به All Files تغییر بدهید تا تضمین بشود که یک فایل با پسوند .txt به آخر اسمِ انتخابی خود اضافه نکردید.
بعد میتوانید فایل خود را ذخیره کنید.
اجرا کد در Command Prompt
حالا آمادهام تا کلاس جاوا را کامپایل و اجرا کنم. به Command Prompt میروم. پس دکمه ویندوزِ کیبورد و R را میزنم و در پنجره Run تایپ میکنم cmd و بعد هم ok.
وارد فولدر فایلهای تمرینی بشوید. خوب میدانید که باز کردن را با دستور cd میشود فراخونی کرد.
در سیستم من، باید به دسکتاپ بروم، پس تایپ میکنم Desktop و بعد Exercise Files.
بعد Ch03 و بعد 03_01. و در آخر زیر فولدر HelloWorld.
در مک میتوانید همین کارها را انجام بدهید، ولی با این تفاوت که بجای بک اسلش باید از forward slashes استفاده کنید.
یک اینتر میزنم. در واقع من محتویات دایرکتوری را بعد از رفتن به مسیر تایپ شده و حالِ حاضر خود، با استفاده از dir لیست میکنم و مسیر را به آن میدهم، پس بعد از تایپِ دستورِ dir یک اینتر میزنم و Main.java نشان داده میشود.
در مک و لینوکس میتوانید از LS بجای DIR برایِ لیست کردنِ محتویاتِ یک مسیرِ خاص، استفاده کنید.
حالا باید فایل را کامپایل کنیم. من تایپ میکنم javac و بعد نام کامل فایل، یعنی نام فایل به همراه پسوند جاوا را تایپ میکنم به این شکل javac Main.java؛ و بعد هم اینتر را میزنم.
و بعد از چند لحظه، Command Prompt برگردانده میشود. اگر هیچ ارری ندیدید، این یعنی که کامپایل فایل کامل شده است و میتوانید یکبار دیگر محتویات دایرکتوری را لیست کنید تا تفاوت را احساس کنید، پس مجدد تایپ میکنم dir و بعد هم اینتر.
باید یک فایل جدید با نام Main.class ببینید. که این همان فایل کلاس کامپایل شده هست.
حالا کلاس را اجرا میکنم. تایپ میکنم java، و بعد شناسه کلاس را تایپ میکنم یعنی تایپ میکنم Main.
وقتی از کلاس خود اجرا میگیرید، نباید پسوند .java را وارد کنیم.
و اگر اینتر را بزنم رشته Hello from Java! را برای من برمیگرداند.
پس من موفق شدم اولین کلاس جاوا خود را با استفاده از یک ویرایشگر متن ساده ایجاد کنم و آنرا از طریق Command Prompt کامپایل و اجرا کنم.