1st Session, Introduction
1st Session, Introduction
بدون اغراق زبان برنامه نویسی جاوا به منزله یکی از معروف ترین زبان
های برنامه نویسی در دنیا است چرا که از این زبان برنامه نویسی عالوه بر
ساخت برنامه های کامپیوتری ،در ساخت اپلیکیشن ها و بازی های
اندروید نصب شده روی تلفن های همراه و تبلت ها و همچنین برنامه
نویسی برای وب سایت های تعاملی مثل وب سایت بانک ها و موسسات
بزرگ نیز استفاده می شود .در حقیقیت یکی از علل میزان محبوبیت این
زبان برنامه نویسی در میان میلیون ها برنامه نویس حرفه ای در سرتاسر
جهان این است که این زبان برنامه نویسی غیرممکن ها را ممکن ساخته
است .هیچ جای شگفتی نیست که آشنایی با زبان برنامه نویسی پلتفورم
محبوبی همچون اندروید که بیش از 07درصد سهم بازار جهانی را در
میان تلفن های همراه به خود اختصاص داده است می تواند امید بخش
آینده مالی خوبی نیز برای برنامه نویسان این حوزه باشد .زبان برنامه
1
نویسی جاوا زبان ساده ای است مخصوصاً برای کسانیکه از پیشینه برنامه
Page
شاید بارها و بارها به فکر این افتاده باشید که یک زبان برنامه نویسی را فرا بگیرید اما به
دلیل اینکه شنیده اید که برنامه نویس شدن نیازمند برخورداری از یک ذهن تحلیلی،
داشتن یک مدرک مرتبط از دانشگاه و داشتن جدید ترین رایانه شخصی چه از لحاظ
2
Page
نمایند از این رو طراحان این زبان به کافی شاپی در نزدیکی شرکت رفتند تا نام جدید را
دوره آموزش جاوا
کلیه حقوق متعلق به وب سایت نردبان است.
مدرس :بهزاد مرادی
انتخاب نمایند .پس نیمی از روز بحث و تبادل نظر نام Javaکه مخفف نام های James
Goslingو Arthur Van Hoffو همچنین Andy Bechtolsheimبود انتخاب
شد و از آنجا که مراسم نام گذاری در یک کافی شاپ صورت گرفته بود نماد این زبان
یک فنجان قهوه داغ در نظر گرفته شد .شرکت سان مایکرو سیستمز بعد ها توسط
شرکت بزرگ اوراکل خریداری شد .از همان ابتدا شعار طراحان این زبان نامه نویسی
این بود که یک بار بنویس ،همه جا اجراش کن .در حقیقت آقای گاسلینگ از اصول
برنامه نویسی در C++خیلی احساس رضایت نمی کرد و یک سری نارسایی های این
زبان برنامه نویسی موجب شد که وی زبان جاوا را بر مبنای زبان C++طراحی کند به
نحوی که برنامه های مد نظر ایشان را به نحو بهتری اجرا کند .این زبان برنامه نویسی
موفق که در سال 0991به طور رسمی به بازار معرفی شد توانست چنان محبوبیتی در
جهان پیدا کند که در حال حاضر در بیش از 2میلیارد ابزار رایانه ای و تلفنی مورد استفاده
قرار گرفته و تاکنون بیش از 0111جلد کتاب پیرامون آن به رشته تحریر درآمده است.
این زبان داری ساختار یا Syntaxمشابه زبان های Cو C++می باشد اما از سادگی
بیشتری برخوردار است .اگر چه که زبان برنامه نویسی جاوا نسبت به زبان برنامه نویسی
Visual Basicاز دشواری بیشتری برخوردار است اما این زبان از مزایای بسیار زیاد
دیگری برخوردار می باشد که آن را قابل رقابت با دیگر زبان های برنامه نویسی ساخت
است .از سوی دیگر زبان برنامه نویسی جاوا شیئ گرا است یا اصطالحاً یک زبان
Object Oriented Languageاست .در زبان برنامه نویسی جاوا بر خالف
زبانی همچون FORTRANکه مجموعه ای از دستورات محض است ،ما با
Objectها یا اشیائی سر و کار داریم که حاوی داده هستند .در واقع در زبان جاوا هم
ما یکسری دستورات می نویسیم اما تفاوت آن با زبانی همچون زبان برنامه نویسی فوق
4
الذکر در این است که در جاوا ما ابتد ًا اطالعات را دسته بندی کرده سپس بر اساس آن
Page
فرض کنیم که قرار است ما یک آپارتمان 01طبقه بسازیم .هر 01طبقه از آپارتمان ما
دارای یکسری ویژگی های خاص و منحصر به فرد است مثل اینکه رنگ دیوار های
طبقه اول سفید است و درهای آن کرم رنگ هستند اما این در حالی است که رنگ دیوار
های طبقه هفتم صورتی است و درهای آن سفید است و . ...در حقیقت هر یک از طبقه
های آپارتمان ما همچون یک Objectیا شئی در زبان برنامه نویسی جاوا است .اگرچه
که هر یک از طبقات آپارتمان ما دارای یکسری ویژگی های خاص است ،اما این در
حالی است که کلیه طبقات آپارتمان از یکسری ویژگی های ثابت همچون اتاق خواب،
سرویس ،آشپزخانه و پنجره برخوردارند .در زبان برنامه نویسی جاوا یک Classدقیق ًا
چنین نقشی را ایفا می کند .به عبارت دیگر در یک برنامه تحت جاوا Class ،به منزله
یک نقشه خانه است که هر یک از طبقات آپارتمان از روی آن ساخته می شود اما هر
یک از طبقات علیرغم داشتن یک پالن ثابت دارای یکسری ویژگی های منحصر به فرد
خود است که اصطالح ًا به هر یک از آن طبقات یک Objectگفته می شود .حال در
برنامه نویسی ،برنامه نویس یک Classبا یکسری خصوصیات تعریف کرده سپس از
روی آن Classتعریف شده تعدادی Objectمی سازد و این Objectها هرکدام
داری زیربنایی یکسان اما نمایی متفاوت می باشند .در واقع این همان ویژگی است که
زبان برنامه نویسی جاوا را بسیار منحصر به فرد کرده است .آنچه زبان برنامه نویس جاوا
را بسیار زیبا می سازد این ویژگی است که در ذیل در قالب مثال آپارتمان ذکر می شود.
5
در واقع ما یک نقشه کلی یا Classبرای آپارتمان طراحی می کنیم .حال تصمیم می
Page
در مثال دوم فرض کنیم که قرار است برای یک بانک یک نرم افزار حفظ اطالعات
حساب های مشتریان بنویسیم .ساختار چنین برنامه ای به شکل زیر خواهد بود:
Account
Name Id Balance
CustomerOne 2234 100000$
CustomerTwo 2235 2000000$
در مثال فوق ما یک Classداریم تحت عنوان Accountو این کالس ما دارای سه
6
Page
متغییر با نام های Name, Id, Balanceبه معنی به ترتیب نام ،شناسه و موجودی
دوره آموزش جاوا
کلیه حقوق متعلق به وب سایت نردبان است.
مدرس :بهزاد مرادی
می باشد .حال از روی این Classمی توانیم دو Objectایجاد کنیم که Object
اول دارای خصوصیات
در واقع هر دو Objectما نمود عینی کالس Accountمی باشند .امیدوارم با ذکر
این دو مثال مفهوم برنامه نویسی شئی گرایی مشخص شده باشد و در صورتیکه باز هم
بخشی از مفاهیم آن طور که باید وشاید ملموس نیستند هیچ جای نگرانی نیست چرا که
در آموزش های آتی در طول دوره این مفاهیم به خوبی منتقل خواهند شد.
هر برنامه کامپیوتری یا به عبارتی هر نرم افزار مجموعه ای از دستوراتی است که به ترتیب
خاصی به کامپیوتر داده می شوند و یکی پس از دیگری اجرا می شوند .به طور مثال یک
ویروس که برنامه مخرب کامپیوتری است که دستورات آن بر مبنای تخریب و یا از بین
بردن بخشی از اطالعات ذخیره شده روی کامپیوتر نوشته شده اند .برای روشن تر شدن
مطلب ،نرم افزار را به یک مثال از زندگی روزمره مان تشبیه می کنیم .فرض را بر این
بگذاریم که خودروی شخصی شما خراب می شود و شما مجبور می شوید که آن را نزد
مکانیکی ببرید .مکانیک پس از عیب یابی خودروی شما از شاگرد خود می خواهد که
موارد ذیل را به ترتیب اجرا کند:
اول ماشین را خاموش کند .دوم کاپوت ماشین را باال بزند .سوم روکش انژکتور را
بردارد .چهارم پس از باز کردن انژکتور سوزن سوم آن را تعویض کند .پنجم انژکتور را
مجدد ًا سوار کند .ششم روکش آن را نصب کند .و در نهایت کاپوت ماشین را بسته و
7
استارت بزند.
Page
پس از اجرای برنامه اکلیپس از شما درخواست می شود تا مسیری را مشخص نمایید تا
پروژه های جاوا که طراحی می کنید را در آن ذخیره سازد .این مسیر به دلخواه شما می
تواند هرجایی رو کامپیوتر شما باشد .پس از مشخص کردن مسیر گزینه OKرا انتخاب
نمایید .از آنجا که این اولین باری است که شما نرم افزار را اجرا می کنید ،یک صفحه
خوش آمد گویی یا Welcome Screenنمایان خواهد شد .پس از نگه داشتن
نشانگر موس خود روی تک تک گزینه ها ،گزینه مرتبط با Workbenchیا صفحه
اصلی نرم افزار را پیدا نموده و روی آن کلیک نمایید .حال شما در محیط اصلی نرم افزار
قرار دارید .از آنجا که ممکن است شما بیش از یک نسخه از نرم افزار جاوا را روی
سیستم عامل خود نصب داشته باشید ،نیاز است که در این مرحله برای اکلیپس مشخص
کنید که از کدام نسخه جاوا برای برنامه نویسی استفاده کند(درحال حاضر آخرین نسخه
جاوا 7می باشد) .در منوی اصلی اکلیپس ،با انتخاب گزینه Windowsزیرشاخه
Preferencesرا انتخاب نمایید .در قسمت چپ پنجره منوی Javaرا انتخاب
9
Page
حال چنانچه نسخه JREمد نظر شما در لیست موجود نباشد می توانید روی دکمه
Addکلیک نموده و آن را به لیست فوق اضافه نمایید .در پنجره ای که باز خواهد شد
روی گزینه Standard VMکلیک نمایید و سپس دکمه Nextرا کلیک نمایید.
حال در بخش JER homeمکانی که در آن جاوا را روی سیستم عامل خود نصب
نموده اید را مشخص نمایید .معموالً نسخه های JREکه روی ویندوز نصب می شوند
در مسیر دایرکتوری C:\Program Files\Java\jre7قرار می گیرند .در صورتیکه
اکلیپس به صورت خودکار بخش JRE nameرا پر نکرد می توانید این کار را خود با
نامی مرتبط با JREمد نظر انجام دهید .حال می توانید گزینه Finishرا انتخاب نمایید
تا تغییرات شما اعمال شود و به صفحه ای بازگردید که در آن نسخه های نصب شده
JREشما قابل مشاهده هستند .نسخه نصب شده جدید خود را پیدا نموده و آن را
انتخاب نمایید .در این مرحله کار شما به پایان رسیده است .حال در همان منوی اصلی
جاوا که از آن Installed JREsرا انتخاب نمودید ،زیرشاخه Compilerرا پیدا
نموده و به هیچ وجه آن را باز ننمایید بلکه فقط با کلیک کردن موس روی آن ،آن را
10
انتخاب نمایید تا رنگ آن آبی شود .حال در منوی سمت راست مرتبط با زیرشاخه
Page
در واقع همانطور که یک IDEبه منزله یک ابزار برنامه نویسی است ،نحوه صحیح تایپ
11
نیز می تواند کمک شایانی در حرفه ای شدن ما به عنوان یک برنامه نویس کند .از دید
Page
برنامه نویسان را مجبور کنیم که به کالس تایپ حرفه ای بروند بلکه حداقل انتظاری که
Page
به منظور فراگیری نحوه صحیح تایپ راه کارهای متفاوتی وجود دارد من جمله نرم
افزارهایی که برای این منظور طراحی شده اند و حتی یکسری کالس های آموزشی نیز
وجود دارند .اما راه کاری که بنده برای فراگیری تایپ ده انگشتی استفاده کردم عکس
زیر بود:
13
Page
مهارت دومی که برای یک برنامه نویس الزم و ضروری است فرا گیری زبان انگلیسی
است .در واقع دالیل مختلفی وجود دارند که بنده تاکید دارم که برنامه نویسان مبتدی
می بایست حداقل به زبان انگلیسی آشنایی داشته باشند( .اگر توجه کرده باشید بنده به
هیچ وجه از اصطالح تسلط به زبان انگلیسی استفاده نکردم چرا که اگر نگوییم تسلط به
یک زبان خارجی کاری محال است ،می توانیم بگوییم که کاری بسیار دشوار می باشد).
از جمله این دالیل می توان گفت که یک برنامه نویس برای اینکه همواره به روز باشد
و از آخرین پیشرفت ها در زمینه برنامه نویسی مطلع باشد می بایست با زبان انگلیسی آشنا
باشد .از سوی دیگر Documentationیا اسناد زبان برنامه نویسی جاوا کام ً
ال به زبان
انگلیسی نوشته شده است و برای خواندن آن ها ما می بایست با زبان انگلیسی آشنا باشیم.
14
یکی دیگر از مواردی که دانستن زبان انگلیسی در آن به کمک ما می آید مکاتبه با دیگر
Page
نویس دامنه خاصی از واژگان را مورد استفاده قرار می دهد که معانی آن واژگان ممکن
Page
پیشنهادی که به عالقمندان به برنامه نویسی جاوا می توان داد این است که دفترچه ای
را تحت عنوان واژه نامه برای نوشتن اصطالحات التین برنامه نویسی جاوا به همراه
تعاریف آن ها اختصاص داده تا بتوانند در صورت لزوم به مرور اصطالحات خاص این
زبان بپردازند.
در مقدمه آموزش برنامه نویسی جاوا ما با مفهوم برنامه نویسی کامپیوتر به طور کلی آشنا
شده و از بین زبان های برنامه نویسی به ذکر تاریخچه و همچنین مزایای زبان برنامه نویسی
جاوا که در این سری از آموزش ها مد نظر ما است پرداختیم .سپس محیطی که در آن
بتوان کد نویسی کرد را آماده ساخته و منتظر خواهیم ماند تا در قسمت بعدی آموزش
اولین برنامه جاوا خود را اجرا نماییم .در نهایت به دو ابزار بسیار مهم در حرفه برنامه
نویسی اشاره شد که امیدواریم عالقمندان در کنار فراگیری زبان برنامه نویسی جاوا ،این
مهارت های جانبی را نیز دنبال نمایند.
16
Page