جاوا
• برنامه کامپيوتر . يک برنامه کامپيوتری ، مجموعه ای از دستورالعمل ها بوده که به کامپيوتر اعلام می کنند ، چه کاری را می بايست انجام دهد. دستورالعمل ها ممکن است به کامپيوتر اعلام نمايند ، که تعدادی از اعداد را با يکديگر جمع کرده و يا دو عدد را بايکديگر مقايسه و بر اساس نتيجه مربوط اتخاذ تصميم نمايد. يک برنامه کامپيوتری صرفا" مجموعه ای از دستورالعمل های ساده بوده که فقط برای کامپيوتر قابل استفاده می باشند. نظير نوت های موسيقی که بعنوان مجموعه دستورالعمل هائی برای يک موسيقيدان مفيد خواهند بود.کامپيوتر دستورالعمل های نوشته شده را اجراء و ماحصل آن رسيدن به هدفی خواهد بود که بر اساس آن برنامه نوسته شده است .
• زبان برنامه نويسی . دستورالعمل های مورد نظر به منظور انجام يک کار توسط کامپيوتر می بايست با استفاده از يکی از زبانها ی برنامه نويسی نوشته شده ( کد گردند ) و در ادامه در اختيار کامپيوتر گذاشته گردند. زبانهای برنامه نويسی متعددی نظير : فرترن ، بيسيک ، کوبال ، پاسکال، ،C و جاوا و ... وجود دارد.
• کمپايلر. برنامه ای است که برنامه نوشته شده توسط يکی از زبانهای برنامه نويسی (نظير جاوا) را ترجمه و آن را بگونه ای تبديل خواهد کرد که کامپيوتر قادر به اجرای آن باشد. احتمالا" شما بر روی کامپيوتر خود فايل هائی با انشعاب exe را تاکنون مشاهده کرده ايد ، اين نوع فايل ها شامل کدهای اجرائی ( قابل خواندن توسط ماشين ) بوده که مرحله ترجمه خود را پشت سر گذرانده اند.
به منظور نوشتن برنامه کامپيوتری با استفاده از يک زبان برنامه نويسی نظير جاوا ، به يک کمپايلر نياز خواهد بود. در ادامه نحوه دريافت و نصب کمپايلر جاوا توضيح داده می شود. پس از نصب کمپايلر ، می توان برنامه نويسی جاوا را آغاز کرد.
دريافت کمپايلر جاوا
• يک فايل بزرگ شامل محيط پياده سازی جاوا را از طريق اينترنت دريافت و يا از طريق CD مربوطه آماده نمود.
• يک فايل بزرگ شامل مستندات جاوا را از طريق اينترنت دريافت و يا از طريق CD مربوطه آماده نمود.
• فايل های دريافت شده از طريق اينترنت را بکمک برنامه WinZip ( و يا برنامه های معادل ) از حالت فشرده خارج نمود.
• محيط پياده سازی جاوا را نصب نمائيد
• مستندات جاوا را نصب نمائيد.
• تنظيمات و پيکربندی لازم در خصوص چندين متغير محيطی را انجام دهيد.
قبل از انجام هر يک از مراحل فوق ، پيشنهاد می گردد که در ابتدا يک فولدر موقت ايجاد و فايل هائی را که از اينترنت دريافت می داريد ، در آن ذخيره نمائيد ( نام فولدر فوق download directory انتخاب شده است )
مرحله اول : دريافت محيط پياده سازی جاوا :به منظور دريافت محيط پياده سازی جاوا از طريق اينترنت از آدرس زير استفاده نمائيد .در زمان دريافت محيط پياده سازی جاوا ، می بايست نوع سيستم عامل سيستمی که قرار است محيط فوق بر روی آن نصب گردد را نيز مشخص نمائيد.
مرحله سوم : در صورتی که بر روی سيستم خود برنامه WinZip موجود نباشد ، می توان آن را از طريق آدرس زير دريافت کرد :
مرحله چهارم : نصب محيط پياده سازی : با اجرای فايل j2sdk-1_4_1-*.exe ( فايل فوق در مرحله يک دريافت شده است ) ، در ابتدا فايل از حالت فشرده خارج و در ادامه عمليات نصب محيط پياده سازی بصورت خودکار انجام خواهد شد.
مرحله پنجم : نصب مستندات : فايل دريافت شده در مرحله دوم را در فولدری که محيط پياده سازی را نصب کرده ايد ، منتقل و از همان محل ، فايل فوق را اجراء تا زمينه نصب مستندات فراهم گردد.
مرحله ششم : تنظيمات محيط : فايل Autoexec.bat را با استفاده از ويرايشگر notepad فعال و بااستفاده از دستور PATH ، مسير نصب محيط پياده سازی جاوا را مشخص نمائيد.
مرحله هفتم : تست : پنجره MS-DOS ويندوز را فعال و دستور Javac را تايپ نمائيد. در صورتی که مراحل قبل بدرستی انجام شده باشند ، می بايست پيامی مبنی بر نحوه استفاده از Javac بر روی مانيتور نمايش داده شود. اين بدان معنی است که همه چيز برای شروع آماده است . در صورتی که پيام "Bad coomand or file name" ، نمايش داده شود ، نشاندهنده برزو اشکال در يکی از مراحل نصب بوده است .
پس از انجام مراحل هفت گانه فوق ، امکان نوشتن برنامه های جاوا فراهم شده و می توان با استفاده از محيط مربوطه ، اقدام به نوشتن و اجرای برنامه های جاوا کرد. پس از نصب محيط پياده سازی جاوا ، يک فولدر بنام Demo ايجاد و در آن مجموعه ای از مثال های متنوع مستقر می گردد.
اولين برنامه جاوا
• برنامه Notepad را فعال و برنامه مورد نظر را در آن تايپ نمائيد.
• برنامه را بر روی هارد ديسک ذخيره نمائيد.
• برنامه نوشته شده را با استفاده از کمپايلر جاوا ترجمه تا يک اپلت جاوا ايجاد گردد.
• در صورت گزارش خطاء ، نسبت به رفع آنها اقدام گردد.
• يک صفحه وب Html ايجاد و از اپلت ايجاد شده در آن استفاده نمائيد.
• اپلت جاوا را اجراء نمائيد.
متن برنامه اشاره شده بصورت زير است :
متن برنامه |
import java.awt.Graphics; public class FirstApplet extends java.applet.Applet public void paint(Graphics g) |
مرحله دوم : ذخيره کردن فايل : برنامه تايپ شده را با نام فايل FirstApplet.Java در فولدری که در مرحله يک ايجاد کرده ايد ، ذخيره نمائيد. نسبت به استفاده از حروف بزرگ و کوچک در نام فايل دقت گردد چراکه در آينده فايل با همين نام مورد دستيابی قرار خواهد گرفت .
مرحله سوم : کمپايل برنامه پنجره MS-DOS را فعال و با استفاده از دستور CD ، در فولدری که فايل FirstApplet.java قرار دارد ، مستقر شده و دستور زير را به منظور ترجمه برنامه نوشته شده ، تايپ نمائيد :
نام فايل حاوی برنامه را بدرستی تايپ نمائيد ( دقت لازم در رابطه با حروف بزرگ و کوچک )
مرحله چهارم : تصحيح و برطرف کردن خطاء :در صورت وجود خطاء ، می بايست نسبت به رفع اشکالات موجود اقدام کرد
مرحله پنجم : ايجاد يک صفحه Html :به منظور نگهداری و استفاده از اپلت ايجاد شده ، يک صفحه وب ايجاد و اطلاعات زير را در آن قرار دهيد :
فايل Html |
<html> |
مرحله ششم : اجرای اپلت :پنجره MS-DOS را فعال و دستور زير را به منظور اجرای اپلت تايپ نمائيد :
appletviewerapplet.htm |
توضيجات و تشريح برنامه
برنامه نوشته شده صرفا" دارای ده خط برنامه است . برنامه فوق ساده ترين نوع اپلتی است که می توان ايجاد کرد. به منظور شناخت کامل عملکرد برنامه فوق ، لازم است با تکنيک های برنامه نويسی شی گراء آشنائی لازم وجود داشته باشد. بدين منظور بر روی يکی از خطوط برنامه متمرکز و عملکرد آن توضيح داده می شود :
g.drawLine(0, 0, 200, 200); |
در صفحه وب ، اندازه پنجره مربوط به اجراء و نمايش اپلت ( در مرحله پنج ) به ابعاد 200 و 200 مشخص شده است. در برنامه فوق از متدی ( تابع ) با نام drawLine استفاده شده است . متد فوق ، چهار پارامتر را بعنوان ورودی اخذ می نمايد (0,0,200,200) . انتهای خط با استفاده از کاراکتر ";" مشخص شده است . نقش کاراکتر فوق نظير استفاده از نقطه در انتهای جملات است . ابتدای خط با حرف g. شروع شده است . بدين ترتيب مشخص شده است که قصد فراخوانی متدی با نام drawLine با نام شی g وجود دارد.
يک متد ، نظير يک دستور است . متد ها به کامپيوتر اعلام می نمايند که می بايست يک کار خاص انجام گيرد. drawLine ، به کامپيوتر اعلام می نمايد که ، خطی افقی با مختصات مشخص شده را رسم نمايد. با تغيير مختصات مربوطه ( پارامترهای متد drawLine) می توان خطوط متعدد و با استفاده از مختصات مشخص شده را رسم نمود.
از چه توابع ديگری بجز drawLine می توان استفاده کرد ؟ بدين منظور لازم است که به مستندات مربوط به کلاس Graphice مراجعه گردد. در زمان نصب محيط پياده سازی جاوا و مستندات مربوطه ، يکی از فايل هائی که بر روی سيستم شما نصب خواهد شد ، فايل java.awt.Graphice.html است . فايل فوق کلاس Graphic را تشريح می نمايد. drawLine صرفا" يکی از متدهای کلاس Graphic بوده و در اين زمينه متدهای متعدد ديگر به منظور رسم خطوط ، کمان ، چند ضلعی، تغيير و ... وجود دارد.
جاوا دارای کلاس های متعدد بوده و هر کلاس نيز دارای متدهای فراوانی است . مثلا" کلاس Color دارای مجموعه ای از متدها به منظور تعريف و نتظيمات مربوط به رنگ است .SetColor نمونه ای در اين زمينه است . در زمان استفاده هاز هر يک از متدهای مربوط به کلاس های جاوا می بايست در ابتدای برنامه با استفاده از دستور import زمينه استفاده از آنان را فراهم کرد.
اشکال زدائی
در زمان نوشتن يک برنامه در صورتی که مجموعه قوانين موجود در رابطه با زبان برنامه نويسی رعايت نگردد ( مثلا" عدم استفاده از کاراکتر ";" در انتهای جملات در جاوا ) ، کمپايلر در زمان ترجمه برنامه ، يک خطای گرامری را تشخيص و اعلام می نمايد . در چنين مواردی می بايست قبل از هر اقدام ديگر ، نسبت به برطرف نمودن اشکال گزارش داده شده ، اقدام کرد. پس از ترجمه موفقيت آميز يک برنامه ( عدم وجود خطای گرامری ) ، برنامه اجراء می گردد. در زمان اجرای يک برنامه ممکن است با نوع ديگری از خطاء مواجه گرديم . خطاهای فوق را ، خطای زمان اجراء می نامند. در صورتی که برنامه دارای خطای زمان اجراء نباشد و بطور کامل اجراء گردد ، ممکن است خروجی توليد شده توسط برنامه متناسب با خواسته تعريف شده نباشد. خطاهای فوق را خطاهای منظقی گويند و به علت عدم استفاده درست از دستورات و يا استفاده نامناسب از الگوريتم ها در يک برنامه بوجود می آيند. در چنين مواردی لازم است برنامه نويس ، برنامه نوشته شده را مجددا" بازبينی نموده و با دنبال نمودن بخش های مربوطه و در صورت لزوم الگوريتم های استفاده شده ، خطای موجود را تشخيص و نسبت به رفع آن اقدام و مجددا" برنامه را کمپايل و اجراء نمايد.
متغيرها
متغيرها را می بايست قبل از استفاده ، تعريف کرد. در زمان تعريف يک متغير می بايست نوع داده هائی که قرار است در آن نگهداری گردد را نيز مشخص کرد.مثلا" می توان متغيری تعريف کرد که در آن ، اعداد نگهداری شده و يا متغير ديگری را تعريف کرد که بتوان در آن نام و نام خانوادگی را ذخيره کرد. در زبان برنامه نويسی جاوا تمام متغيرها قبل استفاده می بايست تعريف و همزمان نوع داده هائی که می توان در آنها نگهداری گردد را نيز مشخص کرد .
مثال : در برنامه زير ، دو متغير width و height تعريف شده اند. نوع متغيرهای فوق ، int تعريف شده است . يک متغير از نوع int ، قادر به نگهداری يک عدد صحيح ( مثلا" 1، 2 ، 3 ) است . مقدار اوليه هر يک از متغيرهای فوق ، مقدار 200 در نظر گرفته شده است .
عمليات مربوط به نسبت دهی يک مقدار اوليه به متغيرها " مقدار دهی اوليه " می گويند. يکی از اشکالاتی که ممکن است در برخی از برنامه ها اتفاق افتد ، عدم مقدار دهی اوليه متغيرها است . بنابراين توصيه می گردد در زمان تعريف يک متغير ، مقدار دهی اوليه آن را انجام تا از بروز برخی خطاهای احتمالی در آينده پيشگيری گردد.
در زبان جاوا دو نوع متغير وجود دارد : متغيرهای ساده (Primitive) و کلاس ها . نوع int ساده بوده و قادر به نگهداری يک عدد است . تمام عملياتی که می توان با متغيرهای ساده انجام داد ، صرفا" نگهداری يک مقدار با توجه به نوع متغير است . کلاس ها ، قادر به دارا بودن چندين بخش بوده و با استفاده از متدهای مربوط به هريک ، امکان استفاده آسان آنها فراهم می گردد. Rectangle يک نمونه از کلاس های فوق است .
متن برنامه |
import java.awt.Graphics; public class FirstApplet extends java.applet.Applet public void paint(Graphics g) |
متن برنامه |
import java.awt.Graphics; public class FirstApplet extends java.applet.Applet public void paint(Graphics g) r = g.getClipBounds(); g.drawRect(0, 0, width, height); |
• با توجه به استفاده از کلاس Rectangle ، لازم است از java.awt.Rectangle استفاده گردد.
• در برنامه فوق سه متغير تعريف شده است . دو متغير ( width و height) از نوع int و يک متغير (r) ، از نوع Rectangle است .
• تابع getClipBounds ، پارامتری را بعنوان ورودی اخذ نکرده و صرفا" يک Rectangle را برمی گرداند. دستور : r=g.getClipBounds ، يک Rectangle را برگردانده و آن را در متغير r ذخيره می نمايد.
• متغير r ، از نوع کلاس Rectangle بوده و دارای چهار متغير است . (x,y,width,height) . به منظور دستيابی به هر يک ازمتغيرها ، از عملگر نقظه استفاده می گردد. مثلا" r.width ، عنوان می نمايد که در متغير r ، مقداری با نام width بازيابی می گردد. مقدار مورد نظر در متغير محلی با نام width ذخيره می گردد.
• در نهايت از width و height در توابع مربوط به رسم ، استفاده می گردد.
جاوا دارای چندين نوع متغير ساده است . سه نمونه رايج در اين زمينه عبارتند از :
• نوع صحيح (int)
• نوع اعشاری (float)
• نوع کاراکتری (char)
بر روی داده های نوع ساده می توان عمليات محاسباتی متفاوتی را انجام داد. در اين راستا از عملگر + برای جمع ، - برای تفريق ، * برای ضرب و / برای تقسيم استفاده می گردد. برنامه زير نحوه استفاده از عملگرهای فوق را نشان می دهد .
متن برنامه |
float diameter = 10; radius = diameter / 2.0; |
حلقه های تکرار
مثال : فرض کنيد می خواهيم شکل زير توسط کامپيوتر رسم گردد :
متن برنامه |
import java.awt.Graphics; public class FirstApplet extends java.applet.Applet public void paint(Graphics g) |
متن برنامه |
import java.awt.Graphics; public class FirstApplet extends java.applet.Applet public void paint(Graphics g) |
متن برنامه |
import java.awt.Graphics; public class FirstApplet extends java.applet.Applet public void paint(Graphics g) |
حلقه تکرار با استفاده از For |
for (y = 10; y <= 210; y = y + 25) |
حلقه تکرار با استفاده از While |
y = 10; |