کاربری
کاربر گرامی به خوش آمدید . اگر این نخستین بازدید شما از سایت است , لطفا ثبت نام کنید:

   

جهت تبلیغات در پرشین فروم کلیک کنید

صفحه 1 از 2 12 آخرینآخرین
نمایش نتایج: از شماره 1 تا 15 , از مجموع 27

موضوع: آموزش جاوا

  1. #1

    Thumbs up آموزش جاوا

    در این هفته برای شما آموزش جاوا رو در نظر گرفتیم




    لطفا با نظراتون ما رو به خدمتگزاری بهتر در این سایت یاری کنید
    با تشکر
    Borna Service

  2. 6 کاربر برای این پست سودمند از fck_hamed عزیز تشکر کرده اند:


  3. Left Ad Image/Code 1 needs to be placed here, no larger than 260 pixels in height.
    Right Ad Image/Code 2 needs to be placed here, no larger than 260 pixels in height.
  4. #2

    Post آشنایی با جاوا

    چرا جاوا زباني جالب است ؟
    در يكي از مقالات در باره ي زبان شركتSun جاوا را با اين خصوصيات شرح مي دهد :
    جاوا يك زبان ساده ، شي گرا ،‌توزيع شده ، تفسير شده ، قدرتمند ، ايمن ، با معماري خنثي ، قابل حمل ، با عملكرد سطح بالا چند نخ كشي شده و پويا است .
    Sun تصديق ميكند كه به طور قطع اين كلمات رشته هايي از واژه هاي متداول در زبان برنامه نويسي هستند ، اما حقيقت اين است كه اين واژه ها به طور ماهرانه اي خصوصيات اين زبان را شرح ميدهند .
    حال به برخي از خصلت هاي جاوا در پشت اين واژه ها ميپردازيم .

    شي گرا :Object Oriented
    جاوا يك زبان برنامه نويسي شي گرا است . براي يك برنامه نويس اين به اين معنا است كه به جاي فكر كردن به قسمت هاي رويه برنامه ، بايد به كاربرد داده ها و روش هايي كه روي آن داده ها عمل ميكنند ، توجه شود.
    اگر شما به برنامه نويسي با اعلان رويه در C عادت كرده ايد ،ممكن است دريابيد كه به هنگام استفاده از جاوا مجبور به تغيير در روش و چگونگي برنامه تان هستيد . هنگامي كه فهميديد اين الگوي جديد چقدر قدرتمند است ، به سرعت با آن هماهنگ ميشويد .
    در يك سيستم شي گرا ، يك كلاس مجموعه اي از داده ها و روش هايي است كه روي آن داده عمل ميكنند. همراه بودن داده ها و متد ها رفتار و حالت يك شي را بيان مي دارد . كلاس ها به صورت سلسله مراتبي مرتب شده اند ، بنابر اين يك زير كلاس ميتواند رفتار هايي را از كلاس بالاتر به ارث ببرد . يك كلاس سلسله مراتبي هميشه يك كلاس ريشه دارد كه كلاسي است با رفتار هاي كاملا عمومي .
    جاوا به همراه دسته ي گسترده اي از كلاس هايي است كه در بسته هايي مرتب شده اند و شما مي توانيد از آنها در برنامه ي خود استفاده كنيد . براي مثال جاوا كلاس هايي را ايجاد ميكند كه :
    بخش هاي رابط گرافيكي را ميسازند (the java.awt package) ،كلاس هايي كه عمليات ورودي و خروجي را به عهده دارند(the java.io package) و كلاس هايي كه از شبكه پشتيباني ميكنند (the java.net package ) .
    يك شي كلاس(in the java.lang package) به عنوان ريشه كلاس سلسله مراتبي جاوا انجام وظيفه ميكند .
    جاوا بر خلاف C++ طوري طراحي شده است كه از همان ابتدا به صورت شي گرا باشد . اكثر چيز ها در جاوا اشيا هستند . ارقام ابتدايي ، كاراكترها و مدل هاي منطقي تنها استثناء ها هستند . حتي رشته ها هم در جاوا به وسيله اشيا حاضر ميشوند ،همان طور كه ساختمان هاي مهم ديگر اين زبان ، مثل نخ ها احضار ميشوند . يك كلاس يك واحد پايه براي كامپايل و اجرا شدن در جاوا است . تمام برنامه هاي جاوا متشكل از كلاس ها است .
    درست است كه جاوا طوري طراحي شده است كه مثل C++ باشد و خاصيت هاي آن را داشته باشد ، اما هنگامي كه با آن كار كنيد خواهيد فهميد كه بسياري از پيچيده گي هاي آن زبان را از بين برده است .
    اگر شما يك برنامه نويس C++ هستيد حتما لازم است كه ساختار هاي شي گرايي در جاوا را به دقت مطالعه كنيد . اگرچه تركيب و نحوه دستورات آن تقريبا شبيه C++ است ،‌اما رفتار هاي آن خيلي مشابه نيست .

    تفسير شده :Interpreted
    جاوا يك زبان تفسير شده است . كامپايلر جاوا به جاي ايجاد كد محلي ماشين ، كد بايتي براي ماشين مجازي جاوا ايجاد ميكند . براي اجراي دقيق برنامه ، از مفسر جاوا براي اجراي كد هاي بايتي كامپايل شده استفاده ميشود . به دليل اينكه كد هاي بايتي جاوا به نوع كامپيوتر بستگي ندارند ، برنامه هاي جاوا ميتوانند روي هر نوع كامپيوتري كه JVM (Java Virtual Machine) را دارند ، اجرا شوند .
    در محيط تفسير شده ، مرحله لينك استاندارد توسعه برنامه از ديد كاربر پنهان است . اگر جاوا تنها يك مرحله لينك داشت ، فقط بارگذاري كلاس جديد به محيط پردازش ميشد كه يك پردازش نموي سبك وزن است كه در زمان اجرا مشاهده ميشود . كه اين خصوصيت با چرخه كامپايل-لينك-اجرا ي آرام و طاقت فرساي زبان هايي مانند C يا C++ در تضاد است .

    معماري خنثي و قابل حمل :Architecture Neutral and Portable
    به دليل اينكه برنامه هاي جاوا در فرمت كد بايتي با معماري خنثي كامپايل شده اند ، برنامه كاربردي جاوا ميتواند در هر سيستمي اجرا شود.
    البته با اين شرط كه آن سيستم توانايي پياده سازي ماشين مجازي جاوا را داشته باشد . اين مسئله تقريبا براي كاربرد هاي توزيع سده روي اينترنت و يا ديگر شبكه هاي ناهمگن مهم است . اما روش معماري خنثي براي كاربرد هاي بر مبناي شبكه مفيد است .
    به عنوان يك توسعه دهنده برنامه هاي كاربردي در بازار نرم افزاري امروز ممكن است بخواهيد مدل هاي كاربردي خود را توسعه دهيد ، به طوري كه بتواند روي Pc ، مكينتاش و سيستم عامل Unix اجرا شود .با وجود گونه هاي مختلف Unix ، Windows روي Pc و مكينتاش قوي جديد ، رفته رفته توليد نرم افزار براي همه انواع اين كامپيوتر ها سخت مي شود . اگر شما برنامه تان را در جاوا بنويسيد ميتواند روي همه ي اين كامپيوترها اجرا شود .
    در حقيقت تفسير شده بودن جاوا وتعريف يك استاندارد ، معماري خنثي داشتن و فورمت كد بايتي آن از بزرگترين دلايل قابل حمل بودن آن به شمار مي آيند .
    اما جاوا باز از اين هم بيشتر گام برميدارد ،‌ با اطمينان حاصل كردن از اينكه هيچيك از جنبه هاي وابستگي اجرايي زبان را ندارد . براي مثال جاوا به طور صريح اندازه هريك از انواع داده را تعريف ميكند كه اين با C تفاوت دارد ، برای مثال هريک از انواع صحيح می تواند بسته به نوع کامپيوتر16-32 يا 64 بيت طول داشته باشد .
    هنگامی که به صورت تکنيکی امکان نوشتن برنامه های غير قابل حمل در جاوا فراهم شد ، جلوگيری از چند خاصيت وابسته به نوع کامپيوتر که توسط جاوا API توليد شده و به طور قطع قابل حمل نوشته شده است ، آسان است .
    يك برنامه جاوا به توليد كنندگان نرم افزار كمك ميكند تا از قابل حمل بودن كد هايشان اطمينان حاصل كنند . برنامه نويسان فقط براي پرهيز از دام غير قابل حمل بودن برنامه احتياج به يك تلاش ساده دارند كه شعار تجارتي شركتSun را زنده نگهدارند و آن شعار اين است :
    « يك بار بنويس ، همه جا اجرا كن » .

    پويا و توزيع شده :Dynamic and Distributed
    جاوا يك زبان پويا است . هر كلاس جاوا ميتواند در هر زماني روي مفسر جاوا بارگذاري شود . سپس اين كلاس هاي بارگذاري شده ي پويا ميتوانند به صورت پويا معرفي شوند . حتي كتابخانه كد هاي محلي ميتواند به طور پويا بارگذاري شود .كلاس ها در جاوا با كلاس Class فراخواني ميشوند ؛ شما ميتوانيد به طور پويا در مورد يك كلاس در زمان اجرا اطلاعاتي بدست بياوريد . اين خصوصيت در جاوا 1-1 به طور درستي موجود است . با وجود بازتاب API اضافه شده (Application Program Interface ) كه به برنامه ساز امكان ميدهد كه با برنامه از طريق يك برنامه كاربردي ديگر ارتباط برقرار كند .
    جاوا حتي با نام زبان توزيع شده نيز خوانده ميشود . به طور ساده اين به اين معنا است كه اين زبان پشتيباني سطح بالايي براي شبكه به وجود مي آورد . براي مثال كلاس URL و كلاس هاي مرتبط با آن در بسته ي Java.net ، خواندن فايل هاي دوردست را به همان سادگي خواندن فايل هاي محلي كرده است . به طور مشابه در جاوا 1-1 ، احضار روش كنترلي RMI
    (Remote Method Invocation ) ، API به يك برنامه جاوا اجازه ميدهد كه روش هايي از اشياء دور دست جاوا را به همان صورتي كه اگر آن اشياء محلي بدند آنها را ميخواند ، بخواند .( جاوا حتي از سيستم شبكه اي سطح پايين كه شامل آدرس مقصد و مسير جرياني كه توسط سوكت ها متصل شده است ، نيز پشتيباني ميكند .)
    طبيعت توزيع شده ي جاوا زمانيكه با امكانات پوياي بارگذاري كلاس همراه ميشود ، واقعا درخشنده است . اين خصوصيات با هم اين امكان را براي مفسر جاوا به وجود مي آورند كه كد ها را از اينترنت بارگذاري و اجرا كند . ( همان طور كه بعدا خواهيم ديد جاوا باعث ميشود كه با وجود ابزار قدرتمند و ايمن اين كار به طور مطمئن انجام شود .) اين چيزي است كه در هنگام بارگذاري و اجراي يك برنامه كاربردي از اينترنت توسط مرورگر وب ، اتفاق مي افتد . اما داستان پيچيده تر از اين هم ميتواند باشد . تصور كنيد يك پردازشگر كلمه چند رسانه اي در جاوا نوشته شده است . وقتي از اين برنامه پرسيده ميشود كه چند نوع از داده هايي را كه قبلا هرگز وارد نشده را نمايش دهد ، ممكن است به طور ديناميكي يك كلاس را كه ميتواند داده را شناسايي كند ، از شبكه بارگذاري كند و بعد كلاس ديگري را كه بتواند داده را از درون يك پوشه تركيبي بخواند ، باز به طور ديناميكي بارگذاري ميكند . برنامه اي مانند اين از منابع توزيع شده در شبكه براي رشد و سازگاري خودكار كاربران استفاده ميكند .

    ساده :Simple
    جاوا يك زبان ساده است . طراحان جاوا سعي در اين داشتند تا زباني بوجود بياورند كه برنامه نويسان بتوانند به سرعت آن را ياد بگيرند . بنابراين تعداد ساختار هاي اين زبان تقريبا كم است . هدف ديگر طراحي اين زبان اين بود كه به منظور راحتي انتقال آن ، آن را طوري طراحي كنند كه براي عده ي زيادي از برنامه نويسان آشنا باشد . اگر شما يك برنامه نويس C يا C++ هستيد ، خواهيد فهميد كه جاوا از بسياري از ساختار هاي C و ‍ C++ استفاده ميكند .
    براي اينكه اين زبان را هم به طور ساده و هم آشنا و ملموس و هم كوچك نگه دارند بسياري از خصوصيات C و C++ را در آن حذف كردند . اينها خصوصياتي بودند كه باعث مي شدند برنامه نويسي ضعيفي صورت بگيرد يا آنهايي بودند كه به ندرت در برنامه استفاده مي شدند . براي مثال جاوا از دستور goto استفاده نمي كند ، در عوض از دستورهاي break , continue در مواقع نياز استفاده مي كند .
    جاوا از سر فايل ها(header files) استفاده نمي كند و پردازشگر C را هم حذف كرده است . به اين دليل كه جاوا يك زبان شي گرا است ، ساختار هاي C مثل struct , union از آن برداشته شده است . جاوا حتي بارگذاري مجدد و خواص چندگانه ارث بري از C++ را هم حذف كرده است . شايد مهمترين پارامتر ساده بودن جاوا عدم استفاده اين زبان از اشاره گر ها باشد . اشاره گر ها يكي از بيشترين موجوديت هاي دردسرساز در C , C++ هستند . چون جاوا ساختمان ندارد و آرايه ها و رشته ها اشياء آن هستند ، بنابراين احتياجي به اشاره گر نيست .جاوا به طور خودكار آدرس دهي و دستذسي به محتواي موجود در يك آدرس را براي شما انجام ميدهد .
    جاوا حتي زباله هاي حافظه اي را هم به طور خودكار جمع آوري ميكند .(Garbage Collectin) (* جمع آوري آشغال فرايندي است براي ترميم خودكار حافظه انباشته شده . بلوك هايي از حافظه كه زماني به فايل ها اختصاص داشتند اما مدتي است كه از آنها استفاده نمي شود و بلوك هايي از حافظه كه هنوز مورد استفاده قرار ميگيرند ممكن است حركت داده شوند تا از به هم پيوستن فضاهاي خالي حافظه بلوك هاي خالي بزرگتري بدست آيد .
    [ از كتاب : Microsoft computer dictionary] * ) بنابراين لازم نيست كه نسبت به موضوع مديريت حافظه نگران باشيد ، همه اينها شما را از نگراني در مورد اشاره گر هاي بي ارزش ، خطرناك و هرز هاي حافظه رها ميكنند . بنابر اين شما ميتوانيد وقت خود را صرف بهبود برنامه تان كنيد .

    قدرتمند :Robust
    جاوا براي نوشتن نرم افزارهاي قدرتمند و بسيار ايمن ساخته شده است . جاوا هنوز هم به طور قطع نرم افزار ها را تضمين نميكند . تقريبا هنوز هم امكان نوشتن برنامه هاي مشكل ساز در جاوا وجود دارد ، هرچند كه جاوا برخي از انواع مشخص خطاهاي برنامه نويسي را حذف كرده كه به طرز چشمگيري نوشتن نرم افزار هاي ايمن را آسان تر كرده است .
    جاوا يك زبان تايپ شده قدرتمند است ،‌ كه اجازه چك شدن مشكلات و خطاهاي تايپي را در زمان كامپايل مي دهد . جاوا بسيار قويتر از C++ تايپ شده است كه بسياري از خصوصيات انعطاف پذير در زمان كامپايل را از C به ارث برده است . مخصوصا هنگام اعلان توابع .جاوا به مدل اعلان صريح احتياج دارد ، زيرا كه از مدل اعلان صريح C پشتيباني نميكند . اين مسئله مارا از اينكه كامپايلر ميتواند خطاهاي زمان اعلان را بدست آورد ، مطمئن ميكند . مسئله اي كه منجر به ايجاد برنامه هاي ايمن تري ميشود .
    يكي از چيزهايي كه باعث شده كه جاوا ساده باشد عدم وجود اشاره گر ها ومحاسبات بر روي آنها است . اين ويژگي حتي قدرت جاوا را هم با از ميان بردن يك كلاس سراسري اشاره گر افزايش ميدهد .
    به طور مشابه تمام دسترسي به آرايه ها و رشته ها در زمان اجرا چك مي شوند تا از قطعي بودن آنها اطمينان حاصل شود .با از بين بردن امكان دوباره نويسي حافظه و داده هاي هرزه ، تعويض نقش اشياء از نوعي به نوع ديگر هم در زمان اجرا كنترل ميشود تا از مجاز بودن آن اطمينان حاصل شود .
    سرانجام زباله جمع كن خودكار جاوا بسياري از عمليات پاكسازي مرتبط با معماري حافظه را راه اندازي ميكند . چيزي كه از خطاهاي خطر ساز مرتبط با تخصيص و آزاد سازي حافظه جلوگيري ميكند .

    ايمن : Secure
    يكي از دلايل پرطرفدار بودن جاوا اين است كه يك زبان ايمن است . اين ويژگي مخصوصا به خاطر طبيعت توزيع شده ي آن بسيار مهم است .بدون وجود امنيت شما قطعا نميخواهيد كه يك كد را از يك سايت تصادفي اينترنت بارگذاري كنيد و به آن اجازه اجرا شدن روي كامپيوتر خودتان را هم بدهيد . اين دقيقا همان چيزي است كه مردم هرروز با يك كد جاوا انجام ميدهند . جاوا به صورت ايمن طراحي شده و چندين لايه كنترل امنيت به وجود مي آورد كه شما را در برابر كد هاي خطرساز محافظت مي كنند و به كاربر اجازه ميدهد كه برنامه هاي ناشناخته را با خيال راحت اجرا كند .
    همان طور كه ديديم ، برنامه جاوا نميتواند اشاره گر ها را به حافظه يا آرايه هاي سرريز يا حافظه خواندني خارج از محدوده يك آرايه يا رشته اشاره ، اشاره دهد. اين خصوصيت يكي از اصلي ترين وسايل دفاع جاوا در برابر كدهاي خطرساز است . دومين راه دفاع در برابر كد هاي خطرساز ، پردازش كدهاي بايتي به صورت قابل تصديق و تاييد است كه مفسر جاوا به روي هر كدي كه در حال بار گذاري باشد اعمال ميكند . اين مراحل تاييد از اينكه كد به صورت درستي ساخته شده اطمينان حاصل ميكنند ، كه براي مثال پشته سرريزي يا زيرريزي نداشته باشد ، يا شامل كد هاي بايتي غير مجاز نباشد .
    كدهاي بايتي خراب يا خطرساز ممكن است از ضعف هاي اجرايي در مفسر جاوا سوء‌ استفاده كنند . لايه اي كه در اينجا ما را به طور ايمن محافظت ميكند ، مدل جعبه شني (Sand box) است : كدهاي ناشناخته در يك جعبه شني قرار ميگيرند جايي كه ميتوانند به صورت ايمن اجرا شوند ، بدون اينكه هيچ صدمه اي به بقيه اجزاء يا محيط جاوا بزنند .
    وقتي يك برنامه كاربردي يا ديگر كدهاي ناشناخته در جعبه شني در حال اجرا است ،‌ چند محدوديت در مورد كاري كه ميتواند انجام دهد ، وجود دارد . واضح ترين اين محدوديت ها اين است كه هيچ دسترسي به هيچ يك از فايل هاي محلي سيستم وجود ندارد . در جعبه شني محدوديت ديگري هم وجود دارد كه به وسيله كلاس مديريت امنيت اعمال ميشود . اين مدل در ابتدا از اينكه سيستم هاي امنيتي را نصب كرده ايد يا نه ، مطمئن ميشود ، چرا كه همه كلاس هاي جاوا نياز به عمليات حساسي مانند دسترسي به سيستم فايل را دارند . اگر فراخواني به وسيله يك كد ناشناخته به صورت مستقيم يا غير مستقيم انجام شد ،‌ مدير امنيت مورد استثناء‌ را مي فرستد و عمليات صورت نمي گيرد .
    و سرانجام در جاوا 1-1 يك راه حل ممكن ديگر براي مشكلات امنيتي وجود دارد ، به وسيله ضميمه كردن يك امضاء ديجيتالي به كد جاوا كه اصل آن كد ميتواند به صورت پنهاني و نهفته ساخته شود . اگر شما اعتماد خود را به يك شخص يا يك سازمان مشخص كرده باشيد ، كدي كه امضاء آن هويت مورد اعتماد روي آن قرار دارد ،‌ ايمن و مطمئن است . حتي زمانيكه در حال بارگذاري شدن در شبكه است و ممكن است حتي بدون جلوگيري توسط جعبه شني اجرا شود .

    عملكرد سطح بالا :High Performance
    جاوا يك زبان تفسير شده است ، بنابر اين هرگز به سرعت زبان كامپايل شده اي مثل C نخواهد بود . گفته ميشود كه جاوا 0-1 به اندازه 20 برابر از C كند تر است . جاوا 1-1 تقريبا سرعتي دو برابر جاوا 1-1 دارد . بنابراين ممكن است عاقلانه باشد اينكه بگوييم كد C كامپايل شده 10 برابر سريع تر از كد هاي تفسير شده ي جاوا اجرا ميشود . اما قبل از اينكه به خاطر اين موضوع مايوس شويد ، آگاه باشيد كه اين سرعت بيشتر از آن چيزي است كه براي برنامه هاي پرسرعت ، كاربردهاي GUI (Graphical User Interface ) ، برنامه هاي برمبناي شبكه ، جايي كه برنامه كاربردي معمولا آماده براي اجرا شدن است ، انتظار براي كاربر كه يك دستوري اعمال كند و يا انتظار براي دريافت از شبكه ، لازم است .
    به علاوه قسمت هايي كه به سرعت هاي بالا نياز دارند ، كه كارهايي از قبيل الحاق رشته ها و مقايسه را انجام ميدهند ، با كد محلي جاوا اجرا ميشوند .
    علاوه بر اين كارايي ، بسياري از مفسر هاي جاوا اكنون شامل كامپايلر هاي فقط در زمان " just in time " نيز هستند كه ميتواند كدهاي بايتي جاوا را براي هر نوعCPU در زمان اجرا به كد ماشين ترجمه كند . فرمت كد بايتي جاوا با اين كامپايلر هاي در زمان در مركز كافي و مناسب است و انصافا كدهاي خوبي توليد ميكند . در حقيقت Sun ادعا ميكند كه كارايي كد هاي بايتي كه به كد ماشين تبديل شده اند ، تقريبا به خوبي كارآيي آن در C و C++ است .
    اگر شما خواهان اين هستيد كه قابل حمل بودن كد ها را قرباني بهبود در سرعت آن كنيد ، ميتوانيد بخش قابل توجهي از برنامه خود را در C و C++ بنويسيد و از روش هاي مخصوص جاوا براي مشترك كردن با اين كد محلي جاوا استفاده كنيد .

    چند نخ كشي شده :Multitbreaded
    در يك برنامه كاربردي بر مبناي GUI شبكه اي ، مثل مرورگر وب ، تصور اينكه چند چيز بتوانند به طور همزمان اجرا شوند ، آسان است . يك كاربر ميتواند همزمان با اينكه دارد يك صفحه وب را ميخواند به يك كليپ صوتي گوش دهد و همزمان در پس زمينه مرورگر يك عكس را بارگذاري كند .
    جاوا يك زبان چندنخ كشي شده است ، كه از چندين رشته اجرايي (گاهي پردازش سبك وزن خوانده ميشود) پشتيباني ميكند و ميتواند چندين كار را انجام دهد . يكي از مزيت هاي چندنخ كشي شده اين است كه عملكرد سطح بالايي براي كاربردهاي گرافيكي براي كاربر فراهم ميكند .
    اگر شما سعي كرده ايد كه با نخ ها در C و C++ كار كنيد ، ميدانيد كه كمي مشكل است . جاوا برنامه نويسي با نخ ها را بسيار آسان تر كرده است ، با به وجود آوردن زبان درون ساخته شده اي كه از نخ ها پشتيباني ميكند . بسته jana.lang يك كلاس بوجود آورده است كه از روش هايي براي شروع و پايان يك نخ ، و مرتب كردن ترتيب گره ها در ميان چيز هاي ديگر ، پشتيباني ميكند .
    حتي دستورات زبان جاوا از نخ ها پشتيباني ميكنند ، كه با استفاده از كلمات كليدي مطابق شده . اين كلمات كليدي علامت گذاري بخش هاي كد يا تمامي روش هايي را كه بايد فقط با يك نخ در يك زمان اجرا شوند را به شدت آسان كرده است .
    به دليل اينكه جاوا استفاده از نخ ها را بسيار ساده ميكند ، كلاس جاوا در شماري از جاها از اين نخ ها استفاده ميكند . براي مثال هر برنامه كاربردي كه انيميشن اجرا ميكند ، از نخ ها استفاده كرده است .
    به طور مشابه جاوا از برنامه هاي نا همگام ، ورودي ها و خروجي هاي بلاك نشده با اخطاري به وسيله سيگنال ها يا وقفه ها پشتيباني نميكند ، در اين صورت شما بايد يك نخ بسازيد كه روي هر كانال ورودي خروجي كه با آن كار ميكنيد بلاك شده باشد .

    به نقل از dev.ir
    Borna Service

  5. 3 کاربر برای این پست سودمند از fck_hamed عزیز تشکر کرده اند:


  6. #3

    Post آموزش جاوا - انواع اعداد صحیح در ج

    جاوا چهار نوع عدد صحيح تعريف مي كند : byte، short،، int،، long، . كليه
    اين اعداد داراي علامات مثبت و منفي هستند . جاوا از اعداد صحيح غير علامت دار و فقط مثبت پشتيباني نمي كند . بسياري از زبانهاي برنامه نويسي شامل Cو C++و هم از اعداد صحيح علامت دار و هم از اعداد صحيح فاقد علامت پشتيباني مي كنند . اما طراحان جاوا احساس مي كردند كه اعداد صحيح فاقد علامت غير ضروري است . بويژه آنها احساس كردند كه مفهوم فاقد علامت (unsigned) بيشتر براي مشخص كردن رفتار بيت بالاتر از حد مجاز (high-order bit) استفاده مي شود كه علامت يك int را هنگاميكه بعنوان يك رقم عنوان مي شود ، مشخص مي كند . بعدا" خواهيد ديد كه جاوا مفهوم بيت بالاتر از حد مجاز (high-order bit) را بگونه اي متفاوت مديريت مي كند ، يعني با اضافه كردن يك عملگر ويژه حركت به راست فاقد علامت unsigned) (right shift . بدين ترتيب نياز به يك نوع عدد صحيح فاقد علامت منتفي شده است .
    پهناي (widit) يك نوع عدد صحيح را نبايد با ميزان حافظه اي كه مصرف مي كند
    اشتباه گرفت ، بلكه نشانه رفتاري است كه براي متغيرها و عبارات آن نوع تعريف
    مي شود . محيط حين اجراي جاوا از هر اندازه اي كه نياز داشته باشد ، استفاده
    مي كند ، البته تا آن اندازه اي كه انواع براساس اعلام قبلي شما رفتار كنند . در
    حقيقت ، حداقل يك پياده سازي byte وجود دارد كه ، short را بعنوان مقادير 32
    بيتي ذخيره مي كند تا عملكرد را توسعه دهد. زيرا آنچه درحال حاضر مورد استفاده
    قرار مي گيرد ، اندازه كلمه (word size) اكثر كامپيوترهاست .
    پهنا و دامنه اين انواع اعداد صحيح همانطوريكه در جدول زير مشاهده مي كنيد
    طيف وسيعي دارند :

    دامنه پهنا نام
    long 64- 9/ 223/ 372/ 036/ 845/ 775/ 808 to 9/ 223/ 372
    /036/ 854/ 775/ 807
    int 32- 2/ 147/ 483/ 648 to 2/ 147/ 483/ 647
    short 16- 32/ 768 to 32/ 767
    byte 8- 128 to 127

    اكنون نگاه دقيقتري به هر يك از انواع عدد صحيح خواهيم داشت .

    byte
    كوچكترين نوع عدد صحيح byte است . اين يك نوع علامت دار 8 بيتي است كه دامنه آن از 128- تا 127 مي باشد . متغيرهاي نوع byte بويژه هنگاميكه با يك جريان داده از يك شبكه يا يك فايل كار ميكنيد ، سودمند خواهند بود . همچنين هنگاميكه با داده دودويي ( باينري ) خام مشغول كار هستيد كه ممكن است بطور مستقيم با ساير انواع توكار جاوا سازگاري نداشته باشند ، بسيار سودمند هستند .
    متغيرهاي byte را با استفاده از واژه كليدي byte اعلام مي كنيم . بعنوان مثال ، در زير دو متغير byte با اسامي bو cو را اعلام كرده ايم : + byte b/ c;

    short
    يك نوع 16 بيتي علامت داراست . دامنه آن از 768 32/- تا 767 32/ است . short
    در اصل كم استفاده ترين نوع در جاوا مي باشد ، چون طوري تعريف شده كه بايت بالاي آن اول مي آيد ( آن را big-endian format ميگويند ). اين نوع براي كامپيوترهاي 16 بيتي كه بسرعت از رده خارج شده اند ، كاربري دارد .
    در زير مثالهايي از چگونگي اعلان متغيرهاي short را مشاهده مي كنيد :
    + short s;
    + short t;
    نكته : Endiannes توصيف كننده چگونگي ذخيره شدن انواع داده چند بايتي

    short int
    و longو در حافظه است . اگر 2 بايت براي معرفي يك نوع short استفاده
    شود ، آن بايتي كه ابتدا قرار مي گيرد ( مهمترين يا كم اهميت ترين ? )
    مي گويد كه يك ماشين big-endian است ، بدان معني كه مهمترين بايت اول
    آمده و بعد از آن بايت كم اهميت تر قرار دارد . ماشينهايي نظير SPARC و power pc از نوع big-endian و ماشينهاي سري lntelx86نوع little-endian هستند .

    int
    رايجترين نوع عدد صحيح int است . اين يك نوع 32 بيتي علامت دار است كه دامنه آن از 2/147/483/648- تا 2/147/483/647 گسترده است . علاوه بر كاربردهاي ديگر متغيرهاي از نوع int براي كنترل حلقه ها و نمايه سازي آرايه ها مورد استفاده قرار مي گيرند . هر بار كه يك عبارت عدد صحيح شامل byte، short،و intو و ارقام لفظي (literal) داشته باشيد، كل عبارت قبل از انجام محاسبات به int ارتقائ مي يابد.
    نوع int روان ترين و كاراترين نوع است و اكثر اوقات هنگاميكه ميخواهيد رقمي
    را براي شمارش يا نمايه سازي آرايه ها يا انجام محاسبات عدد صحيح بوجود آوريد بايد از آن استفاده نماييد . شايد بنظر آيد كه استفاده از انواع shortو byteو
    سبب صرفه جويي در فضا شود ، اما هيچ تضميني وجود ندارد كه جاوا اين انواع را بطرق داخلي به int ارتقائ ندهد . همواره بياد داشته باشيد كه نوع ، مشخص كننده رفتار است نه اندازه . ( تنها استثنائ در اين مورد، آرايه است كه در آنجا byte بصورت تضميني براي هر عضو آرايه فقط يك بايت ، short دو بايت و int از چهار بايت استفاده مي كند . )

    long
    يك نوع 64 بيتي علامت دار است و براي مواردي مفيد است كه يك نوع int طول
    كافي براي دربرگرفتن مقدار مورد نظر نداشته باشد. دامنه long كاملا" وسيع است .
    اين نوع ، براي كار با اعداد خيلي بزرگ مناسب است . بعنوان مثال ، در زير
    برنامه اي را مشاهده مي كنيد كه مسافت طي شده توسط نور در تعداد مشخص روز را بر حسب مايل محاسبه مي كند .

    Code:+ // Compute distance light travels using long variables.
    + class Light **
    + public static void main(String args[] )**
    + int lightspeed;
    + long days;
    + long seconds;
    + long distance;
    +
    + // approximate speed of light in miles per second
    + lightspeed = 86000;
    +
    + days = 1000; // specify number of days here
    +
    + seconds = days * 24 * 60 * 60; // convert to seconds
    +
    + distance = lightspeed * seconds; // compute distance
    +
    + System.out.print("In " + days);
    + System.out.print(" days light will travel about ");
    + System.out.println(distance + " miles .");
    + }
    + }

    خروجي اين برنامه بقرار زير خواهد بود :
    ln 1000 days light will travel about 4730400000000 miles.

    به نقل از Dev.ir تاید شده توسط : fck_hamed
    Borna Service

  7. 2 کاربر برای این پست سودمند از fck_hamed عزیز تشکر کرده اند:


  8. #4

    Post آموزش جاوا - انواع اعداد اعشاری و

    اعداد اعشاري يا همان اعداد حقيقي براي ارزش گذاري عبارتهايي كه نيازمند
    دقت بيشتري هستند ، استفاده مي شوند . بعنوان نمونه ، محاسباتي نظير ريشه دوم و محاسبات مثلثاتي نظير سينوس و كسينوس منجربه جوابهايي مي شوند كه براي تعيين دقت آن نياز به نوع عدد اعشاري مي باشد . جاوا يك مجموعه استاندارد (IEEE-754) از انواع عدد اعشاري و عملگرها را پياده سازي مي كند. دو نوع عدد اعشاري تعريف شده يعني floatو doubleو هستند كه بترتيب معرف دقت معمولي و مضاعف مي باشند .
    پهنا و دامنه آنها را در زير نشان داده ايم :
    دامنه پهنا بر حسب تعداد بيت نام
    double 64 1.7e-308 to 1.7e+308
    float 32 3.4e-038 to 3.4e+038

    هر يك از انواع اعشاري را متعاقبا" مورد بررسي قرار مي دهيم .

    float
    اين نوع مشخص كننده يك مقدار با دقت معمولي بوده كه از 32 بايت حافظه
    استفاده مي كند . دقت معمول روي بعضي پردازنده ها سريعتر بوده و نسبت به دقت مضاعف نيمي از فضا را اشغال مي كند ، اما هنگاميكه مقادير خيلي بزرگ يا خيلي كوچك باشند ، دقت خود را از دست ميدهد . متغيرهاي نوع float براي زماني مناسب هستند كه از يك عضو كسري استفاده مي كنيد اما نيازي به دقت خيلي زياد نداريد .
    بعنوان مثال ، نوع float براي معرفي دلار و سنت بسيار مناسب است .
    + float hightemp/ lowtemp;

    double
    دقت مضاعف كه با واژه كليدي double معين مي شود براي ذخيره كردن يك مقدار 64 بيت فضا را اشغال مي كند . دقت مضاعف روي برخي پردازنده هاي جديد كه براي محاسبات رياضي با سرعت زياد بهينه شده اند ، واقعا" سريعتر از دقت معمولي عمل مي كند . كليه توابع مثلثاتي نظير ()sin ، ()cos و ()sqrt مقادير مضاعف را برمي گردانند . هنگام اجراي محاسبات مكرر كه نياز به حفظ دقت داريد و يا هنگام كار با ارقام خيلي بزرگ double بهترين انتخاب است .
    در زير برنامه اي را مشاهده مي كنيد كه از double استفاده نمود تا محيط يك
    دايره را محاسبه كند :

    Code:
    کد:
    لینک و متن درون کدها فقط برای کسانی که ثبت نام کرده اند قابل مشاهده است لطفا وارد شوید OR ثبت نام کنید.

    اگر تا کنون در سایت ثبت نام نکرده اید با کلیک بر روی
    Link URL:
    لینک و متن درون کدها فقط برای کسانی که ثبت نام کرده اند قابل مشاهده است لطفا وارد شوید OR ثبت نام کنید.
    کنید
    Only
    Link URL:
    لینک و متن درون کدها فقط برای کسانی که ثبت نام کرده اند قابل مشاهده است لطفا وارد شوید OR ثبت نام کنید.
    Users Can See Links[/COLOR][/CODE]

    كاراكترها
    در جاوا از نوع داده char براي ذخيره كردن كاراكترها استفاده مي شود . اما
    برنامه نويسان Cو C++و آگاه باشند كه char در جاوا مشابه char در زبانهاي C و C++ نيست . در زبانهاي Cو C++و ، نوع char يك نوع عدد صحيح با پهناي 8 بيت
    است . اما جاوا متفاوت عمل مي كند . جاوا از كدهاي جهاني (unicode) براي معرفي كاراكترها استفاده مي كند . كدهاي جهاني يك مجموعه كاملا" جهاني از كاراكترها هستند كه مي توانند همه كاراكترها را معرفي نمايند . اين مجموعه شامل دهها مجموعه كوچك تر كاراكتري نظير Latin، Greek،، Arabic،، Cyrillic،، Hebrew، Katakana، Hangul، و امثال آن است .
    براي اين منظور ، 16 بيت مورد نياز است . بنابراين char در جاوا يك نوع 16
    بيتي است . دامنه charاز 0ز تا 65/536 مي باشد . در نوع char مقدار منفي وجود ندارد . مجموعه استاندارد كاراكترها موسوم به ASCII همچون گذشته داراي دامنه از 0 تا 127 و مجموعه كاراكترهاي 8 بيتي توسعه يافته موسوم به lso-Latin-1 داراي دامنه از 0 تا 255 مي باشند .
    چون در جاوا امكان نوشتن ريز برنامه ها براي كاربري جهاني وجود دارد ، بنظر
    مي رسد كه بهتر است جاوا از كدهاي جهاني براي معرفي كاراكترها استفاده نمايد . البته بكار بردن كدهاي جهاني درمورد زبانهايي نظير انگليسي ،آلماني ،اسپانيايي يا فرانسوي كه كاراكترهاي آنها را مي توان براحتي داخل 8 بيت جاي داد ، تا حدي سبب نزول كارآيي خواهد شد . اما اين بهايي است كه براي رسيدن به قابليت حمل جهاني در برنامه ها بايد پرداخت .
    نكته : اطلاعات بيشتر درباره كدهاي جهاني را در آدرسهاي وب زير پيدا خواهيد
    نمود :
    Link URL:
    لینک و متن درون کدها فقط برای کسانی که ثبت نام کرده اند قابل مشاهده است لطفا وارد شوید OR ثبت نام کنید.
    .org
    Link URL:
    لینک و متن درون کدها فقط برای کسانی که ثبت نام کرده اند قابل مشاهده است لطفا وارد شوید OR ثبت نام کنید.
    .html

    در زير برنامه اي را مشاهده مي كنيد كه متغيرهاي char را نشان مي دهد :

    Code:
    + // Demonstrate char data type.
    + class CharDemo **
    + public static void main(String args[] )**
    + char ch1/ ch2;
    +
    + ch1 = 88; // code for X
    + ch2 = 'Y';
    +
    + System.out.print("ch1 and ch2 :");
    + System.out.println(ch1 + " " + ch2);
    + }
    + }

    اين برنامه خروجي زير را نشان خواهد داد:
    ch1 and ch2 :xy

    دقت كنيد كه مقدار 88به ch1 نسبت داده شده ، كه مقدار متناظر با حرف x در
    كد ASCII ( و كد جهاني ) است . قبلا" هم گفتيم كه مجموعه كاراكتري ASCII َ127 مقدار اوليه در مجموعه كاراكتري كدهاي جهاني را اشغال كرده است . بهمين دليل كليه فوت و فنهاي قديمي كه قبلا" با كاراكترها پياده كرده ايد ، در جاوا نيز به خوبي جواب مي دهند .
    اگر چه انواع char عدد صحيح محسوب نمي شوند ، اما در بسياري از شرايط
    مي توانيد مشابه عدد صحيح با آنها رفتار كنيد . بدين ترتيب قادريد دو كاراكتر
    را با هم جمع نموده و يا اينكه مقدار يك متغير كاركتري را كاهش دهيد . بعنوان
    مثال ، برنامه زير را در نظر بگيريد :

    Code:
    + // char variables behave like integers.
    + class CharDemo2 **
    + public static void main(String args[] )**
    + char ch1;
    +
    + ch1 = 'X';
    + System.out.println("ch1 contains " + ch1);
    +
    + ch1++; // increment ch1
    + System.out.println("ch1 is now " + ch1);
    + }
    + }
    خروجي اين برنامه بشرح زير خواهد بود :
    ch1 contains x
    ch1 is now y

    در برنامه ابتدا مقدار xبه ch1 داده ميشود . سپس ch1 افزايش مي يابد . اين
    روال باعث مي شود تا ch1 حرف y را اختيار كند، كه كاراكتر بعدي در ترتيب ASCII( و كدهاي جهاني ) مي باشد .

    Boolean
    جاوا يك نوع ساده موسوم به boolean براي مقادير منطقي دارد . اين نوع فقط
    يكي از مقادير ممكن trueيا falseا را اختيار مي كند . اين نوعي است كه توسط
    كليه عملگرهاي رابطه اي نظير b
    شرطي كه دستورهاي كنترلي نظير ifو forو را مديريت مي كنند ، استفاده مي شود .
    در زير برنامه اي مشاهده مي كنيد كه نوع boolean را نشان مي دهد :

    Code:
    + // Demonstrate boolean values.
    + class BoolTest **
    + public static void main(String args[] )**
    + boolean b;
    +
    + b = false;
    + System.out.println("b is " + b);
    + b = true;
    + System.out.println("b is " + b);
    +
    + // a boolean value can control the if statement
    + if(b )System.out.println("This is executed.");
    +
    + b = false;
    + if(b )System.out.println("This is not executed.");
    +
    + // outcome of a relational operator is a boolean value
    + System.out.println("10 > 9 is " +( 10 > 9));
    + }
    + }
    خروجي برنامه فوق بقرار زير خواهد بود :
    b is false
    b is true
    This is executed.
    10>9 is true

    درباره اين برنامه سه نكته جالب توجه وجود دارد . اول اينكه وقتي كه مقدار boolean توسط ()println خارج مي شود ، مي بينيد كه "true"يا "false"ا بنمايش درمي آيد . دوم اينكه يك متغير boolean بتنهايي براي كنترل دستور if كفايت مي كند . ديگر نيازي به نوشتن يك دستور if بقرار زير نخواهد بود : + if(b == true... ) سوم اينكه ، پي آمد يك عملگر رابطه اي نظيربولين يک مقدار است .
    Borna Service

  9. 2 کاربر برای این پست سودمند از fck_hamed عزیز تشکر کرده اند:


  10. #5

    Post آموزش جاوا - اولین برنامه جاوا قس٠

    اولين فنجان قهوه (قسمت اول از سوم)
    آموزش جاوا

    اولین فنجان شما از ] قهوهء[ جاوا ( برای Microsoft Windows )

    چند دستورالعمل جزئی؛ برای اولین برنامه شما

    دستورالعمل های زیر به شما کمک میکنند اولین برنامهء جاوای خود را بنویسید. این دستورالعملها برای کاربران سیستمهای Microsoft Windows ، که شامل Windows 9598/2000/ME/XP/NT 4.0 میشود ، نوشته شده. اول با کارهایی که قبل از نوشتن اولین برنامه باید انجام دهیم شروع میکنیم. سپس، با توضیح مراحل ساختن یک application ، مراحل ساختن یک applet و توضیحاتی در مورد error هایی که با آنها مواجه خواهید شد، به کار خود ادامه میدهیم.

    1. کارهایی که اول باید انجام دهیم

    برای نوشتن اولین برنامهء خود، به موارد زیر نیاز دارید :

    1- . The JavaTM 2 Platform, Standard Edition شما میتوانید SDK (Software Development Kit = بستهء توسعهء نرم افزار ) را از اینجا بگیرید. مواظب باشید که SDK را download میکنید، نه JRE .

    2- یک ویرایشگر متن . در این مثال ما از NotePad استفاده خواهیم کرد. برای پیدا کردن NotePad ، در منوی Start ؛ Programs > Accessories > NotePad را انتخاب کنید. اگر از ویرایشگر متن دیگری استفاده میکنید، باز هم میتوانید از این دستورالعملها استفاده کنید.

    دو مورد بالا تمام چیزیست که شما برای نوشتن اولین برنامهء جاوای خود به آن نیاز دارید.

    --------------------------------------------------------------------------------

    توجه: ممکن است که شما بخواهید برای نوشتن برنامهء خود از یک IDE (Integrated Development Environment) استفاده کنید. شما میتوانید از Java 2 SDK, Standard Edition v. 1.4 استفاده کنید که دربر دارندهء یک IDE به نام Sun™ ONE Studio 4, Community Edition که قبلا با نام ForteTM for JavaTM, Community Edition شناخته میشد، استفاده کنید. شما میتوانید این IDE را از اینجا بگیرید.


    --------------------------------------------------------------------------------

    2. ساختن اولین application شما

    اولین برنامهء شما،HelloWorldApp ، خیلی ساده به شما پیغام "Hello World!" را نشان میدهد. برای نوشتن این برنامه شما باید:

    - یک فایل جاوا بنویسید. یک فایل جاوا تشکیل شده از متنی که به زبان برنامه نویسی جاوا نوشته شده؛ متنی که برای شما و دیگر برنامه نویسان جاوا قابل فهم باشد. شما میتوانید از هر ویرایشگر متنی برای نوشتن این برنامه استفاده کنید.

    - Compile کردن فایل جاوا به bytecode . Compiler (javac) ، فایل شما را گرفته و متن آنرا به دستورالعملهایی تبدیل (ترجمه) میکند که قابل خواندن توسط "ماشین مجازی جاوا" (JVM = Java Virtual Machine) باشد. Compiler این دستورالعملها را به bytecode تبدیل میکند.

    - اجرای برنامهء تبدیل شده به bytecode . مفسر جاوا (java interpreter) که روی کامپیوتر شما نسب شده، Java VM را پیاده سازی و اجرا میکند. این مفسر bytecode های شما میگیرد و با ترجمه کردن آنها به دستورالعملهایی که برای کامپیوتر شما قابل فهم هستند، آنها را اجرا میکند.

    چرا bytecode ها چیزهای خوبی هستند!

    احتمالا شنیده اید که با برنامه نویسی جاوا، میتوانید "یکبار بنویسید، هرجا میخواهید اجرا کنید." این بدان معنیست که در هنگام compile کردن برنامه، اطلاعات فقط برای استفاده از یک محیط (platform) خاص تولید نمیشوند. بلکه bytecodeها تولید میشوند که دستورالعملهایی برای استفادهء "ماشین مجازی جاوا"((JVM = Java Virtual Machine میباشند. در نتیجه اگر محیط شما –اعم از اینکه Windows ، UNIX،MacOS و یا یک Internet Browser باشد- دارای JVM باشد؛ میتواند bytecodeها را بخواند.

    --------------------------------------------------------------------------------

    الف. نوشتن یک فایل جاوا.

    برای ساختن اولین فایل جاوا، دو راه حل دارید:

    - میتوانید فایل HelloWorldApp.java را روی کامپیوتر خود ریخته و از نوشتن دستورها خودداری کنید. سپس میتوانید مستقیما به قسمت ب بروید.

    - یا، میتوانید دستورهای زیر را دنبال کنید:

    1.NotePad را باز کنید و کدهای زیر را در آن وارد نمایید:


    Code:
    کد:
    لینک و متن درون کدها فقط برای کسانی که ثبت نام کرده اند قابل مشاهده است لطفا وارد شوید OR ثبت نام کنید.

    اگر تا کنون در سایت ثبت نام نکرده اید با کلیک بر روی
    Link URL:
    لینک و متن درون کدها فقط برای کسانی که ثبت نام کرده اند قابل مشاهده است لطفا وارد شوید OR ثبت نام کنید.
    کنید
    Only
    Link URL:
    لینک و متن درون کدها فقط برای کسانی که ثبت نام کرده اند قابل مشاهده است لطفا وارد شوید OR ثبت نام کنید.
    Users Can See Links[/COLOR][/CODE]


    هنگام تایپ کردن مراقب باشید

    همهء کدها را دقیقا همانطور که در بالا نوشته شده بنویسید. زیرا compiler و مفسر (interpreter) جاوا ، case-sensitive هستند؛ یعنی به کوچک یا بزرگ بودن حروف حساسند.


    Code: HelloWorldApp helloworldapp


    2.این کد را در یک فایل ذخیره کنید. در menu bar، File > Save As را انتخاب کنید.

    - در قسمت Save in دایرکتوری را که میخواهید فایلتان را در آن ذخیره کنید؛ مشخص نمایید. در این مثال، دایرکتوری java در درایو c محل ذخیرهء فایل انتخاب شده.

    - در قسمت File name تایپ کنید : "HelloWorldApp.java" .

    - در قسمت Save as type ، Text Document را انتخاب کنید.

    حالا دکمهء Save را بزنید و از NotePad خارج شوید.

    منبع: school.ir






    آموزش جاوا قسمت دوم

    اولين فنجان قهوه (قسمت دوم از سوم)
    آموزش جاوا

    ب. Compile کردن برنامه.

    در منوی Start ، MS-Dos Prompt (Windows 95/98) یا Command Prompt (Windows NT) را اجرا کنید. زمانی که اجرا شد باید به شکل زیر باشد:

    Prompt دایرکتوری را که را که در آن قرار دارید به شما نشان میدهد. زمانی که prompt را اجرا میکنید، معمولا در دایرکتوری windows در درایو c قرار دارد. برای compile کردن فایلتان باید به دایرکتوری که فایلتان را در آن ذخیره کرده اید بروید. در این مثال باید خط زیر را تایپ کنید :


    Code:cd c:\java


    حالا prompt شما باید C:\java> باشد.

    --------------------------------------------------------------------------------

    توجه: برای رفتن به دایرکتوری در یک درایو دیگر، یک دستور دیگر باید تایپ کنید.
    همانطور که نشان داده شده برای رفتن به درایو D، باید تایپ کنید: d:

    --------------------------------------------------------------------------------

    اگر در prompt، dir تایپ کنید، باید بتوانید فایل خود را ببینید:

    حالا میتوانید فایل خود را compile کنید. در prompt دستور زیر را تایپ کرده و سپس enter را فشار دهید.


    Code: javac HelloWorldApp.java


    اگر prompt بدون هیچ پیغام errorی دوباره ظاهر شد؛ تبریک میگويم. شما توانستید با موفقیت برنامهء خود را compile کنید.

    توضیح error


    Code:Bad command or file name (Windows 95/98)
    The name specified is not recognized as an internal or external command, operable program or batch file (Windows NT)


    اگر error بالا را دریافت میکنید، بدان معنیست که windows نمیتواند compiler جاوا (javac) را پیدا کند.
    یک راه برای اینکه به windows بگوییم کجا دنبال javac بگردد اینست :
    به طور مثال اگر Java 2 Software Development Kit را در C:\jdk1.4 ریخته اید؛ در prompt دستور زیر را تایپ کرده و سپس enter را بزنید :


    Code:C:\jdk1.4\bin\javac HelloWorldApp.java


    توجه داشته باشید که اگر از روش بالا استفاده کنید، مجبورید هر بار که میخواهید برنامهء خود را compile کنید؛ باید دستور بالا را در promopt وارد نمایید. برای اجتناب از اینکار، به قسمت Update the PATH variable در "راهنمای install کردن" مراجعه نمایید.
    با اینکار، compiler یک Java bytecode file به نام HelloWorldApp.class ایجاد میکند. میتوانید در prompt، dir را تایپ کنید تا فایل ایجاد شدهء جدید را ببینید:
    حالا که یک فایل با پسوند .class دارید، میتوانید برنامهء خود را اجرا کنید.

    پ. اجرای برنامه.

    میتوانید در همان دایرکتوری تایپ کنید :


    Code:java HelloWorldApp


    تبریک میگويم. برنامهء شما کار میکند!
    توضیح error


    Code:Exception in thread "main" java.lang.NoClassDefFoundError: HelloWorldApp


    اگر error بالا را دریافت میکنید، بدان معنیست که جاوا، نمیتواند فایل bytecode شما ((HelloWorldApp.class را پیدا کند.

    یکی از جاهایی که java برای پیدا کردن فایل bytecode به در آن میگردد، همان دایرکتوری میباشد که در آن هستید. پس اگر فایل bytecode شما در c:\java میباشد، میباشد؛ باید با وارد کردن دستور زیر در prompt به دایرکتوری مورد نظر بروید:


    Code:cd c:\java


    prompt باید به C:\java> تغییر پیدا کند. اگر در prompt، دستور dir را وارد نماییید؛ باید فایلهای .java و .class خود را ببینید. حال دوباره دستور java HelloWorldApp را دوباره اجرا کنید.

    اگر هنوز برای اجرای برنامهء خود به مشکل بر میخورید، باید CLASSPATH خود را تغییر دهید. برای اینکه ببینید آیا اینکار لازم است یا نه، دستور زیر را اجرا کنید:


    Code:Set CLASSPATH=


    حالا دوباره java HelloWorldApp را اجرا کنید. اگر برنامه اجرا شد؛ باید CLASSPATH خود را تغییر دهید. برای اطلاعات بیشتر، به قسمت 5. Update the PATH variable مراجعه کنید.




    آموزش جاوا قسمت سوم

    اولين فنجان قهوه (قسمت سوم از سوم)
    آموزش جاوا

    3. ساختن اولین Applet

    HelloWorldApp یک مثال از یک Java application است. یک برنامهء standalone. حالا شما یک Java Applet به نام HelloWorld که بازهم "Hello World!" را نشان میدهد. برخلاف HelloWorldApp ؛appletها تحت Java-enabled Web browser هایی مانند HotJava، Netscape Navigator، یا Microsoft Internet Explorer اجرا میشوند.

    برای ساختن این applet، مراحلی شبیه به همان مراحل قبلی را طی میکنیم: یک فایل جاوا میسازیم؛ آنرا compile میکنیم؛ و آنرا اجرا میکنیم.

    --------------------------------------------------------------------------------
    الف. ساختن یک فایل جاوا.

    بازهم شما دو راه حل دارید :

    - شما میتوانید فایلهای HelloWorld.java و Hello.html را روی کامپیوتر خود ذخیره کنید و سپس مستقیما به قسمت ب بروید.

    - و یا میتوانید دستورات زیر را دنبال کنید:

    1. یک NotePad باز کنید و کدهای زیر را در آن وارد کنید :

    Code:
    import java.applet.*;

    import java.awt.*;



    /**

    * The HelloWorld class implements an applet that

    * simply displays "Hello World!".

    */

    public class HelloWorld extends Applet **

    public void paint(Graphics g) **

    // Display "Hello World!"

    g.drawString("Hello world!", 50, 25);

    }

    }

    این کدها را در فایلی به نام HelloWorld.java ذخیره کنید.

    2. همچنین ما به یک فایل html در کنار applet خود نیاز داریم.

    --------------------------------------------------------------------------------

    ب. Compile کردن فایل.

    در prompt ، دستور زیر را تایپ و آنرا اجرا کنید:

    Code:javac HelloWorld.java

    Compiler، باید یک فایل bytecode جاوا تولید کند؛ HelloWorld.class .

    --------------------------------------------------------------------------------

    پ. اجرای برنامه.

    هرچند که میتوانید applet خود را در یک Web browser ببینید، ممکن است راحتتر باشید که از applet viewer application استفاده کنید که همراه JavaTM Platform میباشد. برای دیدن این applet با استفاده از appletviewer ؛ در prompt دستور زیر را وارد کنید:

    Code:appletviewer Hello.html

    تبریک میگويم ! Applet شما کار میکند.
    Borna Service

  11. 2 کاربر برای این پست سودمند از fck_hamed عزیز تشکر کرده اند:


  12. #6

    پیش فرض

    سلام دوستان.
    من در righttoleft کردن تو جاوا مشکل دارم البته خیلی چیزارو با sethorizentaltextposition , setHorizentalAlignment و ...درست کردم. یکسری از مشکلاتم حل شده ولی در دو چیز نتونستم.
    1)title bar مربوط به jframe نتونستم right to leftاش کنم.
    2)در زیر منو ها
    این کد یک مثال سادست که مشکل من را در زیر منو ها نشان می دهد.
    کد:
    لینک و متن درون کدها فقط برای کسانی که ثبت نام کرده اند قابل مشاهده است لطفا وارد شوید OR ثبت نام کنید.

    اگر تا کنون در سایت ثبت نام نکرده اید با کلیک بر روی
    Link URL:
    لینک و متن درون کدها فقط برای کسانی که ثبت نام کرده اند قابل مشاهده است لطفا وارد شوید OR ثبت نام کنید.
    کنید
    Only
    Link URL:
    لینک و متن درون کدها فقط برای کسانی که ثبت نام کرده اند قابل مشاهده است لطفا وارد شوید OR ثبت نام کنید.
    Users Can See Links[/COLOR][/CODE]
    سال نو همگی مبارک.امیدوارم سال خوبی داشته باشید.
    ممنوعن میشم کمکم کنید.
    ویرایش توسط mehranmast : 20-03-09 در ساعت 11:01

  13. یک کاربر برای این پست سودمند از mehranmast عزیز تشکر کرده اند:


  14. #7

    Post

    مثال های کتاب جاوا

    کد:
    لینک و متن درون کدها فقط برای کسانی که ثبت نام کرده اند قابل مشاهده است لطفا وارد شوید OR ثبت نام کنید.

    اگر تا کنون در سایت ثبت نام نکرده اید با کلیک بر روی
    Link URL:
    لینک و متن درون کدها فقط برای کسانی که ثبت نام کرده اند قابل مشاهده است لطفا وارد شوید OR ثبت نام کنید.
    کنید
    Only
    Link URL:
    لینک و متن درون کدها فقط برای کسانی که ثبت نام کرده اند قابل مشاهده است لطفا وارد شوید OR ثبت نام کنید.
    Users Can See Links[/COLOR][/CODE]
    Link URL:
    لینک و متن درون کدها فقط برای کسانی که ثبت نام کرده اند قابل مشاهده است لطفا وارد شوید OR ثبت نام کنید.

  15. #8

    Post

    کد:
    لینک و متن درون کدها فقط برای کسانی که ثبت نام کرده اند قابل مشاهده است لطفا وارد شوید OR ثبت نام کنید.

    اگر تا کنون در سایت ثبت نام نکرده اید با کلیک بر روی
    Link URL:
    لینک و متن درون کدها فقط برای کسانی که ثبت نام کرده اند قابل مشاهده است لطفا وارد شوید OR ثبت نام کنید.
    کنید
    Only
    Link URL:
    لینک و متن درون کدها فقط برای کسانی که ثبت نام کرده اند قابل مشاهده است لطفا وارد شوید OR ثبت نام کنید.
    Users Can See Links[/COLOR][/CODE]


    کد:
    لینک و متن درون کدها فقط برای کسانی که ثبت نام کرده اند قابل مشاهده است لطفا وارد شوید OR ثبت نام کنید.

    اگر تا کنون در سایت ثبت نام نکرده اید با کلیک بر روی
    Link URL:
    لینک و متن درون کدها فقط برای کسانی که ثبت نام کرده اند قابل مشاهده است لطفا وارد شوید OR ثبت نام کنید.
    کنید
    Only
    Link URL:
    لینک و متن درون کدها فقط برای کسانی که ثبت نام کرده اند قابل مشاهده است لطفا وارد شوید OR ثبت نام کنید.
    Users Can See Links[/COLOR][/CODE]

    کد:
    لینک و متن درون کدها فقط برای کسانی که ثبت نام کرده اند قابل مشاهده است لطفا وارد شوید OR ثبت نام کنید.

    اگر تا کنون در سایت ثبت نام نکرده اید با کلیک بر روی
    Link URL:
    لینک و متن درون کدها فقط برای کسانی که ثبت نام کرده اند قابل مشاهده است لطفا وارد شوید OR ثبت نام کنید.
    کنید
    Only
    Link URL:
    لینک و متن درون کدها فقط برای کسانی که ثبت نام کرده اند قابل مشاهده است لطفا وارد شوید OR ثبت نام کنید.
    Users Can See Links[/COLOR][/CODE]


    کد:
    لینک و متن درون کدها فقط برای کسانی که ثبت نام کرده اند قابل مشاهده است لطفا وارد شوید OR ثبت نام کنید.

    اگر تا کنون در سایت ثبت نام نکرده اید با کلیک بر روی
    Link URL:
    لینک و متن درون کدها فقط برای کسانی که ثبت نام کرده اند قابل مشاهده است لطفا وارد شوید OR ثبت نام کنید.
    کنید
    Only
    Link URL:
    لینک و متن درون کدها فقط برای کسانی که ثبت نام کرده اند قابل مشاهده است لطفا وارد شوید OR ثبت نام کنید.
    Users Can See Links[/COLOR][/CODE]


    کد:
    لینک و متن درون کدها فقط برای کسانی که ثبت نام کرده اند قابل مشاهده است لطفا وارد شوید OR ثبت نام کنید.

    اگر تا کنون در سایت ثبت نام نکرده اید با کلیک بر روی
    Link URL:
    لینک و متن درون کدها فقط برای کسانی که ثبت نام کرده اند قابل مشاهده است لطفا وارد شوید OR ثبت نام کنید.
    کنید
    Only
    Link URL:
    لینک و متن درون کدها فقط برای کسانی که ثبت نام کرده اند قابل مشاهده است لطفا وارد شوید OR ثبت نام کنید.
    Users Can See Links[/COLOR][/CODE]


    کد:
    لینک و متن درون کدها فقط برای کسانی که ثبت نام کرده اند قابل مشاهده است لطفا وارد شوید OR ثبت نام کنید.

    اگر تا کنون در سایت ثبت نام نکرده اید با کلیک بر روی
    Link URL:
    لینک و متن درون کدها فقط برای کسانی که ثبت نام کرده اند قابل مشاهده است لطفا وارد شوید OR ثبت نام کنید.
    کنید
    Only
    Link URL:
    لینک و متن درون کدها فقط برای کسانی که ثبت نام کرده اند قابل مشاهده است لطفا وارد شوید OR ثبت نام کنید.
    Users Can See Links[/COLOR][/CODE]
    Link URL:
    لینک و متن درون کدها فقط برای کسانی که ثبت نام کرده اند قابل مشاهده است لطفا وارد شوید OR ثبت نام کنید.

  16. #9

    Post

    کد:
    لینک و متن درون کدها فقط برای کسانی که ثبت نام کرده اند قابل مشاهده است لطفا وارد شوید OR ثبت نام کنید.

    اگر تا کنون در سایت ثبت نام نکرده اید با کلیک بر روی
    Link URL:
    لینک و متن درون کدها فقط برای کسانی که ثبت نام کرده اند قابل مشاهده است لطفا وارد شوید OR ثبت نام کنید.
    کنید
    Only
    Link URL:
    لینک و متن درون کدها فقط برای کسانی که ثبت نام کرده اند قابل مشاهده است لطفا وارد شوید OR ثبت نام کنید.
    Users Can See Links[/COLOR][/CODE]



    کد:
    لینک و متن درون کدها فقط برای کسانی که ثبت نام کرده اند قابل مشاهده است لطفا وارد شوید OR ثبت نام کنید.

    اگر تا کنون در سایت ثبت نام نکرده اید با کلیک بر روی
    Link URL:
    لینک و متن درون کدها فقط برای کسانی که ثبت نام کرده اند قابل مشاهده است لطفا وارد شوید OR ثبت نام کنید.
    کنید
    Only
    Link URL:
    لینک و متن درون کدها فقط برای کسانی که ثبت نام کرده اند قابل مشاهده است لطفا وارد شوید OR ثبت نام کنید.
    Users Can See Links[/COLOR][/CODE]
    Link URL:
    لینک و متن درون کدها فقط برای کسانی که ثبت نام کرده اند قابل مشاهده است لطفا وارد شوید OR ثبت نام کنید.

  17. #10

    Post

    کد:
    لینک و متن درون کدها فقط برای کسانی که ثبت نام کرده اند قابل مشاهده است لطفا وارد شوید OR ثبت نام کنید.

    اگر تا کنون در سایت ثبت نام نکرده اید با کلیک بر روی
    Link URL:
    لینک و متن درون کدها فقط برای کسانی که ثبت نام کرده اند قابل مشاهده است لطفا وارد شوید OR ثبت نام کنید.
    کنید
    Only
    Link URL:
    لینک و متن درون کدها فقط برای کسانی که ثبت نام کرده اند قابل مشاهده است لطفا وارد شوید OR ثبت نام کنید.
    Users Can See Links[/COLOR][/CODE]



    کد:
    لینک و متن درون کدها فقط برای کسانی که ثبت نام کرده اند قابل مشاهده است لطفا وارد شوید OR ثبت نام کنید.

    اگر تا کنون در سایت ثبت نام نکرده اید با کلیک بر روی
    Link URL:
    لینک و متن درون کدها فقط برای کسانی که ثبت نام کرده اند قابل مشاهده است لطفا وارد شوید OR ثبت نام کنید.
    کنید
    Only
    Link URL:
    لینک و متن درون کدها فقط برای کسانی که ثبت نام کرده اند قابل مشاهده است لطفا وارد شوید OR ثبت نام کنید.
    Users Can See Links[/COLOR][/CODE]
    Link URL:
    لینک و متن درون کدها فقط برای کسانی که ثبت نام کرده اند قابل مشاهده است لطفا وارد شوید OR ثبت نام کنید.

  18. #11

    Post


    کد:
    لینک و متن درون کدها فقط برای کسانی که ثبت نام کرده اند قابل مشاهده است لطفا وارد شوید OR ثبت نام کنید.

    اگر تا کنون در سایت ثبت نام نکرده اید با کلیک بر روی
    Link URL:
    لینک و متن درون کدها فقط برای کسانی که ثبت نام کرده اند قابل مشاهده است لطفا وارد شوید OR ثبت نام کنید.
    کنید
    Only
    Link URL:
    لینک و متن درون کدها فقط برای کسانی که ثبت نام کرده اند قابل مشاهده است لطفا وارد شوید OR ثبت نام کنید.
    Users Can See Links[/COLOR][/CODE]
    Link URL:
    لینک و متن درون کدها فقط برای کسانی که ثبت نام کرده اند قابل مشاهده است لطفا وارد شوید OR ثبت نام کنید.

  19. یک کاربر برای این پست سودمند از Sohrab عزیز تشکر کرده اند:


  20. #12

    Post

    کد:
    لینک و متن درون کدها فقط برای کسانی که ثبت نام کرده اند قابل مشاهده است لطفا وارد شوید OR ثبت نام کنید.

    اگر تا کنون در سایت ثبت نام نکرده اید با کلیک بر روی
    Link URL:
    لینک و متن درون کدها فقط برای کسانی که ثبت نام کرده اند قابل مشاهده است لطفا وارد شوید OR ثبت نام کنید.
    کنید
    Only
    Link URL:
    لینک و متن درون کدها فقط برای کسانی که ثبت نام کرده اند قابل مشاهده است لطفا وارد شوید OR ثبت نام کنید.
    Users Can See Links[/COLOR][/CODE]
    Link URL:
    لینک و متن درون کدها فقط برای کسانی که ثبت نام کرده اند قابل مشاهده است لطفا وارد شوید OR ثبت نام کنید.

  21. یک کاربر برای این پست سودمند از Sohrab عزیز تشکر کرده اند:


  22. #13

    Post



    کد:
    لینک و متن درون کدها فقط برای کسانی که ثبت نام کرده اند قابل مشاهده است لطفا وارد شوید OR ثبت نام کنید.

    اگر تا کنون در سایت ثبت نام نکرده اید با کلیک بر روی
    Link URL:
    لینک و متن درون کدها فقط برای کسانی که ثبت نام کرده اند قابل مشاهده است لطفا وارد شوید OR ثبت نام کنید.
    کنید
    Only
    Link URL:
    لینک و متن درون کدها فقط برای کسانی که ثبت نام کرده اند قابل مشاهده است لطفا وارد شوید OR ثبت نام کنید.
    Users Can See Links[/COLOR][/CODE]
    کد:
    لینک و متن درون کدها فقط برای کسانی که ثبت نام کرده اند قابل مشاهده است لطفا وارد شوید OR ثبت نام کنید.

    اگر تا کنون در سایت ثبت نام نکرده اید با کلیک بر روی
    Link URL:
    لینک و متن درون کدها فقط برای کسانی که ثبت نام کرده اند قابل مشاهده است لطفا وارد شوید OR ثبت نام کنید.
    کنید
    Only
    Link URL:
    لینک و متن درون کدها فقط برای کسانی که ثبت نام کرده اند قابل مشاهده است لطفا وارد شوید OR ثبت نام کنید.
    Users Can See Links[/COLOR][/CODE]
    Link URL:
    لینک و متن درون کدها فقط برای کسانی که ثبت نام کرده اند قابل مشاهده است لطفا وارد شوید OR ثبت نام کنید.

  23. یک کاربر برای این پست سودمند از Sohrab عزیز تشکر کرده اند:


  24. #14

    Post

    کد:
    لینک و متن درون کدها فقط برای کسانی که ثبت نام کرده اند قابل مشاهده است لطفا وارد شوید OR ثبت نام کنید.

    اگر تا کنون در سایت ثبت نام نکرده اید با کلیک بر روی
    Link URL:
    لینک و متن درون کدها فقط برای کسانی که ثبت نام کرده اند قابل مشاهده است لطفا وارد شوید OR ثبت نام کنید.
    کنید
    Only
    Link URL:
    لینک و متن درون کدها فقط برای کسانی که ثبت نام کرده اند قابل مشاهده است لطفا وارد شوید OR ثبت نام کنید.
    Users Can See Links[/COLOR][/CODE]
    Link URL:
    لینک و متن درون کدها فقط برای کسانی که ثبت نام کرده اند قابل مشاهده است لطفا وارد شوید OR ثبت نام کنید.

  25. 2 کاربر برای این پست سودمند از Sohrab عزیز تشکر کرده اند:


  26. #15

    Unhappy deitel???!!!

    dustan lotf konan in deitel ro bendazan door chon moftesh geroone. az in ketab mozakhraftar nabood.
    berin ketabe
    TIJ az Bruce Eckel bekhunid halesho bebarid.
    darzemn Jframe be darde laye jerze divar ham nemikhore (ham sorat va ham chizaye dige) baraye karaye gerafiki va panjerei ba framework e SWT estefade konid.
    albate bayad desiner roo systemetoon nasb konid.
    dar zemn ino bedunid ke baraye karaye rootin ba java behtarin narmafzar Eclipse e va behtarin baraye Java EnterPrise ham MyEclipse.
    berid hal konid. inaro az ghole behtarin modarrese java too iran goftam. az yeki az asatide CS e sharif.

صفحه 1 از 2 12 آخرینآخرین

اطلاعات موضوع

کاربرانی که در حال مشاهده این موضوع هستند

در حال حاضر 1 کاربر در حال مشاهده این موضوع است. (0 کاربران و 1 مهمان ها)

کلمات کلیدی این موضوع

علاقه مندی ها (Bookmarks)

علاقه مندی ها (Bookmarks)

مجوز های ارسال و ویرایش

  • شما نمیتوانید موضوع جدیدی ارسال کنید
  • شما امکان ارسال پاسخ را ندارید
  • شما نمیتوانید فایل پیوست کنید.
  • شما نمیتوانید پست های خود را ویرایش کنید
  •  
درباره ما

دوستان ما
لینک های مفید
ابزار ها
session بارگذاری مجدد کد امنیتی مندرج در تصویر را وارد کنید: