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

مجموعه مقالات جاوا....اولين برنامه ساده java

شروع موضوع توسط minaaa ‏15/12/11 در انجمن Java Script

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

    تاریخ عضویت:
    ‏9/12/10
    ارسال ها:
    19,795
    تشکر شده:
    6,456
    امتیاز دستاورد:
    113
    [HR][/HR] اكنون كه اصول اساسي شي ئ گرايي جاوا مورد بررسي قرار گرفته ، به برخي از
    برنامه هاي واقعي جاوا نگاه خواهيم كرد. كار را با كامپايل كردن و اجراي برنامه
    كوتاه زير شروع مي كنيم . خواهيم ديد كه اين برنامه بيشتر از حد تصور شما كار
    لازم دارد .
    + /*
    + This is a simple Java program.
    + Call this file "Example.java".
    + /*
    + class Exaample {
    + // Your program begins with a call to main.)(
    + public static void main( String args [] ){
    + System.out.println( "This is a simple Java program.");
    + }
    + }
    نكته : در توصيف زيرين از JDK(JAVA Developer's Kit() استاندارد استفاده شده
    است كه توسط خود شركت Sun Microsystems عرضه شده است . اگر از يك محيط
    توسعه يافته ديگر براي جاوا استفاده مي كنيد ، آنگاه بايد از رويه
    متفاوتي براي كامپايل كردن و اجراي برنامه استفاده كنيد . در اين مورد
    به راهنماي كاربران كامپايلر خود مراجعه نماييد .

    وارد نمودن برنامه Entering the program
    در بسياري از زبانهاي كامپيوتري ، نام فايلي كه كد منبع (Source code) يك
    برنامه را نگهداري مي كند بصورت اختياري انتخاب مي شود . اما در جاوا اينگونه
    نيست . اولين چيزي كه بايد درباره جاوا بدانيد اين است كه نامي را كه براي
    فايل منبع انتخاب مي كنيد ، بسيار اهميت دارد . در اين مثال ، نام فايل منبع
    بايد Example JJAVA باشد . چرا ?
    در جاوا يك فايل منبع را بطور رسمي واحد كامپايل سازي (Compilation unit)
    مي گويند . اين فايل يك فايل متني است كه دربرگيرنده يك يا چندين تعريف كلاس
    (class definition) است . در كامپايلر جاوا بايد از فايل منبعي استفاده نمود
    كه داراي پسوند فايل JAVA باشد . دقت كنيد كه اين پسوند داراي چهار كاراكتر
    است . حتما" مي دانيد كه سيستم عامل شما بايد توانايي حمايت از پسوندهاي
    طولاني تر را داشته باشد . بدين ترتيب Dos و ويندوز 3.1 توانايي حمايت از جاوا
    ( لااقل تاكنون ) را ندارند. اما ويندوز NT و95 بخوبي ازعهده اينكار برمي آيند.
    يكبار ديگر به برنامه فوق نگاه كنيد، نام كلاس تعريف شده توسط برنامه ،Example
    مي باشد ، اين يك تصادف يا اتفاق نيست . در جاوا كليه كدها بايد داخل يك كلاس
    جاي بگيرند . براساس آيين نامه ، نام آن كلاس بايد با نام فايلي كه برنامه را
    نگهداري مي كند ، مطابقت داشته باشد . همچنين بايد مطمئن شويد كه حروف بزرگ در
    نام فايل با نام كلاس مطابقت و هماهنگي داشته باشند . دليل اين است كه جاوا
    بسيار حساس نسبت به مورد است . از اين نظر آيين نامه اي كه نامهاي فايل را به
    نامهاي كلاس مرتبط مي كند ، ممكن است اختياري بنظر رسد . اما ، اين آيين نامه
    سبب شده تا نگهداري و سازماندهي برنامه ها آسان تر انجام شود .

    كامپايل نمودن برنامه Compiling the program
    براي كامپايل نمودن برنامه Example ، كامپايلر javac را اجرا نموده و نام
    فايل منبع را روي خط فرمان (command line) بصورت زير مشخص نماييد :
    + c:\>javac Example.java
    كامپايلر javac فايلي تحت نام Example.class ايجاد مي كند كه شامل روايت كد
    بايتي از برنامه است . همانگونه كه قبلا" بحث شد ، كد بايتي جاوا نوعي معرفي
    مياني از برنامه شماست كه دربرگيرنده دستورالعملهايي است كه مفسر جاوا آنها را
    اجرا مي كند . بنابراين خروجي javac كدي كه مستقيما" قابل اجرا باشد ، نخواهد
    بود .
    براي اجراي واقعي برنامه ، بايد از مفسر (interpreter) جاوا تحت نام java
    استفاده نماييد . بدين منظور نام كلاس Example را بعنوان يك آرگومان (argument)
    خط فرمان بصورت زير وارد نماييد .
    + c:\>java Example
    پس از اجراي اين برنامه ، خروجي بصورت زير بنمايش درمي آيد : This is a simple Java program.

    هنگاميكه كد منبع جاوا كامپايل شود ، هر كلاس بتنهايي در فايل خروجي مخصوص
    خود كه فايل آن بعد از كلاس و پسوند class ذكر مي شود، قرار خواهد گرفت . بهمين
    دليل است كه بايد نام فايلهاي منبع جاوا را مطابق همان كلاسي كه آن را در بر
    مي گيرد انتخاب نمود تا نام فايل منبع با نام فايل class. مطابقت داشته باشد .
    وقتي كه مفسر جاوا را همانگونه كه نشان داديم اجرا مي كنيد ، شما در حقيقت نام
    كلاسي كه مايليد مفسر آن را اجرا كند ، مشخص مي نماييد . مفسر بطور خودكار به
    دنبال يك فايل مي گردد كه داراي پسوند class. باشد . اگر آن را پيدا كند ، كدي
    را كه در آن كلاس مشخص شده وجود دارد ، اجرا خواهد نمود .

    نگاهي دقيقتر به برنامه نمونه اول
    اگر چه عبارت Example jjava بسيار كوتاه است ، اما دربرگيرنده چندين جنبه
    كليدي است كه در همه برنامه هاي جاوا وجود خواهند داشت . اجازه دهيد تا هر يك
    از بخشهاي برنامه را با دقت بيشتري بررسي كنيم .
    برنامه با خط زير شروع مي شود :
    + /*
    + This is a simple Java program.
    + Call this file "Example .java".
    + /*
    اين يك " توضيح "(Comment() است . مثل بسياري از زبانهاي برنامه نويسي ،جاوا
    به شما امكان وارد نمودن يك ملاحظه (Remark) در فايل منبع برنامه را مي دهد .
    محتوي يك " توضيح " توسط كامپايلر ناديده گرفته خواهد شد . در عوض ، يك "
    توضيح " ، توصيف كننده يا شرح دهنده عملكرد برنامه است به هر كسي كه كد منبع
    را مطالعه نمايد . در اين مثال ، " توضيح " ، توصيف كننده برنامه بوده و بياد
    شما مي اندازد كه فايل منبع را بايدExample.java بناميد . البته ، در برنامه هاي
    واقعي ،" توضيحات " بطور كلي توصيف مي كنند كه چگونه برخي از بخشهاي يك برنامه
    كار كرده و يا اينكه يك جنبه خاص از برنامه چكاري انجام خواهد داد .
    جاوا از سه روش براي " توضيحات " پشتيباني مي كند. اول آن چيزي است كه بالاي
    برنامه مشاهده مي كنيد كه آن را توضيح چند خطي (multiline comment) مي گويند .
    اين نوع از " توضيح " بايد با علامت /* و با علامت */ پايان يابد . هر چيزي كه
    بين اين دو علامت قرار گيرد توسط كامپايلر ناديده گرفته خواهد شد . همانطوريكه
    از نام اين روش پيداست ، يك توضيح ، چند خطي ممكن است چندين خط دراز داشته
    باشد .
    خط بعدي كد برنامه بصورت زير مي باشد :
    + class Exaple {
    اين خط از واژه كليدي class استفاده مي كند تا اعلان نمايد كه يك كلاس جديد
    در حال تعريف شدن است . Example شناسه اي (identifier) است كه نام كلاس مي باشد.
    كل تعريف كلاس ، شامل : كليه اعضائ خود ، بين علامات ابروباز ({) و ابروبسته (})
    قرار مي گيرد . استفاده از علامات فوق در جاوا مشابه روش استفاده از آنها در C
    و C++ است . فعلا" درباره جزئيات مربوط به يك كلاس نگران نباشيد مگر دقت به اينكه
    در جاوا ، كليه فعاليت برنامه اي داخل يك علامت اتفاق مي افتد . اين امر يكي از
    دلايلي است كه كليه برنامه هاي جاوا شي ئ گرا هستند .
    خط بعدي برنامه يك " توضيح يك خطي "(single-line comment() بصورت زير است :
    + // Your program begins with a call to main.)(
    اين نوع دوم " توضيحي " است كه توسط جاوا پشتيباني مي شود. يك توضيح يك خطي
    با علامت // شروع شده و در انتهاي خط پايان مي يابد . بعنوان يك قانون عمومي
    برنامه نويسان از توضيحات چند خطي براي ملاحظات طولاني تر و از توضيحات يك خطي
    براي توضيحات كوتاه و خط به خط استفاده مي كنند .
     
  2. کاربر پیشرفته

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

    خط بعدي كد بقرار زير مي باشد :
    + public static void main( String args [] ){
    اين خط شروع كننده روش ()main است . همانطوريكه توضيح متعاقب آن پيشنهاد
    مي كند ، اين خطي است كه برنامه در آن شروع به اجرا مي نمايد . كليه برنامه هاي
    كاربردي جاوا با فراخواني ()main شروع به اجرا مي كنند. ( درست شبيه C++/C. ).
    معناي دقيق بخشهاي مختلف اين خط را فعلا" نمي توان توضيح داد ، زيرا درك آن
    مستلزم آگاهي از روش Java براي كپسول سازي است . اما از آنجاييكه اكثر مثالهاي
    موجود در بيشتر قسمتهاي اين بحث از اين خط از كط استفاده مي كنند ، بهتر است
    مرور كوتاهي بر بخشهاي مختلف آن داشته باشيم .
    واژه كليدي public يك توصيفگر دسترسي (access specifier) است كه به برنامه
    نويس امكان داده تا قابليت و سطح مشاهده اعضائ كلاس را كنترل نمايد . وقتي كه
    عبارت public قبل از يك عضو كلاس قرار مي گيرد ، آنگاه آن عضو را مي توان با
    كدهاي خارج از كلاس كه اعلان شده ، مورد دسترسي قرار داد . ( مخالف اين عبارت
    عبارت .private است كه از دسترسي به يك عضو توسط كدهاي تعريف شده در خارج كلاس
    جلوگيري مي نمايد . ) در اين حالت ()main بايد بعنوان public اعلام شود ، زيرا
    بايد توسط كدهاي خارج از كلاس هنگاميكه برنامه آغاز مي شود ، فراخواني شود .
    واژه كليدي Static به ()main امكان داده تا بدون معرفي شدن توسط يك كلاس نمونه
    فراخواني شود . اين امر ضروري است چون ()main قبل از اينكه هر يك از اشيائ
    ساخته شوند توسط مفسر جاوا فراخواني خواهد شد . واژه كليدي Void بسادگي به
    كامپايلر مي گويد كه ()main مقداري را بازگردان نمي كند . همانطوريكه خواهيد
    ديد ، ممكن است روشها (methods) نيز مقادير را بازگردان كنند . اگر اين مطالب
    تا حدي گيج كننده است ، نگران نباشيد . كليه اين مطالب با جزئيات بيشتري در
    قسمتهاي بعد بررسي خواهد شد .
    همانطوريكه بيان شده ()main روشي است كه هنگام شروع يك برنامه كاربردي جاوا
    فراخواني مي شود . بياد آوريد كه جاوا بسيار حساس نسبت به مورد است . بنابراين
    براي جاوا Mainو mainو دو مفهوم متفاوت دارند . نكته مهم اين است كه كامپايلر
    جاوا فقط كلاسهايي را كه شامل روش ()main نباشند ، كامپايل خواهد نمود . اما
    مفسر جاوا راهي براي اجراي اين كلاسها ندارد . بنابراين اگر بجاي main عبارت Main
    را تايپ كرده باشيد ، كامپايلر همچنان برنامه شما را كامپايل خواهد كرد .
    اما مفسر جاوا يك گزارش خطا مي دهد زيرا توانايي يافتن روش ()main را ندارد .
    اطلاعاتي كه لازم است به يك روش ارسال كنيد ، توسط متغيرهاي مشخص شده بين
    مجموعه پرانتزهايي كه بعد از نام روش قرار مي گيرند ، دريافت خواهد شد . اين
    متغيرها را پارامترها (parameters) مي نامند . اگر براي يك روش داده شده نياز
    به پارامتري نباشد ، از پرانتزهاي خالي استفاده مي كنيد . در حال حاضر ()main
    فقط يك پارامتر دارد ، كه البته بسيار پيچيده هم هست . String args [] يك
    پارامتر با نام args را اعلان ميكند كه يك آرايه از نمونه هاي string كلاس ميباشد.
    ( آرايه مجموعه اي از اشيائ مشابه هم هستند . ) اشيائ از نوع string ، رشته هاي
    كاراكترها را ذخيره مي كنند . در اين حالت ، args هر نوع آرگومان خط فرمان
    حاضر در هنگام اجراي برنامه را دريافت مي كند . اين برنامه از اين اطلاعات
    استفاده نمي كند ، اما برنامه هاي ديگر چنين استفاده اي را انجام مي دهند .
    آخرين كاراكتر روي خط ، علامت { است . اين علامت نشان دهنده شروع بدنه ()main
    است . تمامي كدهايي كه يك روش را تشكيل مي دهند بين ابرو باز و ابرو بسته همان
    روش قرار مي گيرند .
    يك نكته ديگر : ()main نقطه شروع بكار مفسر است . يك برنامه پيچيده شامل
    دهها كلاس است كه فقط يكي از آنها لازم است يك روش ()main داشته باشد تا كارها
    را شروع نمايد . هنگاميكه ريز برنامه ها (applets) برنامه هاي جاوا كه در
    مرورگرهاي وب تعبيه مي شوند را ايجاد مي كنيد ، بهيچوجه از ()main استفاده
    نخواهيد كرد، زيرا مرورگرهاي وب از وسائل متفاوتي براي شروع اجراي ريزبرنامه ها
    استفاده مي كنند .
    خط بعدي كد بقرار زير ميباشد. دقت كنيد كه اين خط داخل ()main قرار ميگيرد.
    + System.out.println("This is a simple Java program.");
    اين خط رشته "This is a simple Java program" را بعنوان خروجي ارائه مي دهد
    كه بعد از آن يك خط جديد روي صفحه ظاهر خواهد شد . خروجي بطور واقعي با روش
    توكار ()println همراه است . در اين حالت ، ()println نمايش دهنده رشته اي است
    كه در آن ثبت شده . خواهيد ديد كه از ()println براي نمايش ساير انواع اطلاعات
    نيز استفاده مي شود . خط بالا با system.out شروع مي شود . اگر چه در اين مرحله
    توضيح اين مطلب بسيار دشواراست ، اما بطور اختصار system يك كلاس از پيش تعريف
    شده است كه دسترسي به سيستم را فراهم آورده و out نيز جريان خروجي است كه به
    كنسول (console) مرتبط شده است .
    همانطوريكه احتمالا" حدس زده ايد ، خروجي ( و نيز ورودي ) كنسول بندرت در
    برنامه ها و ريز برنامه هاي جاوا مورد استفاده قرار مي گيرند . از آنجاييكه اكثر
    محيط هاي جديد كامپيوتري داراي طبيعت پنجره اي و گرافيكي هستند ، كنسول l/o
    اكثرا" براي برنامه هاي كمكي ساده و برنامه هاي نمايشي استفاده مي شود . بعدا"
    شيوه هاي ديگري براي ايجاد خروجي با استفاده از جاوا ر خواهيد آموخت . اما فعلا"
    ما استفاده از روشهاي l/o كنسول را ادامه مي دهيم .
    دقت كنيد كه ()println با يك علامت ويرگول نقطه ([​IMG](semicolon) پايان ميگيرد.
    كليه دستورات (statements) در جاوا با همين علامت پايان مي گيرند . دليل اينكه
    ساير خطوط برنامه با اين علامت پايان نمي گيرند اين است كه آنها را از نظر ند .