آموزش برنامه نویسی جاوا-قسمت اول
در قسمت اول از مجموعه آموزش های قدم به قدم جاوا به معرفی این زبان و نحوه کار آن و همچنین نصب ابزارهای لازم و نوشتن اولین برنامه خود به زبان جاوا میپردازیم. این دوره آموزشی برای کسانی که هیچگونه آشنایی با زبان جاوا ندارند و اصطلاحا میخواهند آن را از صفر یاد بگیرند طراحی شده است و از ابتداییترین تا پیشرفتهترین مباحث جاوا (نسخه استاندارد یا Java SE) را شامل میشود.
معرفی
«زبان جاوا یک زبان برنامهنویسی شیگرا است که برای نخستین بار توسط «جیمز گاسلینگ» در شرکت «سان مایکروسیستمز» ایجاد گردید. ضریب اطمینان عملکرد برنامههای نوشتهشده به این زبان بالاست و وابسته به سیستمعامل خاصی نیست، به عبارت دیگر میتوان آن را روی هر رایانه با هر نوع سیستمعاملی اجرا کرد.» متن بالا از سایت ویکیپدیا آورده شده است. همانطور که گفته شده این زبان وابسته به سیستم عامل خاصی نیست (که یکی از بزرگترین امتیازات این زبان محسوب میشود.). اما چگونه؟
جاوا چگونه کار می کند؟
برنامههای نوشتهشده به زبان جاوا به شکل بخصوصی کامپایل (ترجمه کد به زبان قابل فهم برای پردازنده) و اجرا میشوند. به تصویر زیر دقت کنید:
1- شما به عنوان برنامهنویس کدهای خود را درون فایلی با پسوند .java مینویسید.
2- وقتی که میخواهید برنامه خود را اجرا کنید کدهای شما توسط کامپایلر جاوا به bytecode تبدیل میشوند و درون فایلی با همان نام قبلی اما این بار با پسوند .class ذخیره میشوند.
3- ماشین مجازی جاوا (Java Virtual Machine) فایل .class را که همان برنامه شماست و به bytecode تبدیل شده را اجرا میکند.
ماشین مجازی جاوا یا JVM بر روی تمام سیستمعاملهای مطرح (ویندوز، مکینتاش و لینوکس) قابل نصب است. به همین دلیل فایل .class برنامه شما در تمام این سیستم عاملها میتواند اجرا شود و به همین دلیل است که به جاوا زبان مستقل از سیستم عامل گفته میشود. شعار جاوا این است: «یک بار بنویس، همه جا اجرا کن!»
نصب ابزارهای لازم
برای برنامهنویسی به زبان جاوا باید JDK یا Java Development Kit را نصب کنید. این بسته نرمافزاری شامل قسمتهای زیادی است اما مهمترین قسمت آن کامپایلر جاواست که کدهای نوشته شده به زبان جاوا را کامپایل و تبدیل به bytecode میکند.
بسته نرمافزاری دیگری به نام JRE یا Java Runtime Environment هم وجود دارد که برای اجرای برنامههای جاوا به کار میرود. ماشین مجازی جاوا یا همان JVM یکی از اجزای این بسته است.
توجه: با نصب JDK دیگر نیازی به نصب JRE وجود ندارد و JDK خود شامل ابزارهای JRE میباشد. البته وقتی JDK را دانلود و نصب کنید، بعد از اتمام نصب به شما میگوید که میتوانید JRE را هم نصب کنید. با وجود JDK نصب JRE اختیاری است.
متاسفانه به علت تحریم امکان دانلود JDK از سایت رسمی آن وجود ندارد. میتوانید آخرین نسخه آن را از این لینک دانلود کنید.
نصب JDK آسان است. به دلیل افزایش بیهوده حجم مطلب از آموزش نصب JDK خودداری کردم. آموزش نصب JDK را میتوانید به آسانی در اینترنت پیدا کنید.
بعد از نصب JDK باید یک محیط برنامهنویسی (IDE) برای نوشتن برنامههای خود انتخاب کنیم. البته میتوان کدهای جاوا را در «نوت پد» هم نوشت. اما ما از همین ابتدا خود را به استفاده از IDEهای مدرن موجود عادت میدهیم.
IDEهای زیادی برای جاوا وجود دارد که معروفترین آن ها Eclipse و NetBeans و IntelliJ هستند. من در این آموزشها از ایکلیپس استفاده خواهم کرد. برای دانلود ایکلیپس به این لینک مراجعه کنید و Eclipse IDE For Java Developers را با توجه به نوع سیستمعامل خود دانلود کنید:
بعد از دانلود محتویات فایل زیپ را در مکان دلخواه Extract کنید و برنامه را اجرا کنید. (نیاز به نصب ندارد)
نوشتن اولین برنامه
وقتی که ایکلیپس را برای اولین بار اجرا میکنید با پنجره زیر مواجه خواهید شد:
در این پنجره از شما خواسته شده تا مسیر فضای کاری خود را مشخص کنید. فضای کاری محلی است که پروژههایی که در ایکلیپس ایجاد میکنید در آنجا ذخیره میشود. من پوشهای در دسکتاپ خود با نام Java Learning انتخاب کردم. همچنین برای اینکه در اجراهای بعدی این پنجره نمایش داده نشود و به صورت پیشفرض از مسیری که ابتدا به آن دادید استفاده کند تیکی که در تصویر مشخص شده را فعال کنید و روی دکمه Ok کلیک کنید.
حالا برنامه باز خواهد شد. از منوی File گزینه New Project را انتخاب کنید تا پنجره زیر باز شود:
حالا یک نام برای پروژه خود انتخاب کنید. همانطور که در تصویر می بینید من نام JavaLearning را انتخاب کردم سپس روی دکمه Finish کلیک کنید تا پروژه ایجاد شود.
حالا در سمت چپ صفحه Package Explorer را مشاهده میکنید که این پنجره فایلهای پروژه شما را نشان میدهد و میتوانید آنها را مدیریت کنید. همانطور که در تصویر مشخص است روی پوشه src راست کلیک کنید و از منوی New گزینه Class را مشخص کنید تا پنجره New Java Class باز شود:
اگر با مباحث شیگرایی آشنایی نداشته باشید احتمالا این سوال برای شما پیش آمده که منظور از کلاس (Class) چیست؟ فعلا قرار نیست که درباره کلاسها صحبت کنیم و این مبحث برای مطالب آینده است اما فعلا در همین حد بدانید که کلاسها اجزای اصلی تشکیلدهنده برنامههای جاوا هستند و ما برای برنامه نویسی حداقل به یک کلاس نیاز داریم. در قسمت Name نام کلاس خود را انتخاب کنید. طبق یک قرارداد حرف اول نام کلاس باید با حروف بزرگ باشد و همچنین نام کلاس نمی تواند با عدد شروع شود. من نام Main را برای کلاس خود انتخاب کردم.
تیکی که در تصویر مشخص شده را فعال کنید. (در ادامه متوجه میشوید که چرا این کار را انجام دادید.) و روی دکمه Finish کلیک کنید.
حالا کدی که ایکلیپس برای شما ایجاد کرده را میبینید (البته ایکلیپس یک خط اضافی هم درون این کد قرار داده بود که آن را پاک کردم. شما هم همین کار را انجام دهید تا کد زیر را داشته باشید.):
احتمالا الان این سوال برای شما پیش آمده که معنی کلمات public و static و void و … چیست. ما فعلا با این ها کاری نداریم اما چیزی که مشخص است class Main یعنی کلاسی با نام Main در این فایل تعریف شده است. اگر دقت کنید میبینید که نام فایل همان نام کلاس است با پسوند .java و محتویات کلاس Main بین دو آکولاد باز و بسته قرار میگیرند:
نکته مورد توجه دیگر این قطعه کد است:
به این قطعه کد “متد main” گفته میشود. همانطور که گفتیم برنامههای جاوا حداقل از یک کلاس تشکیل میشوند. حالا به طور مثال اگر 3 کلاس داشته باشیم JVM از کجا میفهمد که نقطه شروع برنامه کجاست؟ متد main همان نقطه شروع برنامه است که توسط JVM فراخوانی میشود (با مفهوم متد بعدا آشنا خواهید شد) توجه داشته باشید که این متد حتما باید در تمام برنامههایی که مینویسید وجود داشته باشد و باید دقیقا به همین شکل نوشته شود. (ایکلیپس این کد را به صورت خودکار برای ما تولید کرد.)
تا وقتی که به مبحث شیگرایی نرسیدیم تمام کدهایی که مینویسیم درون این متد قرار دارند یعنی بین دو آکولاد باز و بسته متد:
حالا برای اولین برنامه، طبق یک سنت در برنامهنویسی میخواهیم عبارت Hello World! را روی صفحه چاپ کنیم. دستور چاپ در جاوا به صورت زیر است:
همانطور که میبینید عبارتی که میخواهیم چاپ کنیم را باید داخل پرانتز بین دو علامت ” قرار دهیم. به این علامت دبل کوتیشن (Double Quotation) گفته میشود.
با مفهوم عبارت System.out.println در فصلهای پایانی آشنا خواهید شد. فعلا در همین اندازه به خاطر داشته باشید که از این به بعد برای چاپ هر عبارت از این دستور استفاده خواهیم کرد.
در آخر دستور علامت ; آورده شده است که سمی کالن (semi-colon) نام دارد. این علامت باید در انتهای دستورات جاوا قرار بگیرد. به این شکل کامپایلر متوجه میشود که کد دستور تمام شده و کدی که بعد از آن می آید دستور بعدی است.
توجه داشته باشید که جاوا به حروف کوچک و بزرگ حساس است یعنی باید دستورات را دقیقا به همان شکلی که هستند نوشت. به طور مثال دستور چاپ زیر صحیح نیست و باعث بروز خطا میشود:
چون حرف اول کلمه System با حروف کوچک نوشته شده است.
بنابر مطالبی که گفته شد برای چاپ عبارت Hello World! باید به صورت زیر عمل کنیم:
دکمهای که در تصویر با کادر قرمز مشخص شده برای اجرای برنامه به کار میرود. بعد از اینکه کد را نوشتید روی این دکمه کلیک کنید تا برنامه اجرا شود. وقتی برنامه اجرا شد پنجره Console در پایین صفحه باز میشود:
پنجره کنسول رابط ما با برنامه ای که نوشتیم است. یعنی اگر چیزی را چاپ کنیم در این پنجره نمایش داده میشود و اگر بخواهیم ورودی به برنامه بدهیم باید در این پنجره آن را وارد کنیم. همانطور که میبینید عبارت Hello World در این پنجره چاپ شده است.
اگر به کدی که در تصویر نوشته شده است دقت کنید میبینید که دستور چاپ از سمت چپ مقداری تورفتگی دارد. این فاصله اضافی به هیچ وجه الزامی نیست اما برای خوانایی کد لازم است!
نکته دیگر این که به یک جفت آکولاد باز و بسته که درون آن کد مینویسیم یک بلاک گفته می شود. متد main درون بلاک کلاس Main قرار دارد و دستور چاپ هم درون بلاک متد main قرار دارد.
در این تصویر میتوانید فاصله های اضافی را ببینید. متد main درون کلاس Main قرار دارد و نسبت به خط آن یک فاصله دارد (این فاصله برابر با یک بار فشردن کلید Tab می باشد.)
همچنین دستور چاپ هم با متد main یک فاصله دارد. اگرچه این فواصل الزامی نیست اما با رعایت این کار وقتی حجم کد بالا رود به زیبایی مشخص میشود که کدام کد درون کدام بلاک قرار دارد.
به این فاصله گذاری ها Indentation گفته میشود.
تبریک! شما اولین برنامهی جاوا خود را نوشتید! پیشنهاد میکنم گشتی در محیط ایکلیپس بزنید تا با آن بیشتر آشنا شوید.
در قسمت بعدی به معرفی متغیرها و انواع داده میپردازیم.
- ۹۵/۰۷/۲۱
عالی