1 / 37

دانشگاه علمی کاربردی جهاد دانشگاهی مشهد

دانشگاه علمی کاربردی جهاد دانشگاهی مشهد. Introduction to Java. فصل 1. مهندس علی رضوانی مقدم. بهار92. سرفصلهاي يادگيري هر زبان برنامه نويسي عبارتند از. قالب كلي زبان قالب كلي دستورات انواع داده ها تعريف متغير و نحوه انتساب و قوانين نامگذاري دستورات شرطي و كنترلي دستورات تكرار

nemo
Download Presentation

دانشگاه علمی کاربردی جهاد دانشگاهی مشهد

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. دانشگاه علمی کاربردی جهاد دانشگاهی مشهد Introduction to Java فصل 1 مهندس علی رضوانی مقدم بهار92

  2. سرفصلهاي يادگيري هر زبان برنامه نويسي عبارتند از قالب كلي زبان قالب كلي دستورات انواع داده ها تعريف متغير و نحوه انتساب و قوانين نامگذاري دستورات شرطي و كنترلي دستورات تكرار ساختمان داده ها (آرايه ها ،رشته ها و...) نحوه كار با فايلها نحوه نوشتن توابع و.... 1

  3. دسته بندي زبانهاي از لحاظ نزديكي به سخت افزار: سطح پايين مانند اسمبلي سطح ميانه مانند C,C++ سطح بالا مانند Java،Pascal،Delphi،.net دسته بندي به لحاظ ساختيافتگي –شي گرا: ساخت يافته C،Pascal ساخت يافته-شي گرا C++،JAVA،Delphi،.net غيرساخت يافته qbasic 2

  4. چرا فنجان قهوه؟ Any WhereEvery Where Java Is There 3

  5. تاریخچه جاوا • Sun Microsystems • در آغاز تبدیل شدن به بزرگترین ایستگاههای کاری Unix • علاقمند در زمینه بازار لوازم الکترونیکی • پیدایش Green • شکست پروژه گرین و استقبال نشدن از این پروژه • آغاز به کار در سال 1994توسط جیمزگوسلینگ • هدف اجرای برنامه ها در بسترهای سخت افزاری مختلف • نارسایی C++ در این زمینه • OAK ساخته شده از ویرانه یک پروژه کاملا شکست خورده • تغییر نام OAKبه (Jsut Another Vague Acronym) Java جیمز گوسلینگ پدید آورنده جاوا 4

  6. اهداف اصلي در زمان پياده سازي جاوا • از متدولوژي شيءگرايي در اين زبان بطور كامل استفاده شود. • قابليت اجراي برنامه هاي يكسان در سيستم عامل هاي مختلف • پشتيباني از ويژگي هاي شبكه هاي كامپيوتري • اجراي راه دور برنامه ها بصورت كاملا امن • كاربرد راحت و ساده زبان به كمك انتخاب اجزاء مفيد • ساير زبانهاي شيءگرا و استفاده از آن در جاوا (الگوبرداري) 5

  7. خصوصیات زبان برنامه نويسي جاوا 6

  8. ساده(simple) • ﺟﺎوا ﻃﻮری ﺷﺪه ﮐﻪ ﺑﺮﻧﺎﻣﻪ ﻧﻮﯾﺴﺎن ﺣﺮﻓﻪ ای ﺑﺴﺎدﮔﯽ آن را ﻓﺮاﮔﺮﻓﺘﻪ و ﺑﻄﻮر ﻣﻮﺛﺮی ﺑﮑﺎر ﻣﯽ ﺑﺮﻧﺪ . • ﺟـﺎوا دﺳـﺘﻮر زﺑـﺎن‪ Cو++‪ Cو‫ﻫﻤﭽﻨﯿﻦ ﺑﺴﯿﺎری از ﺟﻮاﻧﺐ ﺷﯽ ئ ﮔﺮاﯾﯽ ++‪ Cرا ﺑﺎرث ﺑﺮده ، اﮐﺜﺮ ﺑﺮﻧﺎﻣﻪ ﻧﻮﯾﺴﺎن ﺑﺮای ﮐـﺎر ﺑـﺎ ﺟـﺎوا دﭼـﺎر ﻣﺸـﮑﻞ‫ﻧﺨﻮاﻫﻨﺪ ﺷﺪ . • ﺟﺎوا ﺗﻼش ﮐﺮده ﮐﻪ ﺟﻨﺒﻪ ﻫﺎی اﺳـﺘﺜﻨﺎﯾﯽ و ﺧـﺎرق اﻟﻌـﺎده ﻧﺪاﺷـﺘﻪ ﺑﺎﺷـﺪ . در • ﺟﺎوا ، ﺗﻌﺪاد اﻧﺪﮐﯽ از ﺷﯿﻮه ﻫﺎی ﮐﺎﻣﻼ" ﺗﻮﺻﯿﻒ ﺷﺪه ﺑﺮای اﻧﺠﺎم ﯾﮏ وﻇﯿﻔﻪ وﺟﻮد دارد . 7

  9. ‫ﺷﯽ ئ ﮔﺮا ﺟــــﺎوا از ﺑﺴــــﯿﺎری از ﻣﺤــــﯿﻂ ﻫــــﺎی ﻧــــﺮم اﻓــــﺰاری اوﻟﯿــــﻪﺑﺮاﺳــــﺎس ‫اشیاء مواردی را به ﻋﺎرﯾﺖ ﮔﺮﻓﺘﻪ و ﺗﻮازﻧﯽ ﺑﯿﻦ ﻧﻈﺮﯾﻪ ﻟﻔﻆ ﻗﻠﻤﯽ ﺗﺤﺖ ﻋﻨﻮان " ﻫﺮ ﭼﯿﺰی ﯾﮏ ﺷﯽ . اﺳـﺖ " و ﻧﻈﺮﯾـﻪ واﻗﻌﯿـﺖ‫ﮔﺮاﯾﯽ " ﺟﻠﻮی راه ﻣﻦ ﻗﺮار ﻧﮕﯿﺮ " ﺑﻮﺟﻮد آورده اﺳﺖ . ﻣﺪل ﺷﯽ ئ در ﺟﺎوا ﺑﺴﯿﺎر ﺳﺎده و ﺑﺮاﺣﺘﯽ ﻗﺎﺑﻞ ﮔﺴـﺘﺮش اﺳـﺖ ‫در ﺣﺎﻟﯿﮑﻪ اﻧﻮاع ﺳﺎده آن ﻧﻈﯿﺮ اﻋﺪاد ﺻﺤﯿﺢ )‪ (integersﺑﻌﻨـﻮان ﻋﻤﻠﮑﺮدﻫـﺎی ﺳـﻄﺢ ﺑـﺎﻻی ﻏﯿـﺮ ﺷـﯽ ئ ﺗﻠﻘـﯽ میشوند. 8

  10. قدرتمند(Robust) • ﺗﻮاﻧـﺎﯾﯽ اﯾﺠـﺎد ﺑﺮﻧﺎﻣـﻪ ﻫـﺎی ﻗﺪرﺗﻤﻨـﺪ • ﺟﺎوا ﺷﻤﺎ را ﺑﻪ ﺗﻌﺪاد ﻣﺤﺪودی از ﻧﻮاﺣﯽ ﮐﻠﯿﺪی ﻣﺤﺪود ﻣﯽ ﮐﻨﺪ ﺗﺎ ﻣﺠﺒﻮر ﺷـﻮﯾﺪ اﺷـﺘﺒﺎﻫﺎت‫ﺧﻮد را در ﺗﻮﺳﻌﻪ ﺑﺮﻧﺎﻣﻪ ﺧﯿﻠﯽ زود پیداﮐﻨﯿﺪ . • ﺟﺎوا ﺷﻤﺎ را از ﻧﮕﺮاﻧـﯽ درﺑـﺎره ﺑﺴـﯿﺎری از اﺷـﺘﺒﺎﻫﺎت راﯾـﺞ‫ﻧﺎﺷﯽ از ﺧﻄﺎﻫﺎی ﺑﺮﻧﺎﻣﻪ ﻧﻮﯾﺴﯽ ﻣﯽ رﻫﺎﻧﺪ • ﺟﺎوا ﯾﮏ زﺑﺎن ﮐﺎﻣﻼ" ﻧﻮع ﺑﻨﺪی ﺷﺪه اﺳﺖ ، ﻫﻨﮕﺎم ﮐﺎﻣﭙﺎﯾﻞ ﮐـﺪ‫ﺷﻤﺎ را ﮐﻨﺘﺮل ﻣﯽ ﮐﻨﺪ . اﻣﺎ اﯾﻦ زﺑﺎن ﮐﺪﻫﺎی • ﺷﻤﺎ را ﻫﻨﮕﺎم اﺟﺮا ﻧﯿﺰ ﮐﻨﺘﺮل ﻣﯽ ﻧﻤﺎﯾـﺪدر ﯾﮏ ﺑﺮﻧﺎﻣﻪ ﺧﻮش ﺳﺎﺧﺖ ﺟﺎوا، ﮐﻠﯿﻪ ﺧﻄﺎﻫﺎی ﻫﻨﮕﺎم اﺟﺮا ﺗﻮﺳﻂ ﺑﺮﻧﺎﻣﻪ ﺷﻤﺎ ﻣﺪﯾﺮﯾﺖ خواهد شد 9

  11. ‫ﭼﻨﺪ ﻧﺦ ﮐﺸﯽ ﺷﺪه(Multi threaded) • ﺑﺮﻧﺎﻣﻪ ﻧﻮﯾﺴﯽ ﭼﻨﺪﻧﺦ ﮐﺸـﯽ اﻣﮑـﺎن • ﻧﻮﺷـﺘﻦ ‫ﺑﺮﻧﺎﻣﻪ ﻫﺎﯾﯽ ﺑﻪ ﺷﻤﺎ ﻣﯿﺪﻫﺪ ﮐﻪ در • آن واﺣﺪ ﭼﻨﺪﯾﻦ ﮐﺎر را اﻧﺠﺎم ﻣﯽ دﻫﻨـﺪ . • ﺳﯿﺴـﺘﻢ ﺣـﯿﻦ اﺟـﺮای ﺟـﺎوا ، ﯾـﮏ راه ﺣـﻞ • ‫زﯾﺒـــﺎ و ﺑﺴـــﯿﺎر‪‫ﻣﺎﻫﺮاﻧـــﻪ ﺑـــﺮای • ﻫﻤﺰﻣـــﺎﻧﯽ ﭼﻨـــﺪﯾﻦ ﭘـــﺮدازشاراﺋـــﻪ • ﻣـــﯽ دﻫـــﺪ. 10

  12. ‫ﻣﻌﻤﺎری ﺧﻨﺜﯽ ‪Architecture-Neutral ﯾﮑﯽ از ﻣﺸﮑﻼت اﺻﻠﯽ ﺳﺮ راه ﺑﺮﻧﺎﻣﻪ‫ﻧﻮﯾﺴﺎن اﯾﻦ اﺳﺖ ﮐﻪ ﺗﻀﻤﯿﻨﯽ وﺟﻮد ﻧﺪارد ﺗﺎ ﺑﺮﻧﺎﻣﻪ ای را ﮐﻪ اﻣﺮوز ﻣﯽ ﻧﻮﯾﺴﯿﺪ ﻓﺮدا ﺣﺘﯽ روی ﻫﻤﺎن ﻣﺎﺷـﯿﻦ اﺟـﺮا ﺷـﻮد. ‫ارﺗﻘﺎئ ﺳﯿﺴﺘﻢ ﻫﺎی ﻋﺎﻣﻞ و ﭘﺮدازﻧﺪه ﻫﺎ و ﺗﻐﯿﯿﺮات در ﻣﻨﺎﺑﻊ ﻫﺴﺘﻪ ای ﺳﯿﺴﺘﻢ ﻣﻤﮑﻦ اﺳﺖ دﺳﺖ ﺑﺪﺳﺖ ﻫـﻢ داده ﺗـﺎ ﯾـﮏ‫ﺑﺮﻧﺎﻣﻪ را از ﮐﺎر ﺑﯿﻨﺪازﻧﺪ . ﻃﺮاﺣﺎن ﺟﺎوا ﺗﺼﻤﯿﻤﺎت ﻣﺘﻌﺪد و دﺷﻮاری در ﺟﺎوا و ﺣﯿﻦ اﺟـﺮا اﺗﺨـﺎذ ﻧﻤﻮدﻧـﺪ ﺗـﺎ ﺑﺘﻮاﻧﻨـﺪ اﯾـﻦ ‫ﻣﻮﻗﻌﯿﺖ را دﮔﺮﮔﻮن ﻧﻤﺎﯾﻨﺪ . ﻫﺪف آﻧﻬﺎ ﻋﺒﺎرت ﺑﻮد از : ﯾﮑﺒﺎر ﺑﻨﻮﯾﺴﯿﺪ ، ﻫﺮ ﺟﺎﯾﯽ ، ﻫﺮ زﻣﺎن و ﺑﺮای ﻫﻤﯿﺸﻪ اﺟـﺮا ﮐﻨﯿـﺪ . 12 11

  13. ‫ﺗﻔﺴﯿﺮ ﺷﺪه و ﻋﻤﻠﮑﺮد ﺳﻄﺢ ﺑﺎﻻ • ﺟﺎوا ﻗﺪرت اﯾﺠﺎد ﺑﺮﻧﺎﻣﻪ ﻫﺎﯾﯽ ﻗﺎﺑﻞ اﻧﻄﺒﺎق ﺑـﺎ ﭼﻨـﺪﯾﻦ ﻣﺤـﯿﻂ را ﺑﻮﺳـﯿﻠﻪ ﮐﺎﻣﭙﺎﯾـﻞ ﮐـﺮدن ﯾـﮏ ﻧـﻮع • ﻣﻌﺮﻓﯽ واﺳﻄﻪ ﺗﺤﺖ ﻋﻨﻮان ﮐﺪ ﺑﺎﯾﺘﯽ ﭘﯿﺪا ﮐﺮده اﺳﺖ . • ﺟﺎوا ﻃﻮری ﻃﺮاﺣﯽ ﺷﺪه ﺗﺎ روی اﻧﻮاع ‪ cpuﻧﯿـﺰ ﺑﺨـﻮﺑﯽ اﺟـﺮا ﺷـﻮد . ﮐﺪﻫﺎی ﺑﺎﯾﺘﯽ ﺟﺎوا آﻧﭽﻨﺎن دﻗﯿﻖ ﻃﺮاﺣﯽ ﺷﺪه ﮐﻪ ﻣﯽ ﺗـﻮان آﻧﻬـﺎ را ﺑﺴـﺎدﮔﯽ و‫ﺑﻄﻮر ﻣﺴﺘﻘﯿﻢ ﺑﻪ ﮐﺪﻫﺎی ﻣﺎﺷﯿﻦ ﺧﺎص ﺷﻤﺎ ﺑﺮای ﻋﻤﻠﮑﺮدﻫﺎی ﺳﻄﺢ ﺑﺎﻻ ﺗﺮﺟﻤﻪ ﻧﻤﻮد . 12

  14. ‫ﺗﻮزﯾﻊ ﺷﺪه(Distributed) • ﺟﺎوا ﻣﺨﺘﺺ ﻣﺤﯿﻂ ﺗﻮزﯾﻊ ﺷﺪه اﯾﻨﺘﺮﻧﺖ ﻃﺮاﺣﯽ ﺷﺪه. رواﯾﺖ اوﻟﯿﻪ ﺟـﺎوا ﯾﻌﻨـﯽ ‪oak‫درﺑﺮﮔﯿﺮﻧﺪه ﺟﻨﺒﻪ ﻫﺎﯾﯽ ﺑﺮای ﭘﯿﺎم رﺳﺎﻧﯽ آدرﺳﻬﺎی داﺧﻠﯽ ﻓﻀﺎی اﻟﮑﺘﺮوﻧﯿﮑﯽ ﺑﻮد . • ﺟﺎوا اﺧﯿﺮا"اﯾﻦ راﺑﻄﻬﺎ را در ﯾﮏ ﺑﺴـﺘﻪ ﻧـﺮم اﻓـﺰاری ﺑﻨـﺎم ‫‪(RMI) Remote Method Invocationاﺣﯿﺎئ ﻧﻤﻮده اﺳﺖ . اﯾﻦ ﺟﻨﺒﻪ ﯾﮏ ﺳﻄﺢ ﻏﯿﺮ ﻣﻮازی از ﺗﺠﺮد ﺑـﺮای ‫ﺑﺮﻧﺎﻣﻪ ﻧﻮﯾﺲ ﺳﺮوﯾﺲ ﮔﯿﺮﻧﺪه / ﺳﺮوﯾﺲ دﻫﻨﺪه ﺑﻮﺟﻮد آورده اﺳﺖ . 13

  15. پویا(Dynamic) • جاوا یک زبان پویا است . هر کلاس جاوا میتواند در هر زمانی روی مفسر جاوا بارگذاری شود . سپس این کلاس های بارگذاری شده ی پویا میتوانند به صورت پویا معرفی شوند . شما میتوانید به طور پویا در مورد یک کلاس در زمان اجرا اطلاعاتی بدست بیاورید .با وجود بازتاب API اضافه شده (ApplicationProgram Interface ) که به برنامه ساز امکان میدهد که با برنامه از طریق یک برنامه کاربردی دیگر ارتباط برقرار کند. 14

  16. عملکرد ماشین مجازی جاوا Class File بارکننده کلاس Class Loader Java Api Byte Code موتور اجرا Execution engine 15

  17. فرايند توليد نرم افزار • برنامه ها ابتدا در يك محيط ويراستاري متني نوشته مي شود و با پسوند .java ذخيره مي گردد. سپس اين فايل بوسيله كامپايلر جاوا ترجمه و به فايلي با پسوند .class تبديل مي گردد. 16

  18. 17

  19. لایه های امنیتی جاوا • سیستم امنیتی جاوا از پنج قسمت تشکیل شده است: • کامپایلر آن تضمین می کند که قوانین امنیتی را زیرپا نمی گذارد • نظارت و کنترل بایت کدها • Verifier • بارکننده کلاس ها (Class Loader) بررسی می کند که • کلاس ها به محدودیت ها دسترسی نداشته باشند • باز پس گرفتن فضا توسط Gc (Garbage Collector) 18

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

  21. پلتفرم های جاوا پلتفرم جاوا از دو مولفه تشكيل شده است: 1- ماشين مجازي جاوا 2- API انواع پلتفرمهاي جاوا Java Platform, Standard Edition – Java SE Java Platform, Enterprise Edition – Java EE Java Platform, Micro Edition – Java ME Java Card 20

  22. ساختار یک برنامه ساده : 21

  23. انواع داده ها در جاوا 22

  24. داده ها در C: 23

  25. متغيرها و انواع داده‏ها: • اکثرا نیاز به ذخیره مقدارها دارند که می خواهیم از آنها استفاده کنیم .برای بازیابی یک مقدار باید آنرا در یک متغیر نکهداری کنیم . یک متغییر محل ذخیره در حافظه کامپیوتر است که ویژگیهایی مثل نام ، نوع ومحتویات دارد. 24

  26. تعريف متغيرها: تعريف متغير از يك نوع و يك نام: intmyAge string myname; boolean is tired چند متغير از يك نوع: intx,y,z string firstname, lastname; 25

  27. مقداردهي به متغير درهنگام تعريف: intmyAge, mysize, numshoes= 28; string myname= “laura”; boolean is Tired= true 18

  28. ثابت ها تعریف ثابت در جاوا کافی است که به ابتدای فرایند تعریف متغییر کلمه کلیدی final را اضافه کنیم مانند مثال زیر Final String MANUFACTURER; مثال : 27

  29. عملگر تخصیص مقدار 1 • مقدار متغییر را میتوان با یک علامت (=) تغییر داد . • اگر می خواهید که مقدار را عوض کنید به راحتی مقدار جدید بدهید • مانند مثال زیر:مقدار جدید بجای مقدار اصلی قرار می گیرد • اگر از یک متغییر که هیچ مقداری نداشته استفاده منید با خطا مواجه می شوید : • خطا مقدار دهی داده شده است. 2 28

  30. توضیحات در جاوا: نوع اول :از /* شروع در خاتمه */ قرار مي‏دهيم. نوع دوم : براي توضيحات تك خطي از // استفاده مي‏كنيم. نوع سوم: برنامه javadoc از آن استفاده مي‏كند با /** شروع و در پايان */ قرار مي‏دهيم. 30

  31. 1.import java.aw.point • 2.class Testpoint { • 3.public static void main (string args [ ] { • 4.point the point= new point (10,10); • 5.system.out.println(“Xis” + the point.x); • 6.system.out.println(“y is” + thepoint) • 7.system.out.println(“setting X to 5.”); • 8.The point.X=5; • 9.system.out.println(“setting Y to 15.”); • 10.the point.y= 15; • 11.system.out.println(“x is” + the point.x); • 13.system.out.println(“Y is” + the point.y); • } • } برنامه‏اي را مشاهده مي‏كنيد كه دستورات انتساب مقدار به يك شي و ايجاد يك شي را مشاهده كرد. • خروجي: • X is 10 • Y is 10 • Setting X to 5. • Setting Y to 15. • X is 5 31

  32. اعلان نمودن اشیاء ابتدا باید یک متغیر از نوع همان کلاس اعلان نمائید . یک کپی فیزیکی و واقعی از شیٍ بدست آورده و به آن متغییر منتسب کنید . اینکار را با عملگر NEWانجام دهید . مثال: ( )mybox=new Box Myboxرا به عنوان یک ارجاع به شیئی از نوع Boxاعلان میکند 32

  33. اعلان نمودن اشیاءدر جاوا 33

  34. نگاهی دقیق تر به NEW Class-var= new classname(); Class-varیک متغیر از نوع کلاسی است که ایجاد کرده ایم class name ، نام کلاسی است که میخواهیم معرفی کنیم .نام کلاس که بعد از آن پرانتز ها قرار گرفته اند مشخص کننده سازنده کلاس است . تعریف سازنده : سازنده تعریف میکند وقتی یک سیئی از یک کلاس ایجاد شود چه اتفاقی خواهد افتاد . NEW: حافظه را برای یک شیئی طی زمان اجرا تخصیص میدهد . 34

  35. باتشكر از دوستان گرامي كه تا بدين لحظه ما را در ارائه بهتر ياري نمو ده اند.

More Related