( تعداد نمایش : 2117 )

اولین برنامه ساده java

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

+ /*
+ 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 و ویندوز ۳٫۱ توانایی حمایت از جاوا
( لااقل تاکنون ) را ندارند. اما ویندوز NT و۹۵ بخوبی ازعهده اینکار برمی آیند.
یکبار دیگر به برنامه فوق نگاه کنید، نام کلاس تعریف شده توسط برنامه ،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.)(

این نوع دوم ” توضیحی ” است که توسط جاوا پشتیبانی می شود. یک توضیح یک خطی
با علامت // شروع شده و در انتهای خط پایان می یابد . بعنوان یک قانون عمومی
برنامه نویسان از توضیحات چند خطی برای ملاحظات طولانی تر و از توضیحات یک خطی
برای توضیحات کوتاه و خط به خط استفاده می کنند .
خط بعدی کد بقرار زیر می باشد :

+ 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 با یک علامت ویرگول نقطه (;)(semicolon) پایان میگیرد.
کلیه دستورات (statements) در جاوا با همین علامت پایان می گیرند . دلیل اینکه
سایر خطوط برنامه با این علامت پایان نمی گیرند این است که آنها را از نظر ند .

دیدگاه خود را بیان کنید.

باید وارد سایت شده باشید برای دیدگاه دادن