1. مهمان گرامی، جهت ارسال پست، دانلود و سایر امکانات ویژه کاربران عضو، ثبت نام کنید.
    بستن اطلاعیه

آموزش برنامه نویسی جاوا و اندروید

شروع موضوع توسط minaaa ‏9/2/14 در انجمن Java Script

  1. کاربر پیشرفته

    تاریخ عضویت:
    ‏9/12/10
    ارسال ها:
    19,795
    تشکر شده:
    6,456
    امتیاز دستاورد:
    113
    [​IMG] برنامه نویسی

    [h=1]آموزش برنامه نویسی جاوا و اندروید - قسمت اول مقدمه[/h]
    شاید اگر سال 2013 را سال برنامه نویسان بنامیم خیلی اغراق نکرده باشیم چرا که در این سال برنامه نویسی در رأس هرم برترین مشاغل سال و فرصت های شغلی قرار گرفته است. در حقیقت این مهم نیست که ما چه زبانی را برای برنامه نویسی انتخاب می کنیم بلکه نکته ای که می بایست مد نظر قرار داده شود این است که در این مسیر لذت بخش و درآمد زاد گام نهاده و جامعه ای که در آن زندگی می کنیم را از یک سو و زندگی شخصی خود را از سوی دیگر متحول سازیم.

    اینکه چرا زبان برنامه نویسی جاوا را مد نظر قرار داده ایم سوالی است که با این پاسخ روشن خواهد شد: "بدون اغراق زبان برنامه نویسی جاوا به منزله یکی از معروف ترین زبان های برنامه نویسی در دنیا است چرا که از این زبان برنامه نویسی علاوه بر ساخت برنامه های کامپیوتری، در ساخت اپلیکیشن ها و بازی های پلتفورم اندروید نصب شده روی تلفن های همراه و تبلت ها و همچنین برنامه نویسی برای وب سایت های تعاملی مثل وب سایت بانک ها و موسسات بزرگ نیز استفاده می شود.

    در حقیقیت یکی از علل میزان محبوبیت این زبان برنامه نویسی در میان میلیون ها برنامه نویس حرفه ای در سرتاسر جهان این است که این زبان برنامه نویسی غیرممکن ها را ممکن ساخته است. از دیگر مزایای این زبان برنامه نویسی می توان به مفید بودن، قدرتمند بودن و همچنین به کارگیری فن آوری های نوین همچون میزان امنیت بالا در طراحی این زبان برنامه نویسی اشاره کرد. هیچ جای شگفتی نیست که آشنایی با زبان برنامه نویسی پلتفورم محبوبی همچون اندروید که بیش از 70 درصد سهم بازار جهانی را در میان تلفن های همراه به خود اختصاص داده است می تواند امید بخش آینده مالی خوبی نیز برای برنامه نویسان این حوزه باشد".

    زبان برنامه نویسی جاوا زبان ساده ای است مخصوصاً برای کسانیکه از پیشینه برنامه نویسی با C و C++ برخوردار باشند. در زبان جاوا شیئ گرایی مورد استفاده قرار می گیرد به این شکل که هر چیزی در زبان جاوا یک شئی است و همین مسئله برنامه نویسی در محیط جاوا را بسیار ساده می سازد. یکی از ویژگی های منحصر به فرد جاوا مدیریت حافظه است که حافظه تخصیص داده شده را مدیریت کرده و به موقع آزاد می کند. جاوا این امکان را به ما می دهد تا در آن واحد چندین برنامه را به طور هم زمان اجرا کنیم. از دیگر مزایای این زبان برنامه نویسی می توان امنیت بالای برنامه هایی اشاره کرد که با جاوا نوشته می شوند چرا که جاوا با ایجاد یک Firewall مابین کامپیوتر شما و شبکه، از حمله ویروس ها به اطلاعات شخصی شما جلوگیری به عمل خواهد آمد. برنامه های نوشته شده توسط جاوا قابلیت حمل دارند و روی هر سیستمی که جاوا روی آن نصب باشد قابل اجرا هستند.

    در واقع در این دست مقالات مرتبط با آموزش زبان برنامه نویسی جاوا حداکثر تلاش صورت گرفته است تا آموزش ها برای گروهی از مخاطبین تدوین شوند که تاکنون حتی یک خط کد هم در زندگی خود ننوشته اند. به عبارت دیگر این امید را به خوانندگان عزیز می توان داد که چنانچه یک رایانه شخصی، کمی زمان آزاد اما در عین حال انگیزه بسیار زیادی داشته باشند قادر گردند پس از خواندن کلیه مقالات آموزش زبان برنامه نویسی جاوا برای مدیریت زندگی شخصی خود، شرکت خود و یا دوستان و یا برای شرکتی که در آن کار می کنند برنامه ای مفید بنویسند.

    شاید بارها و بارها به فکر این افتاده باشید که یک زبان برنامه نویسی را فرا بگیرید اما به دلیل اینکه شنیده اید که برنامه نویس شدن نیازمند برخورداری از یک ذهن تحلیلی، داشتن یک مدرک مرتبط از دانشگاه و داشتن جدید ترین رایانه شخصی چه از لحاظ نرم افزاری و چه از لحاظ سخت افزاری است از این فکر صرف نظر کرده اید. خبر خوشحال کننده برای آن دسته از علاقمندان که تاکنون چنین طرز فکری داشته اند این است که عدم برخورداری از هیچ کدام از موارد فوق الذکر مانع برنامه نویس شدن شما نخواهد شد. شاهد مثال این ادعا هم این است که نگارنده این مقاله هیچ کدام از موارد فوق به جزء تا حدودی مورد اول را نداشته است.

    نکته جالب توجه آن جا است که پس از فراگیری اصول برنامه نویسی شما از یک ذهن تحلیلگر برخوردار خواهید شد که نه تنها در حوزه برنامه نویسی شما سودمند خواهد بود، بلکه در زندگی روزمره شخصی شما نیز راه کارهای بیشماری را در ارتباط با مسائل مختلف پیش روی شما خواهد گذاشت. علاوه بر این مورد شما به یک سرمایه علمی دست خواهید یافت که هرگز با گذراندن واحد های آکادمیک دانشگاه به آن دست نخواهید یافت چرا که آنچه در این دوره فرا خواهید گرفت برنامه نویسی عملی و کاربردی است و تئوری تا جایی مورد استفاده قرار می گیرد که منجر به درک بهتر اصول برنامه نویسی جاوا گردد. و در نهایت سودی که از برنامه نویسی عاید شما می شود به طور حتم به گونه است که شما را قادر خواهد ساخت هر کامپیوتر و یا لپ تاپی که تاکنون آرزوی آن را داشته اید را به سهولت خریداری نمایید.

    به دنیای یادگیری جاوا خوش آمدید. ادامه مطلب را از دست ندهید. ​
    [h=3]مقدمه بر زبان های برنامه نویسی[/h]
    در حقیقت گام اول و اساسی برای برنامه نویس شدن انتخاب زبان برنامه نویسی مناسب است. منظور از زبان برنامه نویسی مناسب این است که هر زبان برنامه نویسی دارای نقاط ضعف و قوتی و بسته به اینکه شما چه نیازی از زبان برنامه نویسی دارید یکی را بر دیگر زبان ها ترجیح خواهید داد. زبان برنامه نویسی Visual Basic شرکت مایکروسافت برای طراحی هزاران هزار برنامه تجاری، اداری و شخصی مورد استفاده قرار گرفته است و این در حالی است که برنامه های طراحی شده در این زبان برنامه نویسی در مقایسه با برنامه های طراحی شده در قالب زبان های دیگری همچون زبان برنامه نویسی C# و C++ از سرعت اجرای کمتری برخوردارند و این افت سرعت در برنامه هایی همچون بازی ها که از گرافیک بالاتری نسبت به مابقی برنامه ها برخوردارند نمود بیشتری دارد.

    زبان برنامه نویسی جاوا در اوایل دهه 1990 توسط جیمز گاسلینگ و همکارانش در شرکت سان مایکروسیستمز پایه ریزی شد و از همان ابتدا شعار طراحان این زبان این بود که "یک بار بنویس، همه جا اجراش کن" که بعد ها این شرکت توسط شرکت اوراکل خریداری شد. در حقیقت آقای گاسلینگ از روش برنامه نویسی در C++ خیلی احساس رضایت نمی کرد و همین امر موجب شد که وی زبان جاوا را بر مبنای زبان C++ طراحی کند به نحوی که برنامه های مد نظر ایشان را به نحو بهتری اجرا کند. این زبان برنامه نویسی موفق که در سال 1995 به طور رسمی وارد بازار شد توانست چنان محبوبیتی در جهان پیدا کند که در حال حاضر در بیش از 3 میلیارد ابزار رایانه ای و تلفنی مورد استفاده قرار گرفته و تاکنون بیش از 1000 جلد کتاب پیرامون آن به رشته تحریر درآمده است. این زبان داری ساختار یا Syntax همچون زبان های C و C++ می باشد اما از سادگی بیشتری برخوردار است. اگر چه که زبان برنامه نویسی جاوا نسبت به زبان برنامه نویسی Visual Basic از دشواری بیشتری برخوردار است اما این زبان از مزایای بسیاری برخوردار می باشد که از آن جمله می توان به این نکته اشاره کرد که زبان جاوا زبان وب و موبایل است به نحوی که از آن می توان در ساخت و طراحی اپلیکیشن ها و بازهای تحت وب و قابل اجرای بر روی گوشی های همراه استفاده کرد.

    فرض کنیم که قرار است ما یک آپارتمان 10 طبقه بسازیم. هر 10 طبقه از آپارتمان ما دارای یکسری ویژگی های خاص و منحصر به فرد است مثل اینکه رنگ دیوار های طبقه اول سفید است و درهای آن کرم رنگ هستند اما این در حالی است که رنگ دیوار های طبقه هفتم صورتی است و درهای آن سفید است و... . در حقیقت هر یک از طبقه های آپارتمان ما همچون یک Object یا شئی در زبان برنامه نویسی جاوا است.

    اگرچه که هر یک از طبقات آپارتمان ما دارای یکسری ویژگی های خاص است، اما این در حالی است که کلیه طبقات آپارتمان از یکسری ویژگی های ثابت همچون اتاق خواب، سرویس، آشپزخانه و پنجره برخوردارند. در زبان برنامه نویسی جاوا یک Class دقیقاً چنین نقشی را ایفا می کند. به عبارت دیگر در یک برنامه تحت جاوا، Class به منزله یک نقشه خانه است که هر یک از طبقات آپارتمان از روی آن ساخته می شود اما هر یک از طبقات علیرغم داشتن یک پلان ثابت دارای یکسری ویژگی های منحصر به فرد خود است که اصطلاحاً به هر یک از آن طبقات یک Object گفته می شود. حال در برنامه نویسی، برنامه نویس یک Class با یکسری خصوصیات تعریف کرده سپس از روی آن Class تعریف شده تعدادی Object می سازد و این Object ها هرکدام داری زیربنایی یکسان اما نمایی متفاوت می باشند.

    در واقع این همان ویژگی است که زبان برنامه نویسی جاوا را بسیار منحصر به فرد کرده است. آنچه زبان برنامه نویس جاوا را بسیار زیبا می سازد این ویژگی است که در ذیل در قالب مثال آپارتمان ذکر می شود. در واقع ما یک نقشه کلی یا Class برای آپارتمان طراحی می کنیم. حال تصمیم می گیریم که تعدادی از طبقات آپارتمان ما سه خوابه بوده و تعدای از آنها چهار خوابه ساخته شوند. در حقیقت ما از روی Class اصلی دو Class دیگر تحت عناوین سه خوابه و چهار خوابه طراحی می کنیم که ویژگی های Class اصلی را به ارث می برند. در برنامه نویسی جاوا به این رویداد Inheritance یا به ارث بردن می گویند. اصطلاحاً Class اصلی Superclass یا Class اصلی است و کلاس های سه خوابه و چهار خوابه Subclass یا Class زیرمجموعه می باشند. به عبارت دیگر می توان گفت که Class اصلی Class والد بوده و Class های زیرمجموعه Class فرزند می باشند.

    نکته ای که در اینجا می بایست حتماً مد نظر قرار دهیم این است که Class خود به تنهایی منجر به ایجاد چیزی نخواهد شد چرا که Class یک مفهوم انتزاعی است و چنانچه بخواهیم نمود عینی یک Class را ببینیم به یک Object نیاز داریم. در حقیقت پیش از طرح ریزی زبان های برنامه نویسی شئی گرا، برنامه نویسان چنانچه مجبور بودند تغییری در بخش از برنامه خود ایجاد کنند می بایست کل برنامه را از ابتدا بنویسند اما پس از ظهور زبان های برنامه نویسی این مشکل به کلی حل شد چرا که با اعمال تغییر روی یک Class مد نظر، کلیه Object های برگرفته از آن Class تغییر خواهند یافت.

    در مثال دوم فرض کنیم که قرار است برای یک بانک یک نرم افزار حفظ اطلاعات حساب های مشتریان بنویسیم. ساختار چنین برنامه ای به شکل زیر خواهد بود: ​
    [TABLE]
    [TR]
    [TH="colspan: 3, align: center"]Account[/TH]
    [/TR]
    [TR]
    [TD]Name[/TD]
    [TD]Id[/TD]
    [TD]Balance[/TD]
    [/TR]
    [TR]
    [TD]CustomerOne[/TD]
    [TD]2234[/TD]
    [TD]100000$[/TD]
    [/TR]
    [TR]
    [TD]CustomerTwo[/TD]
    [TD]2235[/TD]
    [TD]2000000$[/TD]
    [/TR]
    [/TABLE]
    در مثال فوق ما یک Class داریم تحت عنوان Account و این کلاس ما دارای سه متغییر با نام های Name, Id, Balance به معنی به ترتیب نام، شناسه و موجودی می باشد. حال از روی این Class می توانیم دو Object ایجاد کنیم که Object اول دارای خصوصیاتName: CustomerOne, Id: 2234, Balance: 100000 و Object دوم دارای خصوصیات Name: CustomerTwo, Id: 2235, balance: 2000000 می باشد. در واقع هر دو Object ما نمود عینی کلاس Account می باشند.

    امیدوارم با ذکر این دو مثال مفهوم برنامه نویسی شئی گرایی مشخص شده باشد و در صورتیکه باز هم بخشی از مفاهیم آن طور که باید وشاید ملموس نیستند هیچ جای نگرانی نیست چرا که در حین برنامه نویسی در طول دوره این مفاهیم به خوبی منتقل خواهند شد.

    هر برنامه کامپیوتری یا به عبارتی هر نرم افزار مجموعه ای از دستوراتی است که به ترتیب خاصی به کامپیوتر داده می شوند و یکی پس از دیگری اجرا می شوند. به طور مثال یک ویروس که برنامه مخرب کامپیوتری است که دستورات آن بر مبنای تخریب و یا از بین بردن بخشی از اطلاعات ذخیره شده روی کامپیوتر نوشته شده اند. برای روشن تر شدن مطلب، نرم افزار را به یک مثال از زندگی روزمره مان تشبیه می کنیم. فرض را بر این بگذاریم که خودروی شخصی شما خراب می شود و شما مجبور می شوید که آن را نزد مکانیک ببرید. مهندس مکانیک پس از عیب یابی خودروی شما از شاگرد خود می خواهد که موارد ذیل را به ترتیب اجرا کند:

    اول ماشین را خاموش کند. دوم کاپوت ماشین را بالا بزند. سوم روکش انژکتور را بردارد. چهارم پس از باز کردن انژکتور سوزن سوم آن را تعویض کند. پنجم انژکتور را مجدداً سوار کند. ششم روکش آن را نصب کند. و در نهایت کاپوت ماشین را بسته و استارت بزند.

    در مثال فوق مهندس مکانیک به منزله برنامه نویس است و شاگرد هم به منزله اجرا کننده و یا همان کامپیوتر. مفهوم تعمیر شدن ماشین را نیز می توان به عملیاتی تشبیه کرد که یک نرم افزار انجام می دهند. هر یک از دستوراتی را که مهندس به شاگردش می دهد همانند همان دستواراتی است که ما به عنوان برنامه نویس به کامپیوتر می دهیم تا کاری را انجام دهد. حال اگر این دستورات به نحوی باشند که کار مثبتی صورت گیرد ما یک نرم افزار تولید کرده ایم و چنانچه این دستورات موجب ایجاد خللی در سیستم شوند و به جایی صدمه بزنند ما یک بدافزار یا ویروس طراحی کرده ایم. به عبارت دیگر شاگرد مکانیک به جای تعوض سوزن انژکتور می تواند نه تنها سوزن را تعویض نکند بلکه از عمد به مابقی سوزن ها هم صدمه بزند.

    در برنامه نویسی اصطلاحاً به هر دستوری که می خواهیم اجرا شود یک Statement گفته می شود. حال برای نوشتن تعدادی Statement ما نیاز به یک ویرایشگر متن داریم تا بتوانیم دستورات مد نظر را در آن وارد سازیم

    مسئله که موجب دلسردی و حتی دل زدگی بسیاری از برنامه نویسان تازه کار می شود مشکلاتی که در حین برنامه نویسی با آن ها رو به رو می شوند. این گونه مشکلات یا Error ها به دو دسته تقسم می شوند: گروه اول Error هایی هستند که از نوع Syntax یا ساختاری می باشند. به طور مثال دستور system.out.println(); در مقایسه با System.out.println(); اشتباه است چرا که حرف اول واژه system به صورت حرف کوچک نوشته شده است و همین مسئله موجب می گردد که برنامه اجرا نشود. خبر امیدوار کننده اینجا است که این گروه از مشکلات توسط خود نرم افزاری که برنامه مان را با آن می نویسیم تشخیص داده شده و به ما اخطار می دهد و به سادگی می توان آن را رفع کرد.

    در مورد اینکه دستور بالا چه کاری را انجام می دهد در بخش های آتی به تفصیل توضیح خواهیم داد چرا که در اینجا صرفاً جهت مثال مورد استفاده قرار گرفته است. دسته دوم Errorهایی از نوع Logical یا منطقی هستند. به عبارت دیگر از لحاظ ساختار برنامه هیچ گونه مشکلی وجود ندارد و نرم افزار هم هیچ خطایی از برنامه نویس نمی گیرد اما در حین اجرای کد با مشکل مواجه خواهیم شد. به عنوان نمونه int total = 7 – 17; از لحاظ Syntax یا ساختار درست است ولی از لحاظ منطقی کاملاً اشتباه است چرا که هیچ وقت نمی توان یک عدد کوچک را از یک عدد بزرگتر از خود کسر کرد و برنامه نویس حتما در حین اجرای برنامه با مشکل مواجه خواهد شد. مشکلات برنامه نویسی اصطلاحاً Bug نامیده می شوند و فرایند مشکل یابی و رفع آن اصطلاحاً Debugging گفته می شوند. ​
    [h=3]انتخاب ابزاری برای برنامه نویسی جاوا[/h]
    محیط های برنامه نویسی یا IDE های زیادی همچون JDK، Eclipse، IntelliJ IDEA و NetBeans هستند که به منظور نوشتن کد های جاوا و دیگر زبان های برنامه نوبسی می توان از آن ها استفاده کرد. در این سری از آموزش ها از محیط برنامه نویسی قدرتمند Eclipse استفاده می کنیم که علاقمندان می توانند به صورت رایگان آن را از سایت Eclipse بسته به نوع سیستم عامل خود دانلود کنند. در واقع برنامه Eclipse نیازی به نصب نداشته و صرفا پس از خارج کردن فایل دانلود شده از حالت زیپ با کلیک کردن بر روی آیکان eclipse.exe می توانید آن را اجرا نمایید. به منظور آماده سازی محیط برنامه نویسی جاوا شما حتماً بهJRE و JDK نیاز دارید که می توانید آخرین نسخه آن را از این لینک دریافت نمایید.

    پس از اجرای برنامه اکلیپس از شما درخواست می شود تا مسیری را مشخص نمایید تا پروژه های جاوا که طراحی می کنید را در آن ذخیره سازد. این مسیر به دلخواه شما می تواند هرجایی رو کامپیوتر شما باشد. پس از مشخص کردن مسیر گزینه OK را انتخاب نمایید. از آنجا که این اولین باری است که شما نرم افزار را اجرا می کنید، یک صفحه خوش آمد گویی یا Welcome Screen نمایان خواهد شد. پس از نگه داشتن نشانگر موس خود روی تک تک گزینه ها، گزینه مرتبط با Workbench یا صفحه اصلی نرم افزار را پیدا نموده و روی آن کلیک نمایید. حال شما در محیط اصلی نرم افزار قرار دارید. از آنجا که ممکن است شما بیش از یک نسخه از نرم افزار جاوا را روی سیستم عامل خود نصب داشته باشید، نیاز است که در این مرحله برای اکلیپس مشخص کنید که از کدام نسخه جاوا برای برنامه نویسی استفاده کند(درحال حاضر آخرین نسخه جاوا 7 می باشد). در منوی اصلی اکلیپس، با انتخاب گزینه Windows زیرشاخه Preferences را انتخاب نمایید. در قسمت چپ پنجره منوی Java را انتخاب نمایید. با کلیک کردن روی مثلث مشکی رنگ کنار واژه Java قادر خواهید بود تا زیرشاخه های آن را نیز مشاهده کنید. از میان زیرشاخه ها گزینه Installed JREs را انتخاب کنید.

    پس از انتخاب این زیرشاخه در منوی سمت راست، پنجره ای را مشاهده خواهید کرد که کلیه نسخه های JRE جاوا که بر روی سیستم شما نصب است را لیست کرده است. به طور مثال چنانچه نسخه JRE 7 بر روی سیستم عامل شما نصب باشد، شما آخرین نسخه جاوا که توسط شرکت اوراکل منتشر شده را بر روی سیستم خود داشته و قادر خواهید بود از کلیه قابلیت های جاوا در طراحی نرم افزار، اپلیکیشن اندروید و همچین طراحی بازی استفاده نمایید.

    حال چنانچه نسخه JRE مد نظر شما در لیست موجود نباشد می توانید روی دکمه Add کلیک نموده و آن را به لیست فوق اضافه نمایید. در پنجره ای که باز خواهد شد روی گزینه Standard VM کلیک نمایید و سپس دکمه Next را کلیک نمایید. حال در بخش JER home مکانی که در آن جاوا را روی سیستم عامل خود نصب نموده اید را مشخص نمایید. معمولاً نسخه های JRE که روی ویندوز نصب می شوند در مسیر C:\Program Files\Java\jre7 قرار می گیرند. در صورتیکه اکلیپس به صورت خودکار بخش JRE name را پر نکرد می توانید این کار را خود با نامی مرتبط با JRE مد نظر انجام دهید. حال می توانید گزینه Finish را انتخاب نمایید تا تغییرات شما اعمال شود و به صفحه ای بازگردید که در آن نسخه های نصب شده JRE شما قابل مشاهده هستند. نسخه نصب شده جدید خود را پیدا نموده و آن را انتخاب نمایید. در این مرحله کار شما به پایان رسیده است. حال در همان منوی اصلی جاوا که از آن Installed JREs را انتخاب نمودید، زیرشاخه Compiler را پیدا نموده و به هیچ وجه آن را باز ننمایید بلکه فقط با کلیک کردن موس روی آن، آن را انتخاب نمایید تا رنگ آن آبی شود.

    حال در منوی سمت راست مرتبط با زیرشاخه Complier از بخش Complier compliance level لیستی از نسخه های نصب شده JRE بر روی سیستم عامل را خواهید دید. به طور مثال برای جاوای نسخه 7 مورد 7.1 را از لیست انتخاب نمایید. حال می توانید دکمه OK صفحه Preferences را بزنید و به صفحه اصلی نرم افزار اکلیپس باز گردید. حال کلیه ابزارهای مورد نیاز برای نوشتن اولین برنامه جاوای خود را به صورت رایگان در اختیار دارید. آنچه جالب توجه است این است که با به کار گیری ابزاری رایگان از جاوا، پشتکار و انگیزه فراوان قادر خواهید بود به صورت میلیونی درآمد زایی کنید.

    در مقدمه آموزش برنامه نویسی جاوا ما با مفهوم برنامه نویسی کامپیوتر به طور کلی آشنا شده و از بین زبان های برنامه نویسی به ذکر تاریخچه و همچنین مزایای زبان برنامه نویسی جاوا که در این سری از آموزش ها مد نظر ما است پرداختیم. سپس محیطی که در آن بتوان کد های نوشته شده خود را اجرا کرد را آماده ساخته و منتظر خواهیم ماند تا در قسمت بعدی آموزش اولین برنامه جاوا خود را اجرا نماییم. ​
    [h=3]منابع:[/h]
    از منابعی که در تدوین این سری آموزش های زبان برنامه نویسی جاوا استفاده شده است می توان به کتاب Beginning Programming with Java for Dummies ویرایش سوم از انتشارات Wiley و همچنین Teach Yourself Java in 24 Hours ویرایش ششم از انتشارات Sams و همچنین سایت رسمی شرکت اوراکل به آدرس Oracle Documentation و دیگر منابع آزاد اینترنتی اشاره کرد. در حقیقت هیچ کدام از مطالب این دوره آموزشی به صورت ترجمه لغت به لغت کتاب های اصلی نبوده و منابع صرفاً به منزله یک خط مشی مورد استفاده قرار گرفته اند.

    امید است پس از موفقیت این دوره آموزشی، دوره آموزش برنامه نویسی اندروید را آغاز نماییم و از آنجا که زبان برنامه نویسی اندروید جاوا است، دوره آموزش جاوا به منزله پیش نیاز برنامه نویسی اپلیکیشن های اندروید می باشد. در این دوره های آموزشی آنچه شدیداً مد نظر قرار گرفته شده است این می باشد که گویی این دوره ها برای کسانی طراحی و تدوین شده اند که از صفر شروع می کنند و به هیچ وجه مبنا را بر این نگذاشته ام که مخاطب مطلب یا مورد به خصوصی را از قبل می داند. در حقیقت از آنجا که بنده خود زبان برنامه نویسی جاوا را بدون هیچ گونه دانش قبلی از جاوا و یا دیگر زبان های برنامه نویسی شروع کردم، نیازهای مخاطبین این دوره را درک کرده و آموزش ایشان هرگز به نحوی نخواهند بود که در این مسیر کمی دشوار در ابتدا، اما خوشایند در انتها سر در گم شوند. ​
     
    2 نفر از این پست تشکر کرده اند.
  2. کاربر پیشرفته

    تاریخ عضویت:
    ‏9/12/10
    ارسال ها:
    19,795
    تشکر شده:
    6,456
    امتیاز دستاورد:
    113
    پاسخ : آموزش برنامه نویسی جاوا و اندروید

    در مقدمه آموزش زبان برنامه نویسی جاوا با تاریخچه این زبان برنامه نویسی، مزایا و قابلیت ها، موارد استفاده و در نهایت محیط برنامه نویسی آن آشنا شدیم. حال پس از نصب نرم افزار اکلیپس و نسخه ای از JRE و یا JDK از لینک هایی که در مقدمه ذکر شد نوبت به کدنویسی می رسد (نسخه JDK دربرگیرنده JRE نیز می باشد).

    پیش از آغاز آموزش نیاز است با مفهوم واژه Compile در محیط برنامه نویسی آشنا شویم چرا که در طول آموزش ها از این واژه به کرات استفاده خواهد شد. معنوی لغوی واژه فوق الذکر در زبان فارسی جمع آوری کردن می باشد. به طور مثال کسی که برای تالیف یک کتاب از منابع مختلف استفاده می کند و از جاهای گوناگون مطالب کتابش را تهیه می کند در واقع Compile می کند. در محیط برنامه نویسی این واژه به زمانی اطلاق می شود که ما به عنوان برنامه نویس تعدادی Statement یا دستور نوشته ایم و می خواهیم آن ها را اجرا نماییم. به عبارت دیگر در حین Compile شدن، دستوراتی که ما به عنوان برنامه نویس نوشته ایم به دستورات قابل فهم برای کامپیوترکه همان صفر و یک می باشند تبدیل خواهند شد و در نهایت برنامه شما اجرا می گردد. حال از این پس زمانیکه در طول آموزش به واژه Compile برخورد کردیم منظور همان اجرای برنامه نوشته شده توسط اکلیپس می باشد.

    ادامه مطلب را از دست ندهید.

    به منظور ایجاد یک پروژه جدید در محیط برنامه نویسی اکلیپس از منوی File گزینه New سپس Java Project را انتخاب نمایید. در بخش Project Name به دلخواه می توانید نامی را برای پروژه خود در نظر بگیرید. در این آموزش نام پیشنهادی HelloWorld می باشد. توجه داشته باشید که از Space یا فاصله برای نام پروژه خود استفاده نکرده و اولین حرف نام پروژه خود را به صورت بزرگ بنویسید (به خاطر داشته باشید که اگر نام دیگری برای پروژه خود همچون MyProgram هم در نظر بگیرید، توجه داشته باشید که حرف اول نام پروژه شما با حرف بزرگ نوشته شود). حال در بخش JRE نسخه مد نظر برای اجرای کدهای جاوای خود را مشخص ساخته و گزینه Use and execution environment JRE را انتخاب نمایید. حال در بخش Project Layout گزینه Create separate folders for sources and class files را انتخاب نمایید. حال مابقی گزینه ها را در حالت Default یا پیش فرض گذاشته و تغییر در آن ها ایجاد نکرده و گزینه Finish را بزنید (اگر به خاطر داشته باشید در مقدمه آموزش ها نحوه نصب JDK و فعال سازی آن در محیط برنامه نویسی جاوا آموزش داده شد. در واقع شما با نصب JDK به JRE یا Java Runtime Environment هم که برای برنامه نویسی جاوا ضروری است دسترسی خواهید داشت).

    تا اینجا شما اولین گام برای ساخت یک پروژه جاوا را برداشته اید. شما در محیط اکلیپس در بخش Package Explorer فولدر پروژه ای تحت عنوان HelloWorld خواهید دید. حال با کلیک بر روی نام پروژه ای که جدیداً ساخته اید آن را انتخاب نموده سپس کلیک راست نمایید. با انتخاب گزینه New پنجره دیگری باز خواهد شد و از میان گزینه های موجود روی گزینه Class کلیک نمایید. پنجره ای تحت عنوان New Java Class باز خواهد شد. به منظور دسترسی به چنین پنجره ای می توانید از منوی اصلی گزینه File را انتخاب نموده سپس روی گزینه New کلیک نمایید و در نهایت گزینه Class را انتخاب نمایید. حال در پنجره Class در بخش Name نامی را برای Class مد نظر انتخاب نمایید. در اینجا ما نام FirstProram را انتخاب می کنیم. این نام می بایست با نام فایلی به پسوند .java که در این مرحله ایجاد می گردد یکسان باشد که اکلیپس این کار را به صورت خودکار برای ما انجام خواهد داد).

    چنانچه نام Class با نام فایل با پسوند .java یکی نباشد بسته به اینکه این Class ایجاد شده در کجای برنامه مورد استفاده قرار گیرد منجر به Error در حین Compile شدن برنامه خواهد شد(چنانچه نامی به غیر از آنچه می بایست انتخاب نمایید انتخاب کرده اید، می توانید روی فایل مد نظر کلیک راست نموده و از بخش Refactor گزینه Rename را انتخاب نمایید). لازم به ذکر است حرف اول نامی که برای Class خود انتخاب می نمایید می بایست با حرف بزرگ شروع شود. در حقیقت برای نامگذاری یک Class شما نمی توانید از , و- و فضای خالی استفاده کنید. تنها علامت نگارشی که در نامگذاری یک کلاس می توان استفاده کرد _ می باشد. حال گزینه ای با عنوان public static void main(String[] args) را تیک بزنید و دیگر گزینه ها را در حالت پیش فرض قرار داده و دکمه Finish را بزنید. اکنون درون کلاس HelloWorld شما می بایست کدهایی به شکل زیر را مشاهده نمایید:


    • class FirstProgram {
    • /**
    • * [MENTION=10078]para[/MENTION]m args
    • */
    • public static void main(String[] args) {
    • // TODO Auto-generated method stub
    • }
    • }

    خطی از برنامه که در برگیرنده public static void main(String[] args) می باشد به جاوا می گوید که این نقطه به منزله نقطه آغازین برنامه است. در حقیقت واژه main به ما می گوید که این بخش از برنامه جایی است که برنامه از آن آغاز می گردد. همانطور که ما برای نگارش از پرانتز برای تبدیل تعدادی واژه به یک گروه استفاده می کنیم مثل (جاوا، زبان برنامه نویسی و اکلیپس)، در زبان برنامه نویسی جاوا نیز به منظور نشان دادن عناصری که به یک گروه تعلق دارند از { و } استفاده می کنیم. به عبارت دیگر هرآنچه که مابین { آغازین و } پایانی باشد از یک گروه می باشد. به این گروه ها در زبان برنامه نویسی جاوا Block گفته می شود. در کد بالا { اول بعد از واژه Firstprogram و آخرین } نشاگر یک block می باشند که کل برنامه جاوای ما را در بر می گیرند. نکته ای که اینجا می بایست مد نظر قرار داده شود این است که block ها را می توان درون دیگر block ها قرار داد. در خط 5 و خط 7 یک جفت {} دیگر مشاهده می شود که دربرگیرنده یک Method با نام main هستند(در بخش های آتی به توضیح اینکه یک Method چیست خواهیمم پرداخت).

    آنچه در این block قرار می گیرد به منزله نقطه آغازین برنامه خواهد بود. در خط ششم علامت // دیده می شود که اصطلاحاً در زبان برنامه نویسی جاوا Comment گفته می شود. در حقیقت Comment ها در زبان برنامه نویسی جاوا صرفاً برای خود برنامه نویس هستند و از چشمان Compiler مخفی می مانند. به عبارت دیگر چنانچه شما بخواهید نکته را درون کد خود بنویسید که از یک سو در حین اجرا از چشمان Compiler مخفی بماند و از سوی دیگر نکته ای را به شما یادآور شود از Comment ها استفاده می کنید. در زبان برنامه نویسی جاوا ما سه مدل Comment داریم که در بخش های آتی به تفصیل در مورد آن ها توضیح داده خواهد شد(از خط 2 تا پایان خط 4 نوع دیگری از آن ها قابل مشاهده است).

    نحوه استفاده از Comment خطی به این شکل است که در منتها الیه سمت چپ خطی از کد که نوشته اید علامت // را قرار دهید تا آن خط از کد از دید Compiler مخفی بماند (به محض اینکه علامت فوق را تایپ نمایید، رنگ کد شما به رنگ خاکستری تغییر رنگ خواهد داد و این بدان معنی است که این خط از کد به یک Comment تبدیل شده است. از این پس هر کجا که خطی یا خط هایی از کد به رنگ خاکستری کم رنگ دیدید، این بدان معنا است که آن خط یا خطوط Comment هستند). تا اینجا شما موفق شده اید که اولین برنامه جاوای خود را با موفقیت بنویسید. اما چنانچه از منوی اصلی گزینه Run و مجدداً گزینه Run را انتخاب کنید یا به جای این کار کلید F5 را بزنید هیچ خروجی را مشاهده نخواهید کرد چرا که در بخش main که به منزله نقطه آغازین برنامه است شما هیچ چیزی به جزء یک خط Comment که آن هم از دید Compiler مخفی می ماند ننوشته اید(در بخش های آینده در مورد تک تک واژگان خط 5 و معنی آن ها به تفصیل توضیح داده خواهد شد. با توجه به نوع کیبورد شما ممکن است برای فعال کردن دکمه F5 نیاز باشد هم زمان دکمه Fn را هم پایین نگه دارید.

    به منظور برنامه نویسی ما نیاز داریم تا اطلاعات مورد نظر خود را در جایی ذخیره سازیم. برای این کار ما اطلاعات را بسته به نوع آن ها درون یک Variable ذخیره می سازیم. در زبان برنامه نویسی جاوا ما 8 نوع Variable داریم و نکته ای که در اینجا می بایست خیلی مد نظر قرار داده شود این است که هر Variable می توان نوع خاصی از Data یا داده را در خود ذخیره سازد. به طور مثال، اگر Variable که مخصوص ذخیره سازی یک عدد صحیح است را برای یک تعداد واژه تعریف کنیم برنامه از ما ایراد خواهد گرفت. در طول آموزش ها با انواع Variable ها، نحوه به کار گیری آن ها، نحوه اختصاص Value یا مقدار به آن ها، به کار گیری اعمال اصلی میان آن ها مثل جمع و تفریق و... آشنا خواهیم شد.

    در اولین برنامه ای که ما می نویسیم می خواهیم جمله In the Name of God به معنی به نام خدا پس از اجرای برنامه نمایش داده شود. بنابراین ما نیاز به یک Variable داریم تا یک Value از جنس کلمه، جمله یا پاراگراف را بتواند در خود جای دهد. String یک Variable است که این کار را به راحتی می تواند برای ما انجام دهد. نکته ای که می بایست مد نظر قرار داده شود این است که هر Variable از سه بخش تشکیل می شود. بخش اول نوع خود Variable است که در این جا String می باشد(به خاطر داشته باشید که اولین حرف این واژه با حرف بزرگ نوشته شده است). بخش دوم نام Variable است که این نام کاملاً اختیاری است فقط می بایست به خاطر داشته باشیم که اولین حرف نام Variable می بایست با حرف کوچک نوشته شود. در اینجا نام text را در نظر می گیریم. و در نهایت Value آن که مابین “ ” قرار می گیرد. به منظور اختصاص دادن یک Value به یک Variable می بایست از = استفاده کرده و در نهایت یک ; قرار داد. در واقع در زبان برنامه نویسی جاوا و برخی از دیگر زبان های برنامه نویسی ; عملکردی همچون نقطه در حین نگارش یک متن دارد. به عبارتی با قرار دادن یک ; در انتهای یک Statement به جاوا می گوییم که به پایان Statement رسیده ایم. Variable فوق را به طور خلاصه به شکل زیر نوشته می شود:



    • String text = "In the name of God";


    حال این Variable را در بعد از { مربوط به Method با نام main قرار می دهیم. حال کد شما می بایست به شکل زیر باشد:


    • class FirstProgram {
    • public static void main(String[] args) {
    • String text = "In the name of God";
    • }
    • }
    این خط از کد یک Variable می باشد که هدف آن نمایش دادن جمله In the Name of God است. اما خط فوق صرفاً یک Variable است که مقداری را در خود جای داده است و برای به نمایش در آمدن نیاز به ساختاری دارد که آن را به Compiler بفرستد و نهایتاً به نمایش درآید که در بخش ذیل به توضیح نحوه اجرای این کار می پردازیم.

    در خط بعد یک Statement با محتوای System.out.println(); بنویسید. این خط از کد به کامپیوتر شما این دستور را می دهد که هر آنچه مابین دو پرانتز قرار دارد را به نمایش در آورد. پس در این مرحله نام Variable که در مرحله قبل ساخته بودیم را داخل پرانتز تایپ می کنیم(به خاطر داشته باشید که چنانچه نام Variable که text می باشد را با حرف بزرگ به صورت Text بنویسیم برنامه از ما خطا خواهد گرفت چرا که زبان برنامه نویسی جاوا یک زبان case-sensitive است).

    یکی از ویژگی های اکثر زبان های برنامه نویسی case-sensitive بودن آن ها است به این معنی که به بزرگ و کوچک بودن حروف حساس هستند. به عبارتی اگر شما کلمه System که با حرف بزرگ نوشته شده است را با حرف کوچک به صورت system بنویسید در حین اجرای برنامه با مشکل مواجه خواهید شد چرا که System جزو Keyword ها یا اصطلاحات درونی خود جاوا است که فقط و فقط به صورت System و نه system برای جاوا قابل فهم است(در ادامه آموزش ها با انواع Keyword ها بیشتر آشنا خواهیم شد). در این مرحله شما با موفقیت توانستید اولین برنامه کامل جاوای خود را بنویسید. کد های شما می بایست دقیقاً با کد ذیل مطابقت داشته باشد:


    • class FirstProgram {
    • public static void main(String[] args) {
    • String text = "In the name of God";
    • System.out.println(text);
    • }
    • }

    پیش از اجرای برنامه ما نیاز داریم تا برنامه را Compile کرده و به عبارتی به دستوراتی تبدیل کنیم که برای کامپیوترمان قابل فهم باشند(صفر و یک). حال از منوی اصلی گزینه Run و مجدداً گزینه Run را انتخاب کرده، اولین برنامه شما پس از Compile شدن به صورت اتوماتیک توسط اکلیپس با موفقیت اجرا خواهد شد و در بخش Console نرم افزار اکلیپس که در قسمت پایین قرار دارد و با اجرای برنامه به صورت خودکار فعال خواهد شد مقداری را که به Variable از جنس String تحت عنوان text داده بودید را مشاهده خواهید کرد.
    [​IMG]

    زمانیکه شما Value مرتبط با Variable خود تحت عنوان text را تغییر دهید و جمله دیگر را داخل “ ” بنویسید، Variable شما مقدار قبلی خود را کاملاً از دست داده و مقدار جدید را در خود ذخیره می سازد و بالطبع پس از اجرای برنامه در بخش Console مقدار جدید اختصاص داده شده به text نمایش داده می شود.

    در این قسمت از آموزش شما توانستید اولین برنامه جاوای خود را با موفقیت اجرا نمایید. آنچه در برنامه نویسی حائز اهمیت است تکرار و تمرین می باشد و اینکار منجر به نهادینه شدن مفاهیم زبان برنامه نویسی جاوا در ذهن برنامه نویسان تازه کار خواهد شد.

    در اولین آموزش برنامه نویسان مبتدی با تعدادی واژگان آشنا شدند که هر کدام از آن ها در زبان برنامه نویسی جاوا دارای معنی خاصی می باشند و چنانچه ما بخواهیم یک زبان برنامه نویسی مثل جاوا را به خوبی درک کنیم می بایست با Syntax آن زبان کاملاً آشنا باشیم. برای روشن تر شدن این مطلب زبان برنامه نویسی جاوا را با زبانی که به آن مکالمه می کنیم مقایسه می کنیم. در واقع زبان فارسی که ما به آن تکلم می کنیم از یک دستور زبان که در برگیرنده تعدادی قاعده و قانون است و همچین تعدادی واژه تشکیل شده است. حال این واژگان فارسی بر اساس قواعد خاصی می توانند در کنار یکدیگر قرار گیرند تا بتوانیم از آن طریق با یکدیگر ارتباط برقرار سازیم.

    در حقیقت زبان برنامه نویسی جاوا هم مثل زبان فارسی از یکسری قواعد، اسم و غیره تشکلیل شده است و برای آنکه بخش های مختلف یک برنامه جاوا بتوانند با یکدیگر ارتباط برقرار سازند، می بایست این اصول کاملاً مد نظر قرار داده شوند. در حقیقت در زبان برنامه نویسی جاوا اسامی در قالب ابزارهای API یا Application Programming Interface شناخته می شوند. کسانیکه زبان برنامه نویسی جاوا را طرح ریزی کردند اسامی خاصی را برای بخش های مختلف زبان جاوا در نظر گرفته و در این زبان برنامه نویسی گنجانده اند. به عنوان مثال از قواعد و قوانین جاوا می توان به قرار دادن ; در انتهای هر Statement اشاره کرد که در صورتیکه فراموش کنیم آن را بنویسیم گویی فراموش کرده ایم جمله ای که در یک نامه فارسی نوشته ایم را با قرار دادن یک نقطه به پایان برسانیم(شاید اگر در نوشتن یک نامه گاهی اوقات فراموش کنیم که نقطه گذاری کنیم و هیچ مشکلی هم پیش نیاید.

    اما در زبان برنامه نویسی جاوا قواعد گرامری خیلی سخت گیرانه تر بوده و چنانچه فراموش کنیم یک ; در انتهای یک Statement قرار دهیم برنامه ای که نوشته ایم اجرا نخواهد شد). قواعد زبان برنامه نویسی جاوا خیلی گسترده نیستند اما در عوض API یا همان آجرهای تشکیل دهنده این زبان برنامه نویسی که در برگیرنده واژگان زبان برنامه نویسی جاوا نیز می باشند خیلی گسترده هستند و بیش از 4000 عنوان را شامل می شود و با انتشار هر نسخه جدید جاوا تعدادی هم به این لیست گسترده اضافه خواهد شد. اما خبر امیدوار کننده این است که شما به عنوان یک برنامه نویس جاوا نیازی به حفظ کردن کلیه این ابزارها نبوده و با توجه به نیازی که از زبان جاوا دارید همان ابزارها را به کار خواهید گرفت که در طول زمان ملکه ذهن شما خواهد شد. واژگان API جاوا به سه دسته تقسیم می شود که عبارتند از: Keyword, Identifier, API Identifier

    در حقیقت Keyword به واژه ای در جاوا اطلاق می شود که همواره دارای معنای ثابتی است و هیچ فرقی هم نمی کند که در کجای برنامه مورد استفاده قرار گیرد. به طور مثال واژه میز در زبان فارسی همواره دارای معنای ثابتی است و هیچ فرقی هم نمی کند که توسط چه کسی مورد استفاده قرار گیرد. در زبان برنامه نویسی جاوا Boolean یک Keyword است و همواره داری معنای ثابتی است. از دیگر Keyword های جاوا می توان به if, else, char نیز اشاره کرد. در زبان جاوا Identifier به واژه ای اطلاق می شود که ما برای نامیدن چیزی در نظر می گیریم. در پروژه ساخت اولین برنامه جاوا، ما برای Variable خود نام text را در نظر گرفتیم. در واقع text یک واژه از نوع Identifier می باشد و این در حالی است که ما می توانستیم به جای واژه text از واژگان دیگری همچون sample, tester, myString, aliString نیز استفاده کنیم.

    چنانچه بخواهیم زبان برنامه نویسی جاوا را با زبان فارسی مقایسه کنیم، می توان گفت که واژگانی از قبیل اشکان، کیانا، احسان و غیره از نوع Identifier می باشند. حال نوبت به توضیح پیرامون API Identifier می رسد که امیدواریم با این توضیح مفهوم آن کاملاً روشن گردد. در زبان فارسی یکسری واژگان هستند که از نوع Identifier می باشند و به عبارتی یکسری نام هستند که به چیزی اطلاق می شوند اما این گروه از واژگان در طول زمان نهادینه شده و پس از مدتی صرفاً به یک چیز خاص اطلاق می شوند مثل مولوی که ابتداً یک واژه از نوع Identifier بوده اما پس از گذشت زمان به یک Identifier خاص تبدیل شده که فقط و فقط به شاعر بزرگ ایرانی اطلاق می شود. در زبان برنامه نویسی جاوا تعدادی واژه وجود دارند که اصطلاحاً به آن ها API Identifier گفته می شود. درست است که این گروه از واژگان یک واژه معمولی هستند ولی از آنجا که پایه ریزان زبان برنامه نویسی جاوا به کرات از آن ها استفاده کرده اند تبدیل به واژگانی شده اند که فقط و فقط به یک چیز خاص اشاره دارند و عملکردی همانند واژه مولوی دارند و این گروهی از این واژگان عبارتند از String, main, System, out, println

    یکی دیگر از مواردی که در جاوا خیلی مورد استفاده قرار می گیرد مفهوم Method است. در واقع Method به لیستی از کارهایی گفته می شود که قرار است به ترتیب خاص انجام شوند. در زبان برنامه نویسی جاوا هر Method دارای یک نام است که با آوردن نام متد در جایی از برنامه از جاوا می خواهیم که لیست کارهایی که درون متد برنامه ریزی شده اند را انجام دهد.



    • class FirstProgram {
    • public static void main(String[] args) {
    • String text = "In the name of God";
    • System.out.println(text);
    • }
    • }

    کدهای فوق مربوط به مثال اولین پروژه جاوا است که طراحی کردیم. به منظور روشن تر شدن مطالب فوق الذکر، هر یک از اصطلاحات را از روی کد مشاهده خواهیم کرد. در این کد در خط اول یک Class با نام FirstProgram داریم و علامت { که پس از نام Class آمده و علامت } که در خط هشتم آمده است تشکیل دهنده یک block است که کل برنامه ما را در بر می گیرد. در خط سوم یک Method با نام main داریم که حاوی لیستی از دستورات می باشد. واژگانی مثل public, static, void را در بخش های آتی توضیح خواهیم داد. در واقع هر زمانیکه ما یک Method با نام main ایجاد کنیم، به Compiler این دستور را می دهیم که این بخش از کد بخشی است که برنامه را شروع می کند و در حین اجرا کامپیوتر به صورت خودکار برنامه نوشته شده توسط ما را از این بخش از برنامه به بعد اجرا می نماید. علامت { که پس از Method قرار گرفته و علامت } در خط ششم به منزله block دوم برنامه ماست.

    در این block ما یکسری دستورات مبنی بر نوشتن جمله In the Name of God روی مانیتور نوشته ایم که به ترتیب آن ها را مورد بررسی قرار خواهیم داد. در این Method ما یک Variable از جنس String تحت عنوان text داریم. در این Statement واژه String یک API Identifier است و واژه text یک Identifier می باشد. در خط پنجم ما یک Statement دیگر مشاهده می کنیم که حاوی واژگان System, out, println می باشد که همگی جزو API Identifier ها می باشند.
     
    یک شخص از این تشکر کرد.
  3. کاربر پیشرفته

    تاریخ عضویت:
    ‏9/12/10
    ارسال ها:
    19,795
    تشکر شده:
    6,456
    امتیاز دستاورد:
    113
    پاسخ : آموزش برنامه نویسی جاوا و اندروید

    در مقدمه آموزش زبان برنامه نویسی جاوا با تاریخچه این زبان برنامه نویسی، مزایا و قابلیت ها، موارد استفاده و در نهایت محیط برنامه نویسی آن آشنا شدیم. حال پس از نصب نرم افزار اکلیپس و نسخه ای از JRE و یا JDK از لینک هایی که در مقدمه ذکر شد نوبت به کدنویسی می رسد (نسخه JDK دربرگیرنده JRE نیز می باشد).

    پیش از آغاز آموزش نیاز است با مفهوم واژه Compile در محیط برنامه نویسی آشنا شویم چرا که در طول آموزش ها از این واژه به کرات استفاده خواهد شد. معنوی لغوی واژه فوق الذکر در زبان فارسی جمع آوری کردن می باشد. به طور مثال کسی که برای تالیف یک کتاب از منابع مختلف استفاده می کند و از جاهای گوناگون مطالب کتابش را تهیه می کند در واقع Compile می کند. در محیط برنامه نویسی این واژه به زمانی اطلاق می شود که ما به عنوان برنامه نویس تعدادی Statement یا دستور نوشته ایم و می خواهیم آن ها را اجرا نماییم. به عبارت دیگر در حین Compile شدن، دستوراتی که ما به عنوان برنامه نویس نوشته ایم به دستورات قابل فهم برای کامپیوترکه همان صفر و یک می باشند تبدیل خواهند شد و در نهایت برنامه شما اجرا می گردد. حال از این پس زمانیکه در طول آموزش به واژه Compile برخورد کردیم منظور همان اجرای برنامه نوشته شده توسط اکلیپس می باشد.

    ادامه مطلب را از دست ندهید.

    به منظور ایجاد یک پروژه جدید در محیط برنامه نویسی اکلیپس از منوی File گزینه New سپس Java Project را انتخاب نمایید. در بخش Project Name به دلخواه می توانید نامی را برای پروژه خود در نظر بگیرید. در این آموزش نام پیشنهادی HelloWorld می باشد. توجه داشته باشید که از Space یا فاصله برای نام پروژه خود استفاده نکرده و اولین حرف نام پروژه خود را به صورت بزرگ بنویسید (به خاطر داشته باشید که اگر نام دیگری برای پروژه خود همچون MyProgram هم در نظر بگیرید، توجه داشته باشید که حرف اول نام پروژه شما با حرف بزرگ نوشته شود). حال در بخش JRE نسخه مد نظر برای اجرای کدهای جاوای خود را مشخص ساخته و گزینه Use and execution environment JRE را انتخاب نمایید. حال در بخش Project Layout گزینه Create separate folders for sources and class files را انتخاب نمایید. حال مابقی گزینه ها را در حالت Default یا پیش فرض گذاشته و تغییر در آن ها ایجاد نکرده و گزینه Finish را بزنید (اگر به خاطر داشته باشید در مقدمه آموزش ها نحوه نصب JDK و فعال سازی آن در محیط برنامه نویسی جاوا آموزش داده شد. در واقع شما با نصب JDK به JRE یا Java Runtime Environment هم که برای برنامه نویسی جاوا ضروری است دسترسی خواهید داشت).

    تا اینجا شما اولین گام برای ساخت یک پروژه جاوا را برداشته اید. شما در محیط اکلیپس در بخش Package Explorer فولدر پروژه ای تحت عنوان HelloWorld خواهید دید. حال با کلیک بر روی نام پروژه ای که جدیداً ساخته اید آن را انتخاب نموده سپس کلیک راست نمایید. با انتخاب گزینه New پنجره دیگری باز خواهد شد و از میان گزینه های موجود روی گزینه Class کلیک نمایید. پنجره ای تحت عنوان New Java Class باز خواهد شد. به منظور دسترسی به چنین پنجره ای می توانید از منوی اصلی گزینه File را انتخاب نموده سپس روی گزینه New کلیک نمایید و در نهایت گزینه Class را انتخاب نمایید. حال در پنجره Class در بخش Name نامی را برای Class مد نظر انتخاب نمایید. در اینجا ما نام FirstProram را انتخاب می کنیم. این نام می بایست با نام فایلی به پسوند .java که در این مرحله ایجاد می گردد یکسان باشد که اکلیپس این کار را به صورت خودکار برای ما انجام خواهد داد).

    چنانچه نام Class با نام فایل با پسوند .java یکی نباشد بسته به اینکه این Class ایجاد شده در کجای برنامه مورد استفاده قرار گیرد منجر به Error در حین Compile شدن برنامه خواهد شد(چنانچه نامی به غیر از آنچه می بایست انتخاب نمایید انتخاب کرده اید، می توانید روی فایل مد نظر کلیک راست نموده و از بخش Refactor گزینه Rename را انتخاب نمایید). لازم به ذکر است حرف اول نامی که برای Class خود انتخاب می نمایید می بایست با حرف بزرگ شروع شود. در حقیقت برای نامگذاری یک Class شما نمی توانید از , و- و فضای خالی استفاده کنید. تنها علامت نگارشی که در نامگذاری یک کلاس می توان استفاده کرد _ می باشد. حال گزینه ای با عنوان public static void main(String[] args) را تیک بزنید و دیگر گزینه ها را در حالت پیش فرض قرار داده و دکمه Finish را بزنید. اکنون درون کلاس HelloWorld شما می بایست کدهایی به شکل زیر را مشاهده نمایید:


    • class FirstProgram {
    • /**
    • * [MENTION=10078]para[/MENTION]m args
    • */
    • public static void main(String[] args) {
    • // TODO Auto-generated method stub
    • }
    • }

    خطی از برنامه که در برگیرنده public static void main(String[] args) می باشد به جاوا می گوید که این نقطه به منزله نقطه آغازین برنامه است. در حقیقت واژه main به ما می گوید که این بخش از برنامه جایی است که برنامه از آن آغاز می گردد. همانطور که ما برای نگارش از پرانتز برای تبدیل تعدادی واژه به یک گروه استفاده می کنیم مثل (جاوا، زبان برنامه نویسی و اکلیپس)، در زبان برنامه نویسی جاوا نیز به منظور نشان دادن عناصری که به یک گروه تعلق دارند از { و } استفاده می کنیم. به عبارت دیگر هرآنچه که مابین { آغازین و } پایانی باشد از یک گروه می باشد. به این گروه ها در زبان برنامه نویسی جاوا Block گفته می شود. در کد بالا { اول بعد از واژه Firstprogram و آخرین } نشاگر یک block می باشند که کل برنامه جاوای ما را در بر می گیرند. نکته ای که اینجا می بایست مد نظر قرار داده شود این است که block ها را می توان درون دیگر block ها قرار داد. در خط 5 و خط 7 یک جفت {} دیگر مشاهده می شود که دربرگیرنده یک Method با نام main هستند(در بخش های آتی به توضیح اینکه یک Method چیست خواهیمم پرداخت).

    آنچه در این block قرار می گیرد به منزله نقطه آغازین برنامه خواهد بود. در خط ششم علامت // دیده می شود که اصطلاحاً در زبان برنامه نویسی جاوا Comment گفته می شود. در حقیقت Comment ها در زبان برنامه نویسی جاوا صرفاً برای خود برنامه نویس هستند و از چشمان Compiler مخفی می مانند. به عبارت دیگر چنانچه شما بخواهید نکته را درون کد خود بنویسید که از یک سو در حین اجرا از چشمان Compiler مخفی بماند و از سوی دیگر نکته ای را به شما یادآور شود از Comment ها استفاده می کنید. در زبان برنامه نویسی جاوا ما سه مدل Comment داریم که در بخش های آتی به تفصیل در مورد آن ها توضیح داده خواهد شد(از خط 2 تا پایان خط 4 نوع دیگری از آن ها قابل مشاهده است).

    نحوه استفاده از Comment خطی به این شکل است که در منتها الیه سمت چپ خطی از کد که نوشته اید علامت // را قرار دهید تا آن خط از کد از دید Compiler مخفی بماند (به محض اینکه علامت فوق را تایپ نمایید، رنگ کد شما به رنگ خاکستری تغییر رنگ خواهد داد و این بدان معنی است که این خط از کد به یک Comment تبدیل شده است. از این پس هر کجا که خطی یا خط هایی از کد به رنگ خاکستری کم رنگ دیدید، این بدان معنا است که آن خط یا خطوط Comment هستند). تا اینجا شما موفق شده اید که اولین برنامه جاوای خود را با موفقیت بنویسید. اما چنانچه از منوی اصلی گزینه Run و مجدداً گزینه Run را انتخاب کنید یا به جای این کار کلید F5 را بزنید هیچ خروجی را مشاهده نخواهید کرد چرا که در بخش main که به منزله نقطه آغازین برنامه است شما هیچ چیزی به جزء یک خط Comment که آن هم از دید Compiler مخفی می ماند ننوشته اید(در بخش های آینده در مورد تک تک واژگان خط 5 و معنی آن ها به تفصیل توضیح داده خواهد شد. با توجه به نوع کیبورد شما ممکن است برای فعال کردن دکمه F5 نیاز باشد هم زمان دکمه Fn را هم پایین نگه دارید.

    به منظور برنامه نویسی ما نیاز داریم تا اطلاعات مورد نظر خود را در جایی ذخیره سازیم. برای این کار ما اطلاعات را بسته به نوع آن ها درون یک Variable ذخیره می سازیم. در زبان برنامه نویسی جاوا ما 8 نوع Variable داریم و نکته ای که در اینجا می بایست خیلی مد نظر قرار داده شود این است که هر Variable می توان نوع خاصی از Data یا داده را در خود ذخیره سازد. به طور مثال، اگر Variable که مخصوص ذخیره سازی یک عدد صحیح است را برای یک تعداد واژه تعریف کنیم برنامه از ما ایراد خواهد گرفت. در طول آموزش ها با انواع Variable ها، نحوه به کار گیری آن ها، نحوه اختصاص Value یا مقدار به آن ها، به کار گیری اعمال اصلی میان آن ها مثل جمع و تفریق و... آشنا خواهیم شد.

    در اولین برنامه ای که ما می نویسیم می خواهیم جمله In the Name of God به معنی به نام خدا پس از اجرای برنامه نمایش داده شود. بنابراین ما نیاز به یک Variable داریم تا یک Value از جنس کلمه، جمله یا پاراگراف را بتواند در خود جای دهد. String یک Variable است که این کار را به راحتی می تواند برای ما انجام دهد. نکته ای که می بایست مد نظر قرار داده شود این است که هر Variable از سه بخش تشکیل می شود. بخش اول نوع خود Variable است که در این جا String می باشد(به خاطر داشته باشید که اولین حرف این واژه با حرف بزرگ نوشته شده است). بخش دوم نام Variable است که این نام کاملاً اختیاری است فقط می بایست به خاطر داشته باشیم که اولین حرف نام Variable می بایست با حرف کوچک نوشته شود. در اینجا نام text را در نظر می گیریم. و در نهایت Value آن که مابین “ ” قرار می گیرد. به منظور اختصاص دادن یک Value به یک Variable می بایست از = استفاده کرده و در نهایت یک ; قرار داد. در واقع در زبان برنامه نویسی جاوا و برخی از دیگر زبان های برنامه نویسی ; عملکردی همچون نقطه در حین نگارش یک متن دارد. به عبارتی با قرار دادن یک ; در انتهای یک Statement به جاوا می گوییم که به پایان Statement رسیده ایم. Variable فوق را به طور خلاصه به شکل زیر نوشته می شود:



    • String text = "In the name of God";


    حال این Variable را در بعد از { مربوط به Method با نام main قرار می دهیم. حال کد شما می بایست به شکل زیر باشد:


    • class FirstProgram {
    • public static void main(String[] args) {
    • String text = "In the name of God";
    • }
    • }
    این خط از کد یک Variable می باشد که هدف آن نمایش دادن جمله In the Name of God است. اما خط فوق صرفاً یک Variable است که مقداری را در خود جای داده است و برای به نمایش در آمدن نیاز به ساختاری دارد که آن را به Compiler بفرستد و نهایتاً به نمایش درآید که در بخش ذیل به توضیح نحوه اجرای این کار می پردازیم.

    در خط بعد یک Statement با محتوای System.out.println(); بنویسید. این خط از کد به کامپیوتر شما این دستور را می دهد که هر آنچه مابین دو پرانتز قرار دارد را به نمایش در آورد. پس در این مرحله نام Variable که در مرحله قبل ساخته بودیم را داخل پرانتز تایپ می کنیم(به خاطر داشته باشید که چنانچه نام Variable که text می باشد را با حرف بزرگ به صورت Text بنویسیم برنامه از ما خطا خواهد گرفت چرا که زبان برنامه نویسی جاوا یک زبان case-sensitive است).

    یکی از ویژگی های اکثر زبان های برنامه نویسی case-sensitive بودن آن ها است به این معنی که به بزرگ و کوچک بودن حروف حساس هستند. به عبارتی اگر شما کلمه System که با حرف بزرگ نوشته شده است را با حرف کوچک به صورت system بنویسید در حین اجرای برنامه با مشکل مواجه خواهید شد چرا که System جزو Keyword ها یا اصطلاحات درونی خود جاوا است که فقط و فقط به صورت System و نه system برای جاوا قابل فهم است(در ادامه آموزش ها با انواع Keyword ها بیشتر آشنا خواهیم شد). در این مرحله شما با موفقیت توانستید اولین برنامه کامل جاوای خود را بنویسید. کد های شما می بایست دقیقاً با کد ذیل مطابقت داشته باشد:


    • class FirstProgram {
    • public static void main(String[] args) {
    • String text = "In the name of God";
    • System.out.println(text);
    • }
    • }

    پیش از اجرای برنامه ما نیاز داریم تا برنامه را Compile کرده و به عبارتی به دستوراتی تبدیل کنیم که برای کامپیوترمان قابل فهم باشند(صفر و یک). حال از منوی اصلی گزینه Run و مجدداً گزینه Run را انتخاب کرده، اولین برنامه شما پس از Compile شدن به صورت اتوماتیک توسط اکلیپس با موفقیت اجرا خواهد شد و در بخش Console نرم افزار اکلیپس که در قسمت پایین قرار دارد و با اجرای برنامه به صورت خودکار فعال خواهد شد مقداری را که به Variable از جنس String تحت عنوان text داده بودید را مشاهده خواهید کرد.
    [​IMG]

    زمانیکه شما Value مرتبط با Variable خود تحت عنوان text را تغییر دهید و جمله دیگر را داخل “ ” بنویسید، Variable شما مقدار قبلی خود را کاملاً از دست داده و مقدار جدید را در خود ذخیره می سازد و بالطبع پس از اجرای برنامه در بخش Console مقدار جدید اختصاص داده شده به text نمایش داده می شود.

    در این قسمت از آموزش شما توانستید اولین برنامه جاوای خود را با موفقیت اجرا نمایید. آنچه در برنامه نویسی حائز اهمیت است تکرار و تمرین می باشد و اینکار منجر به نهادینه شدن مفاهیم زبان برنامه نویسی جاوا در ذهن برنامه نویسان تازه کار خواهد شد.

    در اولین آموزش برنامه نویسان مبتدی با تعدادی واژگان آشنا شدند که هر کدام از آن ها در زبان برنامه نویسی جاوا دارای معنی خاصی می باشند و چنانچه ما بخواهیم یک زبان برنامه نویسی مثل جاوا را به خوبی درک کنیم می بایست با Syntax آن زبان کاملاً آشنا باشیم. برای روشن تر شدن این مطلب زبان برنامه نویسی جاوا را با زبانی که به آن مکالمه می کنیم مقایسه می کنیم. در واقع زبان فارسی که ما به آن تکلم می کنیم از یک دستور زبان که در برگیرنده تعدادی قاعده و قانون است و همچین تعدادی واژه تشکیل شده است. حال این واژگان فارسی بر اساس قواعد خاصی می توانند در کنار یکدیگر قرار گیرند تا بتوانیم از آن طریق با یکدیگر ارتباط برقرار سازیم.

    در حقیقت زبان برنامه نویسی جاوا هم مثل زبان فارسی از یکسری قواعد، اسم و غیره تشکلیل شده است و برای آنکه بخش های مختلف یک برنامه جاوا بتوانند با یکدیگر ارتباط برقرار سازند، می بایست این اصول کاملاً مد نظر قرار داده شوند. در حقیقت در زبان برنامه نویسی جاوا اسامی در قالب ابزارهای API یا Application Programming Interface شناخته می شوند. کسانیکه زبان برنامه نویسی جاوا را طرح ریزی کردند اسامی خاصی را برای بخش های مختلف زبان جاوا در نظر گرفته و در این زبان برنامه نویسی گنجانده اند. به عنوان مثال از قواعد و قوانین جاوا می توان به قرار دادن ; در انتهای هر Statement اشاره کرد که در صورتیکه فراموش کنیم آن را بنویسیم گویی فراموش کرده ایم جمله ای که در یک نامه فارسی نوشته ایم را با قرار دادن یک نقطه به پایان برسانیم(شاید اگر در نوشتن یک نامه گاهی اوقات فراموش کنیم که نقطه گذاری کنیم و هیچ مشکلی هم پیش نیاید.

    اما در زبان برنامه نویسی جاوا قواعد گرامری خیلی سخت گیرانه تر بوده و چنانچه فراموش کنیم یک ; در انتهای یک Statement قرار دهیم برنامه ای که نوشته ایم اجرا نخواهد شد). قواعد زبان برنامه نویسی جاوا خیلی گسترده نیستند اما در عوض API یا همان آجرهای تشکیل دهنده این زبان برنامه نویسی که در برگیرنده واژگان زبان برنامه نویسی جاوا نیز می باشند خیلی گسترده هستند و بیش از 4000 عنوان را شامل می شود و با انتشار هر نسخه جدید جاوا تعدادی هم به این لیست گسترده اضافه خواهد شد. اما خبر امیدوار کننده این است که شما به عنوان یک برنامه نویس جاوا نیازی به حفظ کردن کلیه این ابزارها نبوده و با توجه به نیازی که از زبان جاوا دارید همان ابزارها را به کار خواهید گرفت که در طول زمان ملکه ذهن شما خواهد شد. واژگان API جاوا به سه دسته تقسیم می شود که عبارتند از: Keyword, Identifier, API Identifier

    در حقیقت Keyword به واژه ای در جاوا اطلاق می شود که همواره دارای معنای ثابتی است و هیچ فرقی هم نمی کند که در کجای برنامه مورد استفاده قرار گیرد. به طور مثال واژه میز در زبان فارسی همواره دارای معنای ثابتی است و هیچ فرقی هم نمی کند که توسط چه کسی مورد استفاده قرار گیرد. در زبان برنامه نویسی جاوا Boolean یک Keyword است و همواره داری معنای ثابتی است. از دیگر Keyword های جاوا می توان به if, else, char نیز اشاره کرد. در زبان جاوا Identifier به واژه ای اطلاق می شود که ما برای نامیدن چیزی در نظر می گیریم. در پروژه ساخت اولین برنامه جاوا، ما برای Variable خود نام text را در نظر گرفتیم. در واقع text یک واژه از نوع Identifier می باشد و این در حالی است که ما می توانستیم به جای واژه text از واژگان دیگری همچون sample, tester, myString, aliString نیز استفاده کنیم.

    چنانچه بخواهیم زبان برنامه نویسی جاوا را با زبان فارسی مقایسه کنیم، می توان گفت که واژگانی از قبیل اشکان، کیانا، احسان و غیره از نوع Identifier می باشند. حال نوبت به توضیح پیرامون API Identifier می رسد که امیدواریم با این توضیح مفهوم آن کاملاً روشن گردد. در زبان فارسی یکسری واژگان هستند که از نوع Identifier می باشند و به عبارتی یکسری نام هستند که به چیزی اطلاق می شوند اما این گروه از واژگان در طول زمان نهادینه شده و پس از مدتی صرفاً به یک چیز خاص اطلاق می شوند مثل مولوی که ابتداً یک واژه از نوع Identifier بوده اما پس از گذشت زمان به یک Identifier خاص تبدیل شده که فقط و فقط به شاعر بزرگ ایرانی اطلاق می شود. در زبان برنامه نویسی جاوا تعدادی واژه وجود دارند که اصطلاحاً به آن ها API Identifier گفته می شود. درست است که این گروه از واژگان یک واژه معمولی هستند ولی از آنجا که پایه ریزان زبان برنامه نویسی جاوا به کرات از آن ها استفاده کرده اند تبدیل به واژگانی شده اند که فقط و فقط به یک چیز خاص اشاره دارند و عملکردی همانند واژه مولوی دارند و این گروهی از این واژگان عبارتند از String, main, System, out, println

    یکی دیگر از مواردی که در جاوا خیلی مورد استفاده قرار می گیرد مفهوم Method است. در واقع Method به لیستی از کارهایی گفته می شود که قرار است به ترتیب خاص انجام شوند. در زبان برنامه نویسی جاوا هر Method دارای یک نام است که با آوردن نام متد در جایی از برنامه از جاوا می خواهیم که لیست کارهایی که درون متد برنامه ریزی شده اند را انجام دهد.



    • class FirstProgram {
    • public static void main(String[] args) {
    • String text = "In the name of God";
    • System.out.println(text);
    • }
    • }

    کدهای فوق مربوط به مثال اولین پروژه جاوا است که طراحی کردیم. به منظور روشن تر شدن مطالب فوق الذکر، هر یک از اصطلاحات را از روی کد مشاهده خواهیم کرد. در این کد در خط اول یک Class با نام FirstProgram داریم و علامت { که پس از نام Class آمده و علامت } که در خط هشتم آمده است تشکیل دهنده یک block است که کل برنامه ما را در بر می گیرد. در خط سوم یک Method با نام main داریم که حاوی لیستی از دستورات می باشد. واژگانی مثل public, static, void را در بخش های آتی توضیح خواهیم داد. در واقع هر زمانیکه ما یک Method با نام main ایجاد کنیم، به Compiler این دستور را می دهیم که این بخش از کد بخشی است که برنامه را شروع می کند و در حین اجرا کامپیوتر به صورت خودکار برنامه نوشته شده توسط ما را از این بخش از برنامه به بعد اجرا می نماید. علامت { که پس از Method قرار گرفته و علامت } در خط ششم به منزله block دوم برنامه ماست.

    در این block ما یکسری دستورات مبنی بر نوشتن جمله In the Name of God روی مانیتور نوشته ایم که به ترتیب آن ها را مورد بررسی قرار خواهیم داد. در این Method ما یک Variable از جنس String تحت عنوان text داریم. در این Statement واژه String یک API Identifier است و واژه text یک Identifier می باشد. در خط پنجم ما یک Statement دیگر مشاهده می کنیم که حاوی واژگان System, out, println می باشد که همگی جزو API Identifier ها می باشند.
     
    یک شخص از این تشکر کرد.
  4. کاربر پیشرفته

    تاریخ عضویت:
    ‏9/12/10
    ارسال ها:
    19,795
    تشکر شده:
    6,456
    امتیاز دستاورد:
    113
    پاسخ : آموزش برنامه نویسی جاوا و اندروید

    [​IMG] برنامه نویسی

    [h=1]برنامه نویسی جاوا - قسمت سوم: نگاهی دقیق تر به شیئ گرایی در برنامه نویسی[/h]

    در این قسمت قصد داریم نگاه دقیق تری به مفاهیم شئی گرایی که در زبان های برنامه نویسی متعددی مانند جاوا مورد استفاده قرار می گیرند داشته باشیم. در حقیقت شئی گرایی یک زبان برنامه نویسی نیست بلکه عبارت است از یکسری پارادایم ها و ایده هایی که توسط زبان های برنامه نویسی بسیاری مورد استفاده قرار می گیرد. زبان جاوا هم یکی از آن زبان ها است که بر پایه این تفکر شکل گرفته است.

    پایه و اساس تفکر OOP یا همان Object-oriented programming این بود که نگاه برنامه نویسان به برنامه نویسی به نگاه ایشان به دنیای ملموس و واقعی نزدیک تر گردد. به طور مثال کامپیوتری که شما با استفاده از آن به خواندن این مطالب آموزشی مشغول هستید یک Object یا شئی می باشد. حال این Object که در اختیار شما است با کامپیوتری که زیر دست بنده می باشد بسیار متفاوت است.

    ادامه مطلب را از دست ندهید. ​
    کامپیوتر شما شیئی است که می توانند چندین شئی دیگر را در خود جای دهد مثل هارد، سی پی یو، رم و... . کامپیوتر شما دارای یکسری Attribute یا خصیصه می باشد که آن را از دیگر کامپیوتر ها مجزا می سازد مثلاً دارای سی پی یو دو هسته ای می باشد. در عین حال کامپیوتر شما دارای یکسری Behavior یا عملکرد نیز می باشد(در زبان انگلیسی این واژه به رفتار ترجمه می شود اما به منظور انتقال بهتر مفهوم معنای دیگری در اینجا در نظر گرفته شده است). به طور مثال کامپیوتر شما می تواند یک فایل صوتی را پخش کند که این Behavior مختص یک شیئ از نوع کامپیوتر است.

    اما دیگر اشیاء در دنیای واقعی مثل یخچال دارای چنین Behavior نمی باشند. در واقع در برنامه نویسی شیئی گرایی، Object ها داری سه ویژگی می باشند: اول اینکه هر Object دارای یک Identity یا هویت خاص خود است(به طور مثال دو انسان که به منزله Object هستند را در نظر بگیرید. درست است که هر دو دارای یکسری خصایص مثل داشتن دست و پا و قدرت تفکر و غیره می باشند و در عین حال عملکردهای مشابهی نیز دارند مثل حرف زدن، دویدن و... اما دارای دو هویت مجزا می باشند مثلاً احسان و نیما.) ویژگی دوم مربوط به Attribute یا خصیصه می باشد. مثلاً قد احسان 185 سانتی متر است اما قد نیما 176 سانتی متر است. ویژگی سوم مربوط به Behavior شیئی است. مثلاً احسان می تواند به خوبی پیانو بنوازد اما نیما نقاش خوبی است.

    حال این Object هایی که ما می سازیم می بایست ریشه در جایی داشته باشند. به عبارت دیگر Object ها به خودی خود ایجاد نمی شوند از اینرو ما با مفهومی به نام Class آشنا می شویم. در حقیقت در برنامه نویسی شیئ گرایی ما نمی توانیم از Object ها صحبت به میان آوریم بدون این که توجهی به Class ها داشته باشیم. به طور خیلی خلاصه می توان گفت که Class ها برای ساخت Object ها مورد استفاده قرار می گیرند.

    همانطور که در مقدمه آموزش اشاره شد، Class همانند یک نقشه ساختمان است که از روی آن می توانیم هزاران هزار خانه بسازیم. در حقیقت ما در Class تعریف می کنیم که Object ما دارای چه Attribute و Behavior باشد. به عبارتی هر Object به منزله یک Instance یا نمونه ای از یک Class است. در برنامه نویسی به این کار اصطلاحاً Instantiation یا نمونه سازی گفته می شود.

    ما در برنامه نویسی شیئ گرا برای ایجاد اشیاء اول نیاز به برخورداری از Class داریم اما نکته ای که این جا می بایست مد نظر قرار دهیم این است ما به عنوان برنامه نویس الزماً مجبور نیستیم که کلیه کلاس ها را خودمان بنویسیم چرا که بسیاری از کلاس ها از قبل در دل برنامه جای داده شده اند و ما به راحتی با وارد کردن Class مد نظر می توانیم از قابلیت های آن استفاده کنیم. اما چنانچه بخوایم Class خود را بنویسیم می بایست همواره چهار نکته را مد نظر داشته باشیم که در ذیل به آن ها اشاره خواهیم کرد:

    در ایجاد یک کلاس جدید ما به عنوان برنامه نویس می بایست چهار مورد Abstraction, Polymorphism, Inheritance, Encapsulation را مد نظر قرار دهیم. به منظور به خاطر سپردن این چهار عنصر اصلی ساخت Class می توان حرف اول هر یک از چهار کلمه را گرفته و کلمه A PIE به معنی کلوچه را به خاطر سپرد. یک از ویژگی های OOP به کار گیری Abstraction است. در اینجا ترجمه این واژه را در قالب یک مثال عرض می کنیم.

    به طور مثال زمانیکه شما از دوست خود خواهش می کنید که لیوان آبی که روی میز است را به شما بدهد، شما فقط نمود خارجی میز را مد نظر دارید و هرگز از دوست خود نمی خواهید که لیوان آبی که روی میز قهوه ای رنگ با عرض دو متر و طول سه متر و ارتفاع کی و نیم متر را به شما بدهد بلکه صرفاً مفهوم کلی میز مد نظر شما است.

    در برنامه نویسی هم دقیقا همین طور است. در حین نوشتن کلاس ها دقیقاً ما می بایست یک مفهوم کلی را در نظر بگیریم. به طور مثال فرض کنیم که برنامه ای برای یک باشگاه بدنسازی می نویسیم. ما نیاز داریم تا یک Class ایجاد کنیم که معرف یکسری عناصر مثل نام، نام خانوادگی، تاریخ شروع دوره، میزان شهریه پرداختی باشد.

    در حقیقت در حین نوشتن Class ما به همین اکتفا کرده و به هیچ وجه در Class خود نام تک تک ورزشگاران را نخواهیم آورد. به طور خلاصه ما در ایجاد Class فقط و فقط یک مفهوم کلی را در نظر گرفته سپس Object هایی را به صورت Customized شده از روی آن Class ایجاد می کنیم.

    تاکنون برای خیلی از ما پیش آمده که سرما خورده ایم. به پزشک مراجعه می کنیم و دارو دریافت می کنیم. ممکن است برخی دارو ها در قالب کپسول باشند. در حقیقت وظیفه کپسول نگهداری داروی داخل آن و محافظت از آن است. در برنامه نویسی شئی گرایی هم وظیفه Encapsulation نیز همین می باشد که Attribute ها و Behavior های موجود در یک Object را در کنار یک دیگر نگه دارد اما این در حالی است که موضوع به همین مسئله خلاصه نمی شود. در حقیقت وظیفه Encapsulation کمی فراتر از این هم هست. مفهوم Encapsulation این امکان را به ما می دهد تا از خصایص یک Object هر آنچه را که ما تمایل داریم نمایش داده شود، در معرض دید دیگر بخش های برنامه قرار گیرند و به عبارتی دیگر بخش های برنامه ما فقط به بخش هایی از یک Object دسترسی خواهند داشت که ما آن ها را پنهان نکرده ایم.

    سوالی که در اینجا ممکن است برای برخی دوستان پیش آید این است که چه لزومی دارد که ما چیزی را در Class خود ایجاد کنیم سپس خودمان را از دسترسی به آن منع کنیم. در حقیقت ما با این کار می خواهیم وابستگی مابین بخش های مختلف برنامه را به حداقل برسانیم به نحوی که ایجاد یک تغییر کوچک در بخشی از برنامه منجر به تخریب دیگر بخش ها نگردد.

    حال سوال دیگری که ممکن است برای برنامه نویسان مبتدی پیش آید این است که چقدر ما می بایست بخش هایی از Class را پنهان سازیم و پاسخی که می توان داد این است که هرچه بیشتر بهتر. در حقیقت ما برای اینکه در برنامه های نسبتاً بزرگ با سردرگمی کمتری مواجه شویم نیاز داریم تا فقط بخشی از Class را در معرض دید دیگر بخش های برنامه قرار دهیم که ضروری است.

    Inheritance یا وراثت این امکان را در برنامه نویسی شیئ گرایی به ما می دهد تا به جای اینکه یک Class را از اول بنویسیم، شرایطی را فراهم کنیم تا برخی ویژگی های Class جدیدی که می خواهیم ایجاد کنیم را از Class دیگری به ارث ببرد. در مقدمه آموزش مثال زدیم که در آپارتمان ده طبقه ما یک Class برای کلیه طبقات وجود دارد. حال اگر بخواهیم که برخی طبقات ما سه خوابه یا چهار خوابه باشند به هیچ وجه نیازی نیست که یک Class از پایه بنویسیم بلکه به سهولت می توانیم یک Class با خصوصیت سه یا چهارخوابگی بنویسیم که دیگر خصوصیات خود را از Class اصلی یا Superclass به ارث ببرد.

    حال چنانچه ما تغییری در Superclass ایجاد کنیم، تغییر ایجاد شده در Class های سه خوابه و چهار خوابه نیز اعمال خواهد شد. نکته ای که در اینجا می بایست مد نظر قرار دهیم این است که در زبان برنامه نویسی جاوا ما فقط می توانیم از یک Class اصلی چیزی را به ارث ببریم.

    اصطلاح Polymorphism به معنی چند فرمی است. برای روش شدن این مطلب به ذکر مثالی اکتفا می کنیم. به طور مثال حیوان سگ را در نظر بگیریم. این حیوان چنانچه داده ای از جنس بوی گربه به حس بویایی اش منتقل شود پارس می کند. چنانچه داده ای از جنس گوشت به حس بویایی اش منتقل شود بزاق دهانش ترشح می شود و چنانچه داده ای از جنس بوی صاحبش به حس بویایی اش منتقل شود دم تکان می دهد.

    در هر سه حالت این حس بویایی سگ است که فعالیت می کند و تنها تفاوت در نوع داده ای است که به حس بویایی سگ منتقل می شود. در زبان برنامه نویسی جاوا علامت + دقیقاً چنین ویژگی دارا است. چنانچه ما دو متغییر از جنس عددی را با علامت + جمع کنیم حاصل جمع آن دو عدد را به ما خواهد داد. مثلاً 7+5=12 اما اگر دو متغییر از جنس String یا کلمه را با یکدیگر جمع کنیم آن دو کلمه را در کنار یکدیگر قرار خواهند گرفت مثل Hello+World=HelloWorld

    پس از صحبت پیرامون اصول برنامه نویسی شیئی گرایی، امیدواریم که مفهوم OOP را به خوبی درک کرده باشید. حال نوبت آشنایی با قسمت های مختلف تشکیل دهنده زبان برنامه نویسی جاوا می رشد که شامل Keywords, Identifiers, API Identifiers و غیره می شود. در آموزش بعدی با کلیه موارد فوق به طول مفصل آشنا خواهیم شد. ​
     
    یک شخص از این تشکر کرد.
  5. کاربر پیشرفته

    تاریخ عضویت:
    ‏9/12/10
    ارسال ها:
    19,795
    تشکر شده:
    6,456
    امتیاز دستاورد:
    113
    پاسخ : آموزش برنامه نویسی جاوا و اندروید

    [​IMG] برنامه نویسی

    [h=1]آموزش برنامه نویسی جاوا: پیام های خطا و کامنت ها[/h]
    پس از آشنایی با مفاهیم شئی گرایی در برنامه نویسی، دو مسئله مهم دیگر را که می تواند برای برنامه نویسان مبتدی مفید واقع شود را مطرح خواهیم کرد. این دو مسئله عبارتند از Error هایی که ما در برنامه نویسی با آن ها مواجه خواهیم شد و همچنین نحوه Comment کردن یا مخفی کردن بخشی از اطلاعات.

    در مقدمه این سری از آموزش های زبان برنامه نویسی جاوا، توضیح مختصری از Error ها یا مشکلاتی که برنامه نویسان مکرراً با آن ها مواجه می شوند آورده شد. ابتداً به مرور مطالب گذشته پرداخته و سپس موارد تکمیلی را توضیح خواهیم داد.

    ادامه مطلب را از دست ندهید.

    مشکلات یا Error ها در زبان برنامه نویسی جاوا به چند دسته تقسیم می شوند: گروه اول Error هایی هستند که از نوع Compile-time Error می باشند. به طور مثال دستور system.out.println(); در مقایسه با System.out.println(); اشتباه است چرا که حرف اول واژه system به صورت کوچک نوشته شده است و همین مسئله موجب می گردد که برنامه Compile نشود. خبر امیدوار کننده اینجا است که این گروه از مشکلات توسط خود نرم افزاری که برنامه خود را با آن می نویسیم تشخیص داده شده و به ما اخطار داده می شوند و به سادگی می توان آن را رفع کرد. برای روشن شدن این مطلب به ذکر چند مثال تصویری به همراه توضیحات خواهیم پرداخت.

    همانطور که در آموزش های قبلی فرا گرفتیم، پروژه ای در محیط برنامه نویسی جاوا ایجاد کرده و یک Class با نام CompileTimeErrors یا هر نام دیگردر آن ایجاد می کنیم(فقط به خاطر داشته باشیم که نام Class ما با نام فایل .java که می سازیم دقیقاً یکی باشد که در غیر این صورت برنامه ما با مشکل مواجه خواهد شد). حال می بایست کدی مشابه کد زیر داشته باشیم: ​


    • public class CompileTimeErrors {
    • /**
    • * [MENTION=10078]para[/MENTION]m args
    • */
    • public static void main(String[] args) {
    • // TODO Auto-generated method stub
    • }
    • }

    حال می خواهیم جمله This is a Compile time error را روی صفحه مانیتور نمایش دهیم پس می بایست کد خود را به شکل زیر ویرایش نماییم (لازم به ذکر است که Comment های کد را که هیچ تاثیری در نحوه ی اجرای برنامه ما ندارند را حذف می کنیم. در بخش بعدی پیرامون انواع Comment ها به طور مفصل توضیح خواهیم داد): ​


    • public class CompileTimeErrors {
    • public static void main (String[] args) {
    • system.out.prinln("This is a compile time error");
    • }
    • }

    در واقع کد فوق یک برنامه کامل و صحیح جاوا است که بدون هیچ مشکلی اجرا خواهد شد. در این جا ما قصد داریم تا عمداً تغییری در کد ایجاد کنیم تا Compiler از ما ایراد بگیرد. به همین منظور واژه out که می بایست حتماً با حروف کوچک نوشته شود را به صورت OUT می نویسیم. به محض اینکه ما واژه ی out را به OUT تغییر دهیم، با تصویر زیر مواجه خواهیم شد: ​
    [​IMG]
    ما در تصویر فوق از روی دو مورد می توانیم متوجه شویم که برنامه ما دارای Error است. محیط برنامه نویسی اکلیپس دور واژه ی مشکل زا که در اینجا OUT است یک نقطه چین قرار داده است. از سوی دیگر در کنار نام فایل .java دو علامت ستاره مشاهده می شود که نشانگر ایرادی در برنامه است. حال با قرار دادن نشانگر موس خود روی واژه OUT اکلیپس پیامی را به ما نشان می دهد که به شکل زیر است: ​
    [​IMG]
    این یکی از بخش های لذت بخش کار کردن با نرم افزار اکلیپس است. این محیط برنامه نویسی قدرتمند مشکل را پیدا کرده و در جهت رفع آن تعدادی پیشنهاد می دهد(در اینجا صرفاً یک پیشنهاد بیشتر به ما نمی دهد). چنانچه به خط آبی رنگ توجه کنیم، می بینیم که به ما پیشنهاد می شود که واژه OUT را به out تغییر دهیم که با این کار مشکل ما رفع خواهد شد. لازم به ذکر است که مثال فوق به منزله یکی از ساده ترین انواع Error ها در محیط برنامه نویسی جاوا است. در واقع یکسری از Error ها هستند که تا حدودی پیچیده تر هستند و اکلیپس برای رفع مشکل، بیش از یک مورد به ما پیشنهاد می دهد که در چنین حالتی کار ما به عنوان برنامه نویس این است که تک تک پیشنهادات را مورد بررسی قرار داده و سپس تغییر مورد نیاز را اعمال کنیم.

    نوع دیگر از Error ها تحت عنوان Unchecked Runtime Exception شناخته می شوند. در این صورت ما هیچ گونه Compile-time Error نداریم اما برنامه هم به طور کامل اجرا نمی شود. در واقع برنامه ای که ما نوشته ایم کاری را از جاوا می خواهد انجام دهد که جاوا از انجام آن ناتوان است. به طور مثال فرض کنیم که ما یک متغییر از جنس int داریم که Value اختصاص داده شده به آن 1,000,000 است. در حین نوشتن برنامه ما با هیچ گونه مشکلی مواجه نخواهیم شد اما به محض اینکه اقدام به Compile کردن برنامه می کنیم Error دریافت می کنیم. در مثال فوق اشکال کار در اینجا است که ما مابین ارقام یک کاما قرار داده ایم از این رو جاوا قادر به Compile کردن برنامه نخواهد بود. به منظور رفع این مشکل می بایست عدد فوق را به 1000000 تبدیل کنیم. در حقیقت نرم افزار اکلیپس از درک اینکه این مسئله می تواند در حین اجرا مشکل زا باشد عاجز است.

    برای روشن تر شدن این مسئله مثالی از دنیای واقعی می زنیم. فرض کنیم که شما از شخصی آدرس می پرسید. آن شخص به شما می گوید که مستقیم بروید تا به یک چهار راه برسید سپس به سمت راست بروید و رو به روی شما یک سینما قرار دارد. حال شما همانطور که آن شخص گفت مسیر را طی می کنید. مستقیم می روید. به چهار راه که رسیدید به سمت راست می روید. به رو به رو که نگاه می کنید به جای یک سینما یک دیوار سیمانی رو به روی شما قرار دارد. به عبارت دیگر شما از اول نمی دانستید که آدرسی که به شما داده شده است اشتباه است. زمانیکه اینگونه Error ها اتفاق می افتند نیز همین طور است. از بدو امر جاوا نمی داند که در حین اجرای برنامه در وسط کار مشکلی قرار است اتفاق افتد از همین رو نمی تواند پیش بینی کند که برنامه در حین Compile با مشکل مواجه خواهد شد.

    دسته دیگری از Errorها از نوع Logical یا منطقی هستند. در چنین مواقعی نرم افزار اکلیپس هیچ گونه خطایی را نشان نخواهد داد و برنامه هم به طور کامل اجرا خواهد شد اما پاسخی که نرم افزار قرار بود به ما بدهد صحیح نیست. فرض کنیم در مثال فوق شخصی که به ما آدرس می دهد به جای اینکه به ما بگوید به سمت راست برویم بگوید که به سمت چپ برویم. این دسته از Error ها به منزله چالش بر انگیزترین Error ها می باشند به طوری که رفع کردن آن ها هم ممکن است با دشواری زیادی همراه باشد(شاید مجبور باشید هفته ها وقت صرف کنید تا مشکل را بیابید). نکته ای که بایستی مد نظر قرار داده شود این است که خیلی از این دسته از Error ها خیلی اوقات اصلاً مورد توجه قرار نمی گیرند و در آینده مشکلات زیادی را برای ما به بار خواهند آورد.

    دسته آخر Error ها که بهتر است نام آن ها را Error نگذاریم بلکه Warning یا هشدار بنامیم تحت عنوان Compile-time Warning شناخته می شوند. به طور کلی این دسته از هشدار ها به مهمی Error ها نمی باشند. در واقع زمانیکه محیط برنامه نویسی اکلیپس شاهد مسئله مشکوکی باشد، یک آیکون زرد رنگ با علامت تعجب مقابل خطی که به آن مشکوک است نمایش می دهد. به مثال زیر توجه فرمایید: ​
    [​IMG]
    در مثال فوق، ما یک متغییر از جنس int ایجاد کرده ایم که نام آن test است و یک Value به میزان 100 برای آن در نظر گرفته شده است. در مقابل خطی که متغییر در آن قرار دارد یک علامت زرد رنگ با یک علامت تعجب قرار دارد. به عبارت دیگر این یک هشدار از طرف نرم افزار اکلیپس است که می خواهد به ما بگوید که این متغییر در هیچ کجای برنامه مورد استفاده قرار نگرفته است و دیگر اینکه آیا مطمئن هستید که می خواهید این متغییر را در کد خود نگه دارید. در واقع هر موقع که ما با چنین هشدار هایی مواجه شویم می توانیم نشانگر موس خود را روی آن علامت زرد رنگ نگه داشته و پیشنهادی را که اکلیپس به ما می دهد را مطالعه کنیم. به تصویر زیر توجه فرمایید: ​
    [​IMG]
    نوشته ای که در قسمت زرد رنگ دیده می شود حاکی از آن است که Value متغییری تحت عنوان test در هیچ کجای برنامه مورد استفاده قرار نگرفته است.

    به طور کلی مشکلات برنامه نویسی اصطلاحاً Bug نامیده می شوند و فرایند مشکل یابی و رفع آن اصطلاحاً Debugging گفته می شوند که تسلط به Debugging خیلی می تواند ما را در برنامه نویسی کمک کند.

    اضافه کردن Comment به کدهای خود در حین برنامه نویسی، به طرز چشمگیری می تواند ما را در برنامه نویسی کمک کند. در حقیقت برنامه نویسان با اینکار راه را برای ویرایش کد خود در آینده آسان می کنند. همانطور که قبلاً هم اشاره شد در زبان برنامه نویسی جاوا سه مدل Comment وجود دارد که عملکرد هر کدام از آن ها را مورد بررسی قرار خواهیم داد. ​


    • class FirstProgram {
    • /*
    • * This is a multi-line comment for you!
    • */
    • public static void main(String[] args) {
    • String text = "In the name of God";
    • System.out.println(text);
    • }
    • }

    نوع اول از Comment ها چند خطی می باشند. به عبارت دیگر چنانچه ما بخواهیم چند خط از کد خود را از دید Complier پنهان سازیم در خط اول علامت /* و در خط آخر علامت */ را قرار می دهیم و هر آنچه که فی مابین قرار گیرد جزو Comment حساب خواهد شد. نکته ای که در مورد این نوع از Comment ها می بایست به خاطر داشته باشیم این است که ما به عنوان برنامه نویس جاوا نمی توانیم یک Comment چند خطی را درون یک Comment چند خطی دیگر قرار دهیم چرا که با اینکار در حین اجرای برنامه با مشکل مواجه خواهیم شد.

    نوع دوم از Comment ها به Comment های پایان خط معروف هستند. در واقع چنانچه در انتهای خطی که کدی را در آن نوشته ایم بخواهیم جهت یادآوری خود چیزی یادداشت کنیم از این Comment با قرار دادن علامت // استفاده خواهیم کرد. مثالی از این Comment را در کد زیر مشاهده خواهید کرد: ​


    • class FirstProgram {
    • public static void main(String[] args) { // This is the
    • main method
    • String text = "In the name of God";
    • System.out.println(text);
    • }
    • }

    آنچه در مورد این نوع از Comment ها بسیار جالب توجه است این است که چنانچه بخشی از برنامه شما دچار مشکل باشد و شما به اصطلاح بخواهید برنامه را Debug کنید می توانید از این Comment استفاده کنید به این صورت که نشانگر موس خود را روی بخشی از کد که تصور می کنید مشکل زا است قرار داده، سپس دکمه کنترل را با علامت / فشار دهید. خواهید دید که آن بخش از کد شما Comment شده و به رنگ متفاوتی در خواهد آمد. حال می توانید برنامه را Compile کنید و ببینید که آیا مشکل رفع شده است یا خیر. چنانچه مشکل رفع شده بود متوجه خواهید شد که آن بخشی از کد که Comment شده است دارای مشکل است پس نیاز است که آن را رفع نمایید. چنانچه رفع نشده بود مجدداً با انتخاب آن بخش از کد دکمه کنترل و علامت / را فشار دهید تا از حالت Comment درآید و این کار را تا زمانی می توانید انجام دهید که مشکل برنامه خود را پیدا نمایید(اگر چه نام این Comment ها تحت عنوان Comment های پایان خط معروف است، اما ما می توانیم آن ها را در ابتدای یک خط از کد نیز مورد استفاده قرار دهیم).

    نوع سوم از Comment ها از نوع javadoc می باشند به این معنی که با قرار دادن علامت /** در ابتدای خطی که تمایل داریم به Comment تبدیل شود و قرار دادن علامت */ در انتهای خطی Comment ما به پایان می رسد، ما توضیحاتی را در داخل کد خود درج می کنیم که برای دیگران که می خواهند کد ما مطالعه کنند ولی دانش زبان جاوا ندارند بسیار مفید خواهد بود به این صورت که از کلیه Comment های برنامه خود که از نوع javadoc هستند خروجی HTML می گیریم و کلیه Comment ها به صورت یک صفحه وب در اختیار علاقمندان قرار می گیرد (نحوه ایجاد javadoc برای برنامه نویسان مبتدی ضروری نیست بنابراین از توضیح در این باره خودداری می شود). ​


    • class FirstProgram {
    • /**
    • * This is a javadoc comment for you!
    • */
    • public static void main(String[] args) {
    • String text = "In the name of God";
    • System.out.println(text);
    • }
    • }

    در این آموزش با انواع Error ها و همچنین با نحوه صحیح Comment کردن بخشی از کد خود آشنا شدیم. در آموزش بعدی با انواع متغییر های در زبان برنامه نویسی جاوا و نحوه اختصاص یک Value یا مقدار به آن ها و غیره آشنا خواهیم شد. ​
     
    یک شخص از این تشکر کرد.
  6. کاربر پیشرفته

    تاریخ عضویت:
    ‏9/12/10
    ارسال ها:
    19,795
    تشکر شده:
    6,456
    امتیاز دستاورد:
    113
    پاسخ : آموزش برنامه نویسی جاوا و اندروید

    [​IMG] برنامه نویسی

    [h=1]آموزش برنامه نویسی جاوا: پیام های خطا و کامنت ها[/h]
    پس از آشنایی با مفاهیم شئی گرایی در برنامه نویسی، دو مسئله مهم دیگر را که می تواند برای برنامه نویسان مبتدی مفید واقع شود را مطرح خواهیم کرد. این دو مسئله عبارتند از Error هایی که ما در برنامه نویسی با آن ها مواجه خواهیم شد و همچنین نحوه Comment کردن یا مخفی کردن بخشی از اطلاعات.

    در مقدمه این سری از آموزش های زبان برنامه نویسی جاوا، توضیح مختصری از Error ها یا مشکلاتی که برنامه نویسان مکرراً با آن ها مواجه می شوند آورده شد. ابتداً به مرور مطالب گذشته پرداخته و سپس موارد تکمیلی را توضیح خواهیم داد.

    ادامه مطلب را از دست ندهید.

    مشکلات یا Error ها در زبان برنامه نویسی جاوا به چند دسته تقسیم می شوند: گروه اول Error هایی هستند که از نوع Compile-time Error می باشند. به طور مثال دستور system.out.println(); در مقایسه با System.out.println(); اشتباه است چرا که حرف اول واژه system به صورت کوچک نوشته شده است و همین مسئله موجب می گردد که برنامه Compile نشود. خبر امیدوار کننده اینجا است که این گروه از مشکلات توسط خود نرم افزاری که برنامه خود را با آن می نویسیم تشخیص داده شده و به ما اخطار داده می شوند و به سادگی می توان آن را رفع کرد. برای روشن شدن این مطلب به ذکر چند مثال تصویری به همراه توضیحات خواهیم پرداخت.

    همانطور که در آموزش های قبلی فرا گرفتیم، پروژه ای در محیط برنامه نویسی جاوا ایجاد کرده و یک Class با نام CompileTimeErrors یا هر نام دیگردر آن ایجاد می کنیم(فقط به خاطر داشته باشیم که نام Class ما با نام فایل .java که می سازیم دقیقاً یکی باشد که در غیر این صورت برنامه ما با مشکل مواجه خواهد شد). حال می بایست کدی مشابه کد زیر داشته باشیم: ​


    • public class CompileTimeErrors {
    • /**
    • * [MENTION=10078]para[/MENTION]m args
    • */
    • public static void main(String[] args) {
    • // TODO Auto-generated method stub
    • }
    • }

    حال می خواهیم جمله This is a Compile time error را روی صفحه مانیتور نمایش دهیم پس می بایست کد خود را به شکل زیر ویرایش نماییم (لازم به ذکر است که Comment های کد را که هیچ تاثیری در نحوه ی اجرای برنامه ما ندارند را حذف می کنیم. در بخش بعدی پیرامون انواع Comment ها به طور مفصل توضیح خواهیم داد): ​


    • public class CompileTimeErrors {
    • public static void main (String[] args) {
    • system.out.prinln("This is a compile time error");
    • }
    • }

    در واقع کد فوق یک برنامه کامل و صحیح جاوا است که بدون هیچ مشکلی اجرا خواهد شد. در این جا ما قصد داریم تا عمداً تغییری در کد ایجاد کنیم تا Compiler از ما ایراد بگیرد. به همین منظور واژه out که می بایست حتماً با حروف کوچک نوشته شود را به صورت OUT می نویسیم. به محض اینکه ما واژه ی out را به OUT تغییر دهیم، با تصویر زیر مواجه خواهیم شد: ​
    [​IMG]
    ما در تصویر فوق از روی دو مورد می توانیم متوجه شویم که برنامه ما دارای Error است. محیط برنامه نویسی اکلیپس دور واژه ی مشکل زا که در اینجا OUT است یک نقطه چین قرار داده است. از سوی دیگر در کنار نام فایل .java دو علامت ستاره مشاهده می شود که نشانگر ایرادی در برنامه است. حال با قرار دادن نشانگر موس خود روی واژه OUT اکلیپس پیامی را به ما نشان می دهد که به شکل زیر است: ​
    [​IMG]
    این یکی از بخش های لذت بخش کار کردن با نرم افزار اکلیپس است. این محیط برنامه نویسی قدرتمند مشکل را پیدا کرده و در جهت رفع آن تعدادی پیشنهاد می دهد(در اینجا صرفاً یک پیشنهاد بیشتر به ما نمی دهد). چنانچه به خط آبی رنگ توجه کنیم، می بینیم که به ما پیشنهاد می شود که واژه OUT را به out تغییر دهیم که با این کار مشکل ما رفع خواهد شد. لازم به ذکر است که مثال فوق به منزله یکی از ساده ترین انواع Error ها در محیط برنامه نویسی جاوا است. در واقع یکسری از Error ها هستند که تا حدودی پیچیده تر هستند و اکلیپس برای رفع مشکل، بیش از یک مورد به ما پیشنهاد می دهد که در چنین حالتی کار ما به عنوان برنامه نویس این است که تک تک پیشنهادات را مورد بررسی قرار داده و سپس تغییر مورد نیاز را اعمال کنیم.

    نوع دیگر از Error ها تحت عنوان Unchecked Runtime Exception شناخته می شوند. در این صورت ما هیچ گونه Compile-time Error نداریم اما برنامه هم به طور کامل اجرا نمی شود. در واقع برنامه ای که ما نوشته ایم کاری را از جاوا می خواهد انجام دهد که جاوا از انجام آن ناتوان است. به طور مثال فرض کنیم که ما یک متغییر از جنس int داریم که Value اختصاص داده شده به آن 1,000,000 است. در حین نوشتن برنامه ما با هیچ گونه مشکلی مواجه نخواهیم شد اما به محض اینکه اقدام به Compile کردن برنامه می کنیم Error دریافت می کنیم. در مثال فوق اشکال کار در اینجا است که ما مابین ارقام یک کاما قرار داده ایم از این رو جاوا قادر به Compile کردن برنامه نخواهد بود. به منظور رفع این مشکل می بایست عدد فوق را به 1000000 تبدیل کنیم. در حقیقت نرم افزار اکلیپس از درک اینکه این مسئله می تواند در حین اجرا مشکل زا باشد عاجز است.

    برای روشن تر شدن این مسئله مثالی از دنیای واقعی می زنیم. فرض کنیم که شما از شخصی آدرس می پرسید. آن شخص به شما می گوید که مستقیم بروید تا به یک چهار راه برسید سپس به سمت راست بروید و رو به روی شما یک سینما قرار دارد. حال شما همانطور که آن شخص گفت مسیر را طی می کنید. مستقیم می روید. به چهار راه که رسیدید به سمت راست می روید. به رو به رو که نگاه می کنید به جای یک سینما یک دیوار سیمانی رو به روی شما قرار دارد. به عبارت دیگر شما از اول نمی دانستید که آدرسی که به شما داده شده است اشتباه است. زمانیکه اینگونه Error ها اتفاق می افتند نیز همین طور است. از بدو امر جاوا نمی داند که در حین اجرای برنامه در وسط کار مشکلی قرار است اتفاق افتد از همین رو نمی تواند پیش بینی کند که برنامه در حین Compile با مشکل مواجه خواهد شد.

    دسته دیگری از Errorها از نوع Logical یا منطقی هستند. در چنین مواقعی نرم افزار اکلیپس هیچ گونه خطایی را نشان نخواهد داد و برنامه هم به طور کامل اجرا خواهد شد اما پاسخی که نرم افزار قرار بود به ما بدهد صحیح نیست. فرض کنیم در مثال فوق شخصی که به ما آدرس می دهد به جای اینکه به ما بگوید به سمت راست برویم بگوید که به سمت چپ برویم. این دسته از Error ها به منزله چالش بر انگیزترین Error ها می باشند به طوری که رفع کردن آن ها هم ممکن است با دشواری زیادی همراه باشد(شاید مجبور باشید هفته ها وقت صرف کنید تا مشکل را بیابید). نکته ای که بایستی مد نظر قرار داده شود این است که خیلی از این دسته از Error ها خیلی اوقات اصلاً مورد توجه قرار نمی گیرند و در آینده مشکلات زیادی را برای ما به بار خواهند آورد.

    دسته آخر Error ها که بهتر است نام آن ها را Error نگذاریم بلکه Warning یا هشدار بنامیم تحت عنوان Compile-time Warning شناخته می شوند. به طور کلی این دسته از هشدار ها به مهمی Error ها نمی باشند. در واقع زمانیکه محیط برنامه نویسی اکلیپس شاهد مسئله مشکوکی باشد، یک آیکون زرد رنگ با علامت تعجب مقابل خطی که به آن مشکوک است نمایش می دهد. به مثال زیر توجه فرمایید: ​
    [​IMG]
    در مثال فوق، ما یک متغییر از جنس int ایجاد کرده ایم که نام آن test است و یک Value به میزان 100 برای آن در نظر گرفته شده است. در مقابل خطی که متغییر در آن قرار دارد یک علامت زرد رنگ با یک علامت تعجب قرار دارد. به عبارت دیگر این یک هشدار از طرف نرم افزار اکلیپس است که می خواهد به ما بگوید که این متغییر در هیچ کجای برنامه مورد استفاده قرار نگرفته است و دیگر اینکه آیا مطمئن هستید که می خواهید این متغییر را در کد خود نگه دارید. در واقع هر موقع که ما با چنین هشدار هایی مواجه شویم می توانیم نشانگر موس خود را روی آن علامت زرد رنگ نگه داشته و پیشنهادی را که اکلیپس به ما می دهد را مطالعه کنیم. به تصویر زیر توجه فرمایید: ​
    [​IMG]
    نوشته ای که در قسمت زرد رنگ دیده می شود حاکی از آن است که Value متغییری تحت عنوان test در هیچ کجای برنامه مورد استفاده قرار نگرفته است.

    به طور کلی مشکلات برنامه نویسی اصطلاحاً Bug نامیده می شوند و فرایند مشکل یابی و رفع آن اصطلاحاً Debugging گفته می شوند که تسلط به Debugging خیلی می تواند ما را در برنامه نویسی کمک کند.

    اضافه کردن Comment به کدهای خود در حین برنامه نویسی، به طرز چشمگیری می تواند ما را در برنامه نویسی کمک کند. در حقیقت برنامه نویسان با اینکار راه را برای ویرایش کد خود در آینده آسان می کنند. همانطور که قبلاً هم اشاره شد در زبان برنامه نویسی جاوا سه مدل Comment وجود دارد که عملکرد هر کدام از آن ها را مورد بررسی قرار خواهیم داد. ​


    • class FirstProgram {
    • /*
    • * This is a multi-line comment for you!
    • */
    • public static void main(String[] args) {
    • String text = "In the name of God";
    • System.out.println(text);
    • }
    • }

    نوع اول از Comment ها چند خطی می باشند. به عبارت دیگر چنانچه ما بخواهیم چند خط از کد خود را از دید Complier پنهان سازیم در خط اول علامت /* و در خط آخر علامت */ را قرار می دهیم و هر آنچه که فی مابین قرار گیرد جزو Comment حساب خواهد شد. نکته ای که در مورد این نوع از Comment ها می بایست به خاطر داشته باشیم این است که ما به عنوان برنامه نویس جاوا نمی توانیم یک Comment چند خطی را درون یک Comment چند خطی دیگر قرار دهیم چرا که با اینکار در حین اجرای برنامه با مشکل مواجه خواهیم شد.

    نوع دوم از Comment ها به Comment های پایان خط معروف هستند. در واقع چنانچه در انتهای خطی که کدی را در آن نوشته ایم بخواهیم جهت یادآوری خود چیزی یادداشت کنیم از این Comment با قرار دادن علامت // استفاده خواهیم کرد. مثالی از این Comment را در کد زیر مشاهده خواهید کرد: ​


    • class FirstProgram {
    • public static void main(String[] args) { // This is the
    • main method
    • String text = "In the name of God";
    • System.out.println(text);
    • }
    • }

    آنچه در مورد این نوع از Comment ها بسیار جالب توجه است این است که چنانچه بخشی از برنامه شما دچار مشکل باشد و شما به اصطلاح بخواهید برنامه را Debug کنید می توانید از این Comment استفاده کنید به این صورت که نشانگر موس خود را روی بخشی از کد که تصور می کنید مشکل زا است قرار داده، سپس دکمه کنترل را با علامت / فشار دهید. خواهید دید که آن بخش از کد شما Comment شده و به رنگ متفاوتی در خواهد آمد. حال می توانید برنامه را Compile کنید و ببینید که آیا مشکل رفع شده است یا خیر. چنانچه مشکل رفع شده بود متوجه خواهید شد که آن بخشی از کد که Comment شده است دارای مشکل است پس نیاز است که آن را رفع نمایید. چنانچه رفع نشده بود مجدداً با انتخاب آن بخش از کد دکمه کنترل و علامت / را فشار دهید تا از حالت Comment درآید و این کار را تا زمانی می توانید انجام دهید که مشکل برنامه خود را پیدا نمایید(اگر چه نام این Comment ها تحت عنوان Comment های پایان خط معروف است، اما ما می توانیم آن ها را در ابتدای یک خط از کد نیز مورد استفاده قرار دهیم).

    نوع سوم از Comment ها از نوع javadoc می باشند به این معنی که با قرار دادن علامت /** در ابتدای خطی که تمایل داریم به Comment تبدیل شود و قرار دادن علامت */ در انتهای خطی Comment ما به پایان می رسد، ما توضیحاتی را در داخل کد خود درج می کنیم که برای دیگران که می خواهند کد ما مطالعه کنند ولی دانش زبان جاوا ندارند بسیار مفید خواهد بود به این صورت که از کلیه Comment های برنامه خود که از نوع javadoc هستند خروجی HTML می گیریم و کلیه Comment ها به صورت یک صفحه وب در اختیار علاقمندان قرار می گیرد (نحوه ایجاد javadoc برای برنامه نویسان مبتدی ضروری نیست بنابراین از توضیح در این باره خودداری می شود). ​


    • class FirstProgram {
    • /**
    • * This is a javadoc comment for you!
    • */
    • public static void main(String[] args) {
    • String text = "In the name of God";
    • System.out.println(text);
    • }
    • }

    در این آموزش با انواع Error ها و همچنین با نحوه صحیح Comment کردن بخشی از کد خود آشنا شدیم. در آموزش بعدی با انواع متغییر های در زبان برنامه نویسی جاوا و نحوه اختصاص یک Value یا مقدار به آن ها و غیره آشنا خواهیم شد. ​
     
    یک شخص از این تشکر کرد.
  7. کاربر پیشرفته

    تاریخ عضویت:
    ‏9/12/10
    ارسال ها:
    19,795
    تشکر شده:
    6,456
    امتیاز دستاورد:
    113
    پاسخ : آموزش برنامه نویسی جاوا و اندروید

    [​IMG] برنامه نویسی

    [h=1]آموزش برنامه نویسی جاوا: آشنایی با انواع متغییرها[/h]
    حال که اولین برنامه جاوای خود را نوشتیم و جمله In the Name of God را روی صفحه مانیتور به نمایش در آوردیم نوبت به فراگیری Variable ها در زبان برنامه نویسی جاوا می رسد. در واقع Variable ها یا متغییر ها عناصری در زبان برنامه نویسی می باشند که می توانند داده را در خود ذخیره سازند. داده در یک Variable این قابلیت را دارا است که در هر زمانی توسط برنامه نویس یا کاربر تغییر یابد و از همین رو است که نام متغییر روی آن گذاشته شده است. برای درک بهتر متغییر ها می توانیم جایی در حافظه کامپیوترمان را متصور شویم که یک Value در آن ذخیره می شود.

    حال اگر Value جدیدی جایگزین مقدار قبلی شود، آن Value جدید جایگزین مقدار قبلی در حافظه خواهد شد و ما به کلی مقدار قبلی را از دست خواهیم داد. همانطور که قبلاً هم توضیح داده شد برنامه های کامپیوتری به مجموعه ای از دستورات گفته می شوند که با ترتیب خاصی یکی پس از دیگری اجرا می شوند. در حقیقت به هر خط از کدی که ما می نویسیم که دربرگیرنده دستوری است یک Statement گفته می شود.

    ادامه مطلب را از دست ندهید.

    حال اگر یک Statement حاوی محاسبات ریاضیاتی باشد و بالتبع نتیجه ای را در بر داشته باشد به آن Expression می گوییم(اگر توجه کرده باشید تا حد ممکن از ترجمه اینگونه اصطلاحات خودداری می کنیم چرا که به طور مثال دانستن معادل فارسی واژه ای مثل Statement به معنی عبارت کمکی به تقویت مهارت ما در برنامه نویسی نخواهد کرد.)

    ما برای اینکه بتوانیم در زبان برنامه نویسی جاوا از متغییر ها استفاده کنیم می بایست سه نکته را همواره مد نظر داشته باشیم: هر Variable یا متغییر شامل نوع متغییر، نام و مقدار متغییر می باشد. در واقع اگر متغییر ما هر یک از این سه مورد را نداشه باشد ما یک متغییر ناقص ایجاد کرده ایم. نام هر متغییر واژه ای از جنس Identifier می باشد(برای آشنایی با واژگان زبان برنامه نویسی جاوا به جلسه دوم آموزش مراجعه فرمایید). برای درک بهتر مفهوم متغییرها، در این جلسه یک برنامه جدید تحت عنوان Fifth Session خواهیم ساخت. همانطور که در جلسه اول آموزش داده شد، یک برنامه جدید جاوا ایجاد کنید و نام آن را Fifth Session بگذارید. حال یک فایل Class داخل آن ایجاد کرده و نام آن را Variable بگذارید(لازم به ذکر است این اسامی دلخواه هستند فقط نکته ای که لازم است مد نظر قرار داده شود این است که حرف اول نام Class به صورت بزرگ نوشته شود).

    در واقع ما برای وارد کردن اطلاعاتی از جنس اعداد صحیح داخل برنامه خود می توانیم از یک متغییر از جنس int استفاده کنیم(لازم به ذکر است برای این نوع داده انواع دیگری هم از متغییر ها وجود دارند که عبارتند ازbyte, short, long ). همچنین برای ذخیره سازی اطلاعاتی از جنس اعداد اعشاری از یک متغییر از جنس double استفاده خواهیم کرد (لطفا به حروف بزرگ و کوچک واژگان int و double توجه فرمایید چرا که قبلاً هم گفته شد که زبان برنامه نویسی جاوا case-sensitive است یا به عبارت دیگر به حروف بزرگ و کوچک حساس می باشد). علاوه بر متغییر double ما از متغییر float هم می توانیم استفاده کنیم با این تفاوت که دقت متغییر double به مراتب بیشتر است. (لازم به ذکر است در این سری از آموزش ها برای اعداد صحیح و اعشاری به ترتیب از متغییر های int و double استفاده خواهیم کرد).

    نکته ای که در مورد متغییرها می بایست مد نظر قرار داد این است که ما برای جلوگیری از طولانی شدن کد خود می توانیم متغییرها را با یکدیگر ادغام نماییم. اما در حین ادغام متغییر ها بایستی توجه داشته باشیم که نوع متغییرهایی که می خواهیم با یکدیگر ادغام کنیم می بایست از یک جنس باشد. به طور مثال نمی توانیم یک متغییر از جنس int و یک متغییر از جنس double را با یکدیگر ادغام کنیم. به مثال زیر توجه کنید: ​


    • int apple= 8, banana = 10, orange= 12;

    در مثال فوق ما سه متغییر از جنس int خواهیم داشت که مقادیر آن ها هم مشخص شده است. چنانچه توجه کرده باشید در مثال فوق متغییر ها بوسیله کاما از یکدیگر جدا شده اند و پس از آخرین متغییر یک علامت ; قرار گرفته است.

    حال زمان هایی در برنامه نویسی پیش خواهد آمد که ما نیاز داریم تا مقادیری از جنس حرف یا کاراکتر را در یک متغییر ذخیره سازیم. برای این منظور می توانیم از متغییر char استفاده کنیم. به منظور وارد کردن صرفاً یک کاراکتر یا یکسری از علائم خاص در برنامه خود ما می بایست از متغییر char استفاده کنیم. نکته ای که اینجا می بایست حتماً مد نظر قرار داده شود این است که مقدار مد نظر برای این نوع متغییر حتماً می بایست داخل علامت های ' ' قرار گیرد (توجه داشته باشیم که برای نوشتن یک کلمه که حاوی بیش از یک کاراکتر باشد به هیچ وجه نمی توان از متغییر char استفاده کنیم).

    پس از آشنایی با تعدادی از پرکاربرد ترین متغییر ها در زبان جاوا، این نکته را هم می بایست مد نظر داشته باشیم که برای اختصاص دادن یک Value یا مقدار به هر متغییری ما نیاز داریم تا از علامت = پس از نام متغییر و قرار دادن علامت ; در انتهای Statement استفاده کنیم. گاهی اوقات در برنامه نویسی برای اندروید و یا Desktop Application ما با شرایطی من جمله آیا کاربر رمز خود را صحیح وارد کرده است؟ آیا کاربر دکمه را فشار داده است؟ و ... رو به رو خواهیم شد. در واقع در چنین شرایطی ما به برنامه خود می گوییم که آری رمز صحیح وارد شده و یا آری کاربر دکمه Enter را فشار داده است. در چنین شرایطی متغییری نیاز داریم تا true و یا false بودن و به عبارتی درست یا اشتباه بودن یک رویداد را برای ما مشخص کند. متغییری از جنس boolean دقیقاً این کار را برای ما انجام خواهد داد(نکته ای که در اینجا می بایست مد نظر قرار داده شود این است که گرچه مقادیر این نوع متغییر true و یا false هستند، اما ما این اجازه را نداریم تا همانند متغییر های char و String آن ها را داخل علامت های ' ' و یا " " قرار دهیم.)

    یکی از بخش هایی که می تواند در برنامه نویسی به ما کمک کند، نحوه نام گذاری Class ها، Method ها و Variable ها است. در این بخش راه کارهایی ارائه خواهد شد که در نام گذاری متغییر ها می تواند اثر بخش باشد. هر متغییر نیاز دارد که یک نام داشته باشد. حال این نام می بایست با یک حرف کوچک شروع شود. نام که ما برای متغییر های خود انتخاب می کنیم بایستی مرتبط با اطلاعاتی که قرار است در متغییر ما ذخیره شود باشد. به طور مثال اگر قرار است که ما یک متغییری از جنس int ایجاد کنیم که اطلاعات مربوط به تعداد مسافرین یک هتل را در خود ذخیره سازد نوشتن یک Statement مثل int people = 300; اصلاً کار درستی نیست. درست است که Compiler به هیچ وجه از ما ایرادی نمی گیرد، اما این در حالی است که نام people که ما برای متغییر خود انتخاب کرده ایم توصیف کننده ماهیت متغییر نمی باشد. در عوض نوشتن این Statement به صورت int guestNumber = 300; به مراتب بهتر است چرا که این نام نشان دهنده اطلاعاتی است که قرار است در برنامه خود ذخیره سازیم. در نام گذاری اگر نامی که برای متغییر خود انتخاب می کنیم بیش از یک کلمه باشد ما اجازه نداریم که از فاصله استفاده کنیم بلکه واژگان باید به یکدیگر چسبیده باشند. حال اگر کلیه واژگان به یکدیگر چسبیده باشد خواندن آن ها به مراتب دشوار تر از حالت معمولی خواهد بود. برای این منظور از واژه اول به بعد حرف اول کلیه واژگان را به صورت بزرگ می نویسیم که این کار خواندن نام متغییر ها را به مراتب آسان تر خواهد ساخت. به طور مثال به جای نوشتن guestnumber می نویسیم guestNumber .

    نکته دیگری که در نام گذاری متغییر ها می بایست مد نظر قرار داده شود این است که ما اجازه نداریم از علائم punctuation مثل – و . و , در نام گذاری استفاده کنیم.

    حال برای روشن شدن مطالب کلیه متغییر ها را در قالب یک مثال به صورت زیر نمایش می دهیم: ​


    • class Variable {
    • int appleNumber = 100;
    • double moneyAmount = 22.3;
    • char letterName = 'A';
    • Boolean myBoolean = true;
    • }

    در کد فوق مشاهده می کنیم که ما یک متغییر از جنس int داریم که برای ذخیره سازی اعداد صحیح مورد استفاده قرار می گیرد. نام این متغییر appleNumber است به معنی تعداد سیب و مقدار آن 100 است. توجه داشته باشیم که مقداری که برای این متغییر در نظر گرفته شده است پس از علامت مساوی قرار گرفته و در انتهای این Statement یک علامت ; قرار گرفته است که به معنای پایان Statement می باشد(همانطور که در نامه نگاری با گذاشتن نقطه جمله خود را به پایان می رسانیم در به پایان رساندن یک Statement هم در زبان برنامه نویسی جاوا ما از علامت ; استفاده می کنیم). متغییر دوم از جنس double است به عبارتی می تواند اعداد اعشاری را در خود جای دهد. نامی که برای این متغییر در نظر گرفته شده است moneyAmount به معنای مقدار پول است و Value اختصاص داده شده به آن هم 22.3 است. متغییر سومی که ما در برنامه خود استفاده خواهیم کرد از جنس char است و به عبارت دیگر ما فقط و فقط می توانیم یک حرف یا علامت را در آن جای دهیم. نام این متغییر letterName یا نام حرف است و مقدار آن حرف A است که داخل دو علامت ' ' قرار گرفته است. در نهایت یک متغییر از جنس boolean ایجاد می کنیم که نام آن myBoolean است(خیلی تلاش کردم یک نام معنی دار پیدا کنم متاسفانه چیزی به ذهنم نرسید. برنامه نویسان عزیز می توانند هر نامی که برای ایشان ملموس تر است را انتخاب نمایند). مقداری که برای این متغییر انتخاب می کنیم true است. به عبارت دیگر هر کجای برنامه که ما نام این متغییر را فرا بخواهیم، این هشدار را به برنامه خود می دهیم که این متغییر true است. به خاطر داشته باشیم که برخلاف متغییر های char و String متغییر boolean مقدار خود را داخل علامت های ' ' و " " قرار نمی دهد.

    به طور خلاصه در زبان برنامه نویسی جاوا هشت نوع متغییر اولیه Primitive Type وجود دارد که عبارتند از byte, short, int, long, float, double, char, boolean که از میان این هشت نوع متغییر، متغییرهای int, double, char, boolean از اهمیت بیشتری برخوردار می باشند.

    پس از آشنایی با متغییر های Primitive Type نوب به فراگیری اصول به کار گیری String ها در زبان برنامه نویسی جاوا به منظور به نمایش درآوردن تعدادی کاراکتر پشت سر هم یا به عبارت دیگر به نمایش درآوردن یک جمله روی مانیتور می رسد که در آموزش آتی به طور مفصل مورد بررسی قرار خواهد گرفت. ​
     
    یک شخص از این تشکر کرد.
  8. کاربر پیشرفته

    تاریخ عضویت:
    ‏9/12/10
    ارسال ها:
    19,795
    تشکر شده:
    6,456
    امتیاز دستاورد:
    113
    پاسخ : آموزش برنامه نویسی جاوا و اندروید

    [​IMG] برنامه نویسی

    [h=1]آموزش برنامه نویسی جاوا: آشنایی با یکی از معروف ترین انواع Reference Type ها[/h]
    پس از آشنایی با انواع متغییر ها از جنس Primitive Type حال نوبت به آشنایی با یکی از معروف ترین انواع Reference Type ها تحت عنوان String می رسد.

    اگر به خاطر داشته باشید در اولین برنامه جاوا که طراحی کردیم عبارت In the Name of God را در یک String ذخیره ساخته سپس آن را نمایش دادیم.
    عناصر تشکیل دهنده String ها کاراکترها، اعداد و علائم می باشند که با کنار یکدیگر قرار گرفتن یک جمله را تشکیل می دهند. چنانچه بخواهیم جمله ای را در برنامه خود داشته باشیم، یکی از دو گزینه ای که این کار را برای ما انجام خواهد داد کلاسی از جنس String است (توجه داشته باشید که این متغییر بر خلاف دیگر متغییر ها با حرف بزرگ شروع می شود). در حقیقت این Class در API زبان برنامه نویسی جاوا ایجاد شده است و ما فقط آن را فرا می خوانیم. از سوی دیگر کلاس String از جنس Reference Type است. به عبارت دیگر چنانچه ما متغییری داشته باشیم که جنس آن یک از هشت نوع Primitive Type نباشد، ما متغییری از جنس یک Class خواهیم داشت که نوع آن Reference Type می باشد. برای روشن تر شدن این مطلب می توانیم فرض کنیم که String یک Class است و نامی که ما برای آن در نظر می گیریم نام آن Class است. به مثال زیر در ادامه مطلب توجه فرمایید: ​


    • String myString = "My Name Is Behzad";

    واژه String به یک Class اشاره می کند که قبلاً توسط تیم طراحان زبان برنامه نویسی جاوا در Java API طراحی شده است. واژه myString به منزله یک Instance یا نمونه ای از کلاس String است. در واقع myString یک Object یا شیئ است (در صورت درک ناقص این مسئله، به مفاهیم شئی گرایی در آموزش های پیشین مراجعه فرمایید).

    حال مقدار این String را جمله My Name Is Behzad در نظر می گیریم که داخل دو علامت " " قرار می گیرد (لازم به ذکر است که علامت های " " در حین اجرا نمایش داده نخواهند شد).

    یکی از ابتدایی ترین راه کارهای نمایش دادن جمله ای در محیط جاوا، به کار گیری فرمان زیر است که قبلاً با عناصر تشکیل دهنده آن آشنا شده ایم: ​


    • System.out.println();

    هم اکنون برای به نمایش در آوردن مقدار String خود تحت عنوان myString می بایست کدی به این شکل داشته باشیم: ​


    • public class Test {
    • public static void main(String[] args) {
    • String myString = "My Name Is Behzad";
    • System.out.println(myString);
    • }
    • }

    در این مرحله با اجرای فرمان Run جمله داخل " " در بخش Console نرم افزار اکلیپس به نمایش در خواهد آمد (چنانچه بخواهیم از طولانی شدن کد خود جلوگیری به عمل آوریم، به جای تعریف کردن یک Class از جنس String و اختصاص دادن یک Value به آن و سپس فرا خواندن String در System.out.println(); به راحتی می توانیم جمله مد نظر خود را داخل پرانتز مقابل println بنویسیم). به عبارت دیگر کد فوق را به شکل زیر هم می توانیم داشته باشیم: ​


    • public class Test {
    • public static void main(String[] args) {
    • System.out.println("My Name Is Behzad");
    • }
    • }

    در حقیقت خروجی هر دو کد یک چیز خواهد بود (با استفاده از این دو روش ما می توانیم جمله ای را در زبان جاوا به نمایش در آوریم). دانستن نکته ای که در این جا حائز اهمیت است این است که ما می توانیم چندین Statement از این نوع را پشت سر هم داشته باشیم. برای روشن تر شدن این مطلب به مثال زیر توجه کنید: ​


    • public class Test {
    • public static void main(String[] args) {
    • System.out.println("My Name Is Behzad");
    • System.out.println("My Last Name is Moradi");
    • }
    • }

    در این مثال ما هر دو جمله داخل " " را در بخش Console نرم افزار اکلیپس در دو خط جداگانه خواهیم دید. ​
    [​IMG]
    در این مرحله از آموزش به راحتی خواهیم توانست تفاوت مابین دو دستور println() و print() را درک کنیم. در حقیقت زمانیکه ما بخواهیم یک خط به اتمام برسد و جمله بعدی در خط دوم به نمایش در آید، می بایست از دستور println() استفاده کنیم اما زمانیکه بخواهیم نوشته های ما در یک خط و پشت سر هم قرار گیرند، می بایست از دستور print() استفاده کنیم. برای روشن شدن این وجه تمایز به مثال زیر توجه فرمایید: ​


    • public class Test {
    • public static void main(String[] args) {
    • System.out.print("My Name Is Behzad ");
    • System.out.print("My Last Name is Moradi");
    • }
    • }

    خروجی این کد به شکل زیر خواهد بود: ​
    [​IMG]
    در حقیقت از آن جا که ما دستور صادر کرده ایم که هر دو Statement یکی پس از دیگری در یک خط قرار گیرند، Console یک خط بیشتر نمایش نخواهد داد.

    همانطور که قبلاً اشاره شد علامت های " " در Console مشاهده نخواهند شد. اما زمان هایی برای ما پیش می آید که نیاز داریم کلمه ای را داخل " " قرار دهیم. برای این منظور می توانیم از ترکیب علامت های \" استفاده کنیم. به مثال زیر توجه کنید: ​


    • public class Test {
    • public static void main(String[] args) {
    • System.out.print("I like the \"Java\" Programming Language");
    • }
    • }

    خروجی این کد به شکل زیر خواهد بود: ​
    [​IMG]
    با این کار واژه Java داخل علامت " " قرار می گیرد. با استفاده از این تکنیک می توانیم برای قرار دادن یک Tab بعد از کلمه ای از \t و همچنین فرستادن بخشی از جمله به خط بعد از \n نیز استفاده کنیم. به عنوان مثال اگر بخواهیم دو کلمه Programming Language را به خط بعد ارسال کنیم، از دستور زیر استفاده خواهیم کرد: ​


    • public class Test {
    • public static void main(String[] args) {
    • System.out.print("I like the \"Java\" \nProgramming Language.");
    • }
    • }

    خروجی کد فوق به شکل زیر نمایش داده خواهد شد: ​
    [​IMG]
    مفهوم Concatenation در زبان برنامه نویسی جاوا به زمانی اطلاق می گردد که ما دو چیز را به یکدیگر مرتبط می سازیم. به طور مثال زمان هایی در حین استفاده از دستورات فوق پیش می آید که ما نیاز داریم تا یک عبارت بسیار طولانی را در Console به نمایش در آوریم که در این صورت می بایست از علامت + که یک Operator است استفاده کنیم (در آموزش های آتی به طور مفصل پیرامون Operator ها صحبت خواهد شد).

    برای روشن شدن این مطلب به مثال زیر توجه نمایید: ​


    • public class Test {
    • public static void main(String[] args) {
    • System.out.print("I like the \"Java\" Programming Language."
    • + "This language is used to create android apps.");
    • }
    • }

    در مثال فوق مشاده می شود که دو گروه از کلماتی که در کنار یکدیگر داخل " " قرار گرفته با استفاده از علامت + دنبال هم قرار گرفته اند(لازم به ذکر است علامت + در مورد متغییرهایی همچون int که دارای داده ای از جنس عددی هستند منجر به جمع شدن مقادیر آن متغییرهای می شود اما در مورد string ها به این شکل است که آن ها را در کنار یکدیگر قرار می دهد.)

    گاهی اوقات ما نیاز داریم تا متنی از جنس string را در کنار دیگر متغییرها مثلاً متغییری از جنس int یا double در محیط Console به نمایش در آوریم. به مثال زیر توجه نمایید: ​


    • public class Test {
    • public static void main(String[] args) {
    • int studentNumber = 12;
    • int teacherNumber = 3;
    • System.out.println("The number of students is " + studentNumber);
    • System.out.println("The number of teachers is " + teacherNumber);
    • }
    • }

    در مثال فوق ما دو متغییر از جنس int تحت عناوین studentNumber و teacherNumber داریم که به ترتیب دارای مقادر 12 و 3 هستند. حال می خواهیم تا متغییری از جنس int را با یک string یا به عبارت دیگر جمله ای ترکیب کنیم. برای این منظور پس از علامت " یک علامت + قرار داده سپس نام متغییر خود را قرار می دهیم. در حین Compile شدن، پس از به نمایش در آوردن string در محیط Console حال علامت + مقدار عددی متغییر int را به متن اضافه می کند. در واقع خروجی برنامه به این شکل خواهد بود: ​
    [​IMG]
    در آموزش آینده با مباحث تکمیلی String ها همچون نحوه مقایسه دو String با یکدیگر، شمردن تعداد کاراکترهای یک String و همچین تغییر حروف بزرگ به کوچک و بالعکس بحث خواهیم کرد. ​
     
    یک شخص از این تشکر کرد.
  9. کاربر پیشرفته

    تاریخ عضویت:
    ‏9/12/10
    ارسال ها:
    19,795
    تشکر شده:
    6,456
    امتیاز دستاورد:
    113
    پاسخ : آموزش برنامه نویسی جاوا و اندروید

    [​IMG] برنامه نویسی

    [h=1]آموزش برنامه نویسی جاوا: یکی از خصوصیات کلیدی محیط برنامه نویسی[/h]
    در این جلسه پیش از تکمیل مبحث String ها در زبان برنامه نویسی جاوا می خواهیم یکی از خصوصیات کلیدی محیط برنامه نویسی اکلیپس را مورد بررسی قرار دهیم. این خصیصه نام های مختلفی همچون Auto Complete, Code Assist, Code Completion, Content Assist دارد. به طور خلاصه اگر بخواهیم در حین کدنویسی از خود محیط برنامه نویسی اکلیپس کمک بگیریم می توانیم از ترکیب کلید های Ctrl و Space استفاده کنیم. با این کار زمانیکه ما در حین نوشتن چیزی مثلاً نام یک متغییر که قبلاً ایجاد کرده ایم هستیم، با هم زمان زدن کلید هایی که در بالا گفته شد از محیط برنامه نویسی اکلیپس می خواهیم تا کد را برای ما تکیمل کند. برای روشن شدن مطلب به مثال ادامه مطلب توجه کنید: ​


    • public class Test {
    • public static void main(String[] args) {
    • String myFistName;
    • }
    • }

    ما یک String تحت عنوان myFirstName ایجاد کرده ایم که فاقد هرگونه Value یا مقدار است. حال در خط بعد می خواهیم که مقداری برای آن درج کنیم. از این رو شروع به نوشتن نام String خود می کنیم به این صورت که می نویسیم my . حال در این مرحله اصلاً نیازی نیست که کل نام را به صورت دستی وارد کنیم بلکه می توانیم پس از نوشتن دو کاراکتر my کلید های Ctrl و Space را به صورت هم زمان فشار دهیم که در این صورت نام myFirstName به صورت خودکار نوشته می شود. از مزایای استفاده از این ویژگی محیط برنامه نویسی اکلیپس می توان گفت که نه تنها زمان کد نویسی را کاهش داده بلکه میزان خطاهای تایپی نیز به حداقل می رساند. در واقع این ویژگی اکلیپس صرفاً برای تکمیل کردن نام ها و ... نیست بلکه جایی که این قابلیت خیلی زیاد به برنامه نویسان کمک می کند برای تکمیل کد است. در حقیقت از آنجا که قسمت های تشکیل دهنده API زبان برنامه نویسی جاوا بسیار گسترده است(بیش از 4000 مورد)، به سادگی می توان از این ویژگی برای تکمیل کد خود استفاده کنیم به این صورت که صرفاً نیاز است ابتدای نام Method و یا Class مد نظر و یا هر چیزی را به خاطر داشته باشیم و با زدن کلید های Ctrl و Space محیط برنامه نویسی اکلیپس پیشنهادات خود را برای تکمیل کد به ما می دهد و ما به سادگی می توانیم از میان پیشنهادات ارائه شده گزینه مد نظر خود را انتخاب کنیم.

    حال که با این ویژگی ارزشمند اکلیپس آشنا شدیم می توانیم به مبحث تکمیلی String ها در زبان برنامه نویسی جاوا بپردازیم. در واقع زمان هایی برای برنامه نویسان جاوا پیش می آید که نیاز دارند تا کلاسی از جنس String را با یکدیگر مقایسه کنند که در این صورت از Method خاصی تحت عنوان equal استفاده می کنند. در واقع در زبان برنامه نویسی جاوا Method راهی برای به انجام رساندن کاری است و کاری که در اینجا مد نظر ما است این است که ببینیم آیا مقدار دو کلاس از جنس String یکی است یا خیر. برای روشن تر شدن مطلب به مثال زیر توجه کنید: ​


    • public class Test {
    • public static void main(String[] args) {
    • String name = "Behzad";
    • String lastName = "Moradi";
    • System.out.println("My first name is " + name);
    • System.out.println("Is my last name Behzad: "
    • +lastName.equals(name));
    • }
    • }

    در اینجا ما دو کلاس از جنس String داریم که دارای مقادیر Behzad و Moradi هستند. حال در اولین System.out.println(); ما نیاز داریم تا جمله My name is Behzad به نمایش در آید، برای همین منظور با قرار دادن علامت + و نام String که در برگیرنده مقدار “Behzad” است به راحتی این جمله را در بخش Console به نمایش در می آوریم. در مرحله بعدی ما می خواهیم تا مقدار دو String را با یکدیگر مقایسه کنیم. برای این منظور نام String که می خواهیم با String دیگر مقایسه شود را نوشته سپس یک Method تحت عنوان .equals() به آن اضافه کرده و داخل پرانتز این Method نام String یی را می نویسیم که می خواهیم String قبلی را با آن مقایسه کنیم. به طور خلاصه به صورت lastName.equals(name) می نویسیم. حال چنانچه برنامه را اجرا کنیم، خروجی زیر را مشاهده خواهیم کرد: ​
    [​IMG]
    در واقع خروجی Method ما چیزی از جنس boolean خواهد بود که مقدار آن یا true است و یا false و در اینجا از آن رو که مقادیر متغیرهای ما با یکدیگر متفاوت هستند مقدار false به نمایش در خواهد آمد. حال اگر بخواهیم جواب true شود به راحتی می توانیم مقدار متغییر lastName را همانند مقدار متغییر name کنیم و مشاهده می کنیم که جواب true خواهد بود. در واقع کد ما به شکل زیر تغییر پیدا خواهد کرد:


    • public class Test {
    • public static void main(String[] args) {
    • String name = "Behzad";
    • String lastName = "Behzad";
    • System.out.println("My first name is " + name);
    • System.out.println("Is my last name Behzad: "
    • +lastName.equals(name));
    • }
    • }

    و در نهایت خروجی برنامه ما پس از اجرا به شکل زیر خواهد بود: ​
    [​IMG]
    گاهی اوقات برای ما در برنامه نویسی پیش می آید که نیاز داریم تا تعداد کاراکتر های یک String را بشماریم که برای این منظور می توانیم از Method یی تحت عنوان .lenght() استفاده کنیم. برای روشن شدن مطلب به مثال زیر توجه کنید: ​


    • public class Test {
    • public static void main(String[] args) {
    • String sentence = "This is a short sentence.";
    • System.out.println(sentence);
    • System.out.println("The number of its characters equals to "
    • + sentence.length());
    • }
    • }

    در مثال فوق ما یک کلاس از جنس String داریم که نام آن sentence است و مقدار آن جمله This is a short sentence. می باشد. حال در Statement اول ما متغییر خود را به نمایش در می آوریم اما در Statement دوم جمله The number of its characters equals to را به علاوه Method یی می کنیم که تعداد کاراکتر های String ما را بشمارد. برای همین منظور نام String خود را نوشته و نام Method خود که در اینجا .lenght() است که قرار است تعداد کاراکتر ها را بشمارد ضمیمه آن می کنیم.( توجه داشته باشیم که این Method حتی جاهای خالی، نقطه، کاما و غیره را نیز در String می شمارد.)

    خروجی برنامه به شکل زیر خواهد بود: ​
    [​IMG]
    اگر توجه کرده باشید تعداد کاراکتر های جمله ما 20 عدد است اما خروجی برنامه عدد 25 را به نمایش در می آورد و این از آنجا ناشی می شود که Method یی که استفاده کردیم نقطه و فضاهای خالی را نیز شمرده است.
    گاهی اوقات ما نیاز داریم تا کاراکتر های یک String را به حروف بزرگ و یا کوچک تبدیل کنیم. از این رو می توانیم از Method های toUpperCase. و .toLowerCase به ترتیب برای بزرگ کردن و کوچک کردن حروف استفاده کنیم.
    در حقیقت یکی از کاربردهای این Method این است که گاهی اوقات ما نیاز داریم تا کلیه ورودی ها را به صورت حروف بزرگ و یا حروف کوچک ذخیره سازیم.
    برای این منظور از این Method استفاده می کنیم تا این کار به صورت خودکار انجام شود. (در آموزش های آتی بیشتر از این Method استفاده خواهی کرد).
    حال فرض کنیم مقدار متغییر name که در مثال های قبلی استفاده کردیم معادل با EhSan AzimI باشد و ما نیاز داریم تا بی دقتی صورت گرفته در حین وارد کردن این متغییر را جبران کنیم. برای این منظور به صورت زیر عمل می کنیم: ​


    • public class Test {
    • public static void main(String[] args) {
    • String name = "EhSan AzimI";
    • System.out.println(name.toLowerCase());
    • }
    • }

    در حقیقت با نوشتن نام متغییر و ضمیمه کردن Method یی تحت عنوان .toLowerCase کلیه حروف متغییر را به حروف کوچک تبدیل می کنیم. ​
    [​IMG]
    عکس این قضیه هم صادق است. به عبارت دیگر برای تبدیل کلیه حروف از Method دیگری تحت عنوان .toUpperCase استفاده می کنیم و خروجی برنامه ما به شکل زیر خواهد بود: ​
    [​IMG]
    پس از آشنایی با مفاهیم اصلی متغییر ها در این جلسه نوبت به درک مفاهیم Operator ها یا همان اعمال اصلی ریاضیاتی مابین متغییر ها می رسد که در آموزش آینده به تفصیل مورد بحث و بررسی قرار خواهد گرفت. ​
     
    یک شخص از این تشکر کرد.
  10. کاربر پیشرفته

    تاریخ عضویت:
    ‏9/12/10
    ارسال ها:
    19,795
    تشکر شده:
    6,456
    امتیاز دستاورد:
    113
    پاسخ : آموزش برنامه نویسی جاوا و اندروید

    [​IMG] برنامه نویسی

    [h=1]آموزش برنامه نویسی جاوا - قسمت هشتم: اپراتورها در زبان برنامه نویسی[/h]
    پیش از شروع: از اینکه این دوره از آموزش های برنامه نویسی جاوا مورد توجه فوق العاده شما قرار گرفته متشکریم. طی این مدت نظرات مفید زیادی دریافت کرده ایم که سعی می کنیم آنها را هر چه سریع تر اعمال نماییم. به زودی منتظر تقویم آموزشی این دوره باشید. ضمن اینکه از این پس فاصله آموزش های برنامه نویسی جاوا کوتاه تر خواهد بود و به جای هفتگی با دو مطلب در هفته در خدمت شما خواهیم بود. از اینکه با حوصله به ما فرصت می دهید تا مطالبی با دقت و کیفیت لازم آماده کنیم، متشکریم.

    و حالا قسمت هشت: پس از آن که در دو جلسه گذشته با string ها در زبان برنامه نویسی جاوا آشنا شدیم، اکنون می توانیم با استفاده از Operator ها یا همان اعمال ریاضیاتی مثل جمع و تفریق و غیره مقادیر متغیر های متفاوتی را در تعامل با یکدیگر قرار دهیم. ادامه مطلب را از دست ندهید. ​
    فرض کنیم که ما یک متغیر از جنس int تحت عنوان studentNumber داریم. مقدار اختصاص داده شده به متغیر ما 121 می باشد: ​


    • int studentNumber = 121;

    حال اگر بخواهیم عددی مثل 10 را به مقدار متغیر studentNumber که معادل با 121 است اضافه کنیم به این صورت عمل می کنیم: ​


    • int studentNumber = 121;
    • studentNumber = studentNumber + 10;

    روش دیگری که از آن طریق می توان 10 واحد به 121 اضافه کرد به صورت زیر است: ​


    • int studentNumber = 121;
    • studentNumber +=10;

    در این صورت عدد 10 به مقدار متغیر که 121 است اضافه شده، حال از این پس مقدار متغیر studentNumber عدد 131 خواهد بود. چنان چه بخواهیم عدد 10 را از مقدار متغیرمان کم کنیم به صورت زیر عمل می کنیم: ​


    • int studentNumber = 121;
    • studentNumber = studentNumber - 10;

    روش دیگری که از آن طریق می توان 10 واحد از 121 کم کرد به صورت زیر است: ​


    • int studentNumber = 121;
    • studentNumber -=10;

    حال مقدار نهایی متغیر studentNumber عدد 111 خواهد بود. چنانچه بخواهیم مقدار متغیر studentNumber را در عددی ضرب کنیم به صورت زیر عمل می کنیم: ​


    • int studentNumber = 121;
    • studentNumber = studentNumber * 10;

    روش دیگری که از آن طریق می توان 10 را در 121 ضرب کرد به صورت زیر است: ​


    • int studentNumber = 121;
    • studentNumber *=10;

    در این صورت نتیجه نهایی 1210 خواهد بود. به عبارت دیگر از این پس در هر کجای برنامه که ما متغیر studentNumber را مورد استفاده قرار دهیم عدد 1210 مبنای محاسبه خواهد بود. چنانچه بخواهیم مقدار متغیرمان را بر عددی تقسیم کنیم به شکل زیر عمل خواهیم کرد: ​


    • int studentNumber = 121;
    • studentNumber = studentNumber / 10;

    لازم به ذکر است که علامت / نمی بایست با علامت \ اشتباه گرفته شود. روش دیگری که از آن طریق می توان 121 را بر 10 تقسیم کرد به صورت زیر است: ​


    • int studentNumber = 121;
    • studentNumber /=10;

    که در این صورت مقدار متغیر ما که 121 است بر عدد 10 تقسیم خواهد شد و عدد 12.1 به دست خواهد آمد.(توجه داشته باشیم که در اینجا جاوا عدد 12 را به ما نشان خواهد داد چرا که به صورت خودکار عدد حاصله را رند می کند).

    حال مواقعی برای ما پیش می آید که تمایل داریم مقدار متغیر خود را به میزان یک عدد بیشتر افزایش یا کاهش دهیم که در این صورت بایستی اصطلاحاتی همچون Incrementing و Decrementing را مورد استفاده قرار دهیم. معنای لغوی این واژگان به ترتیب افزایش دادن و کاهش دادن خواهد بود. به طور مثال چنانچه بخواهیم مقدار عددی متغیر studentNumber به میزان یک عدد افزایش دهیم به صورت زیر عمل می کنیم: ​


    • int studentNumber = 121;
    • studentNumber++;

    حال مقدار عددی متغیر ما عدد 122 خواهد بود. به همین منوال می توانیم یک عدد نیز از مقدار متغیر خود به صورت زیر کم نماییم: ​


    • int studentNumber = 121;
    • studentNumber--;

    حال مقدار نهایی متغیر studentNumber عدد 120 خواهد بود.

    در مورد Incrementing و Decrementing نکته مهمی را همواره می بایست مد نظر قرار دهیم و آن هم این که چنانچه علامت های + و – قبل از نام متغیر قرار بگیرند(مثلاً ++studentNumber ) اصطلاحاً Pre-incrementing نامیده می شوند و چنانچه پس از نام متغیر قرار بگیرند ( مثلاً studentNumber ++ ) Post-incrementing نامیده می شوند(در مورد علامت – به ترتیب Pre-decrementing و Post-decrementing نامیده می شوند).

    تفاوتی که مابین Pre و Post وجود دارد از آنجا ناشی می شود که در مورد Pre یک واحد به مقدار متغیر قبل از نمایش دادن آن اضافه می شود. به عبارت دیگر: ​


    • class test {
    • public static void main(String[] args) {
    • int studentNumber = 121;
    • System.out.println(++studentNumber);
    • }
    • }

    در واقع قبل از آنکه مقدار متغیر ما در بخش Console نمایش داده شود یک واحد به آن اضافه می شود و عدد 122 نمایش داده خواهد شد. حال اگر علامت ++ را بعد از نام متغیر قرار دهیم، مقدار یک واحد به مقدار متغیر ما اضافه خواهد شد اما پس از آنکه برنامه یک بار اجرا شد. در واقع کد زیر ​


    • class test {
    • public static void main(String[] args) {
    • int studentNumber = 121;
    • System.out.println(studentNumber++);
    • }
    • }

    یک واحد به متغیر studentNumber پس از آنکه برنامه اجرا شد اضافه می کند که در این صورت ما در بخش Console همان عدد 121 را مشاهده خواهیم کرد چرا که برنامه اجرا می شود، مقدار 121 نمایش داده می شود، سپس یک واحد به آن اضافه می شود و تبدیل به 122 می شود. هم اکنون اگر بخواهیم برنامه خود را تست کنیم که ببینیم آیا یک واحد اضافه شده است یا خیر یک Statement دیگر به کد خود به صورت زیر اضافه می کنیم: ​


    • class test {
    • public static void main(String[] args) {
    • int studentNumber = 121;
    • System.out.println(studentNumber++);
    • System.out.println(studentNumber);
    • }
    • }

    حال پس از آنکه یک واحد در Statement اول به مقدار متغیر ما اضافه شد، پس از فراخوانی مجدد متغیر مقدار جدید آن که 122 است در بخش Console نمایش داده خواهد شد.

    زمان هایی در برنامه نویسی برای ما اتفاق می افتد که نیاز داریم بیش از یک عمل ریاضیاتی را در کد خود اعمال کنیم که در این صورت دانستن این نکته که جاوا اول کدام عمل اصلی را محاسبه خواهد کرد از اهمیت بسزایی برخوردار خواهد بود. فرض کنیم که دو متغیر از جنس int به نام های x و y داریم که متغیر x دارای هیچ داده ای نمی باشد اما متغیر y دارای مقدار 10 است: ​


    • int x;
    • int y = 10;

    حال در نظر بگیریم که مقدار متغیر x قرار است حاصلضرب مقدار متغیر y در عدد 2 و سپس به علاوه عدد 6 باشد. به عبارت دیگر کد فوق به صورت زیر تغییر خواهد یافت: ​


    • int x;
    • int y = 10;
    • x = y * 2 + 6;

    نتیجه متغیر x هم می تواند عدد 26 و هم 80 باشد بسته به اینکه اول عمل ضرب انجام شود یا عمل جمع. در زبان برنامه نویسی جاوا اعمال Incrementing و Decrementing اول رخ می دهند، سپس اعمال ضرب و تقسیم صورت گرفته و در نهایت اعمال جمع و تفریق اعمال می شوند. حال با دانستن این قوانین می توان گفت که نتیجه متغیر x در مثال فوق 26 خواهد بود.

    گاهی اوقات ما به عنوان برنامه نویس مجبور هستیم در قواعد زبان برنامه نویسی جاوا دخل و تصرف کنیم. به طور مثال گاهی اوقات ما نیاز داریم تا عمل جمع قبل از عمل ضرب صورت گیرد. به عبارت دیگر در مثال فوق ما نیاز داریم تا اول عددهای 2 و 6 با یکدیگر جمع شده سپس حاصلجمع آن ها در مقدار متغیر y که برابر با 10 است ضرب شود. در چنین مواقعی به راحتی می توان دو عددی که می خواهیم با یکدیگر جمع شوند و یا از یکدیگر کم شوند را داخل علامت های ( ) قرار دهیم: ​


    • int x;
    • int y = 10;
    • x = y * (2 + 6);

    حال نتیجه ای که به دست خواهد آمد عدد 80 خواهد بود.

    نکته ای که در اینجا می بایست حتماً به خاطر بسپاریم این است که نمی توانیم این اعمال را (ضرب، تقسیم، جمع و تفریق) مابین یک متغیر از جنس int و یک متغیر از جنس double اجرا کنیم که در این صورت Compiler در حین اجرای برنامه Error خواهد داد.

    پس از آشنایی با انواع متغیر ها در آموزش پیشین و همچین آشنایی با Operator ها در این جلسه، خواهیم توانست مهارت کدنویسی خود را یک پله ارتقاء داده و برنامه هایی کمی پیچیده تر بنویسیم. در قسمت آموزشی آتی خواهیم دید که چگونه با استفاده از همین اصول ابتدایی Operator ها می توان پروژه ای طراحی کرد که وزن ما را روی دیگر سیارات منظومه شمسی مثل مشتری و زحل محاسبه کند. ​
     
    یک شخص از این تشکر کرد.