برمجة بلغة الجافا 1 PDF
Document Details
Uploaded by UnaffectedEuropium2796
Tags
Summary
هذا المستند هو مقدمة حول البرمجة باستخدام لغة الجافا، ويغطي أساسيات اللغة، مثل أهميتها واستخداماتها، بالإضافة لخطوات تنفيذ برنامج بلغة جافا ومميزاتها.
Full Transcript
ﻣﻘﺪﻣﺔ ﻟﻠﺒﺮﻣﺠﺔ ﺑﺎﺳﺘﺨﺪام ﻟﻐﺔ اﻟﺠﺎﻓﺎjava 49 اﻟﺒﺮﻣﺠﺔ ﺑﺎﺳﺘﺨﺪام ﻟﻐﺔ اﻟﺠﺎﻓﺎ اﻟﮭﺪف ﻣﻦ اﻟﻤﺤﺎﺿﺮة اﻷوﻟﻰ : – 1ﻣﻌﺮﻓﺔ اﻟﻄﻠﺒﺔأ...
ﻣﻘﺪﻣﺔ ﻟﻠﺒﺮﻣﺠﺔ ﺑﺎﺳﺘﺨﺪام ﻟﻐﺔ اﻟﺠﺎﻓﺎjava 49 اﻟﺒﺮﻣﺠﺔ ﺑﺎﺳﺘﺨﺪام ﻟﻐﺔ اﻟﺠﺎﻓﺎ اﻟﮭﺪف ﻣﻦ اﻟﻤﺤﺎﺿﺮة اﻷوﻟﻰ : – 1ﻣﻌﺮﻓﺔ اﻟﻄﻠﺒﺔأھﻤﯿﺔ واﺳﺘﺨﺪاﻣﺎت ﻟﻐﺔ اﻟﺠﺎﻓﺎ – 2ﻣﻌﺮﻓﺔ اﻟﻄﻠﺒﺔﻣﺮاﺣﻞ ﺗﻨﻔﯿﺬ ﺑﺮﻧﺎﻣﺞ ﺑﻠﻐﺔ اﻟﺠﺎﻓﺎ – 3ﻣﻌﺮﻓﺔ اﻟﻄﻠﺒﺔﻣﻤﯿﺰات ﻟﻐﺔ اﻟﺠﺎﻓﺎ. ﺗﻌﺘﺒﺮ ﻟﻐﺔ اﻟﺠﺎﻓﺎ ﻣﻦ اﻟﻠﻐﺎت اﻟﻘﻮﯾﺔ ﺟﺪاً ﻓﻲ ﻣﺠﺎل إﻧﺸﺎء اﻟﺘﻄﺒﯿﻘﺎت اﻟﻤﺨﺘﻠﻔﺔ ﺳﻮاء ﻛﺎﻧﺖ ھﺬه اﻟﺘﻄﺒﯿﻘﺎت ﺗﻌﻤﻞ ﻣﻨﻔﺮدة ﻋﻠﻰ أﺟﮭﺰة اﻟﻜﻤﺒﯿﻮﺗﺮ اﻟﺸﺨﺼﻲ أو ﺗﻄﺒﯿﻘﺎت اﻹﻧﺘﺮﻧﺖ أو اﻟﺘﻄﺒﯿﻘﺎت اﻟﻤﺨﺘﻠﻔﺔ ﻟﻸﺟﮭﺰة اﻟﻤﺤﻤﻮﻟﺔ ,ﻣﺜﻞ اﻟﻤﻮﺑﺎﯾﻞ واﻟﻤﻔﻜﺮات اﻹﻟﻜﺘﺮوﻧﯿﺔ وھﻜﺬا. وﻟﻘﺪ ﻗﺎﻣﺖ ﺷﺮﻛﺔ ﺻﻦ ) (Sun Microsystemsﺑﺎﺧﺘﺮاع وﺗﻄﻮﯾﺮ ھﺬه اﻟﻠﻐﺔ.وأﺻﺒﺤﺖ ﺷﺮﻛﺔﺻﻦ ﻣﻤﻠﻮﻛﺔ ﻟﺸﺮﻛﺔ أوراﻛﻞ وﺑﺎﻟﺘﺎﻟﻲ اﻧﺘﻘﻠﺖ ﻣﻠﻜﯿﺔ اﻟﺠﺎﻓﺎ ﻷوراﻛﻞ .وﻛﺎن اﻟﮭﺪف ﻋﻨﺪ اﺧﺘﺮاع ﻟﻐﺔ اﻟﺠﺎﻓﺎ ھﻮﻋﻤﻞ ﻟﻐﺔ ﻗﺎدرة ﻋﻠﻰ ﺑﺮﻣﺠﺔ ﻧﻈﻢ اﻟﺘﺸﻐﯿﻞ ﻟﺠﻤﯿﻊ اﻷﺟﮭﺰة ﻣﻦ ﺣﺎﺳﺒﺎت ﻋﻤﻼﻗﺔ ) (mainframesإﻟ ﺎﻷﺟﮭﺰة اﻟﺼﻐﯿﺮة ﻣﺜﻞ ﻣﺸﻐﻼت MP3وﻟﻘﺪ اﺧﺘﺎرت اﻟﺸﺮﻛﺔ ﺻﻮرة ﻓﻨﺠﺎن اﻟﻘﮭﻮة ﻟﺘﻤﺜﯿﻞ ھﺬه اﻟﻠﻐﺔ . 1-1أﺳﺲ اﻟﺒﺮﻣﺠﺔ ﺑﺎﺳﺘﺨﺪام ﻟﻐﺔ اﻟﺠﺎﻓﺎ ﻗﺒﻞ اﻟﺒﺪء ﻓﻲ ﻋﻤﻠﯿﺔ اﻟﺒﺮﻣﺠﺔ ) أي ﻛﺘﺎﺑﺔ اﻟﺒﺮﻧﺎﻣﺞ اﻟﻤﻄﻠﻮب ﺗﻨﻔﯿﺬه ( ﺑﻠﻐﺔ اﻟﺠﺎﻓﺎ ﻻﺑﺪ ﻣﻦ ﺗﻮاﻓﺮ اﻟﻌﺪة اﻟﻼزﻣﺔ ). (Tool Kitوھﺬه اﻟﻌﺪة ﻋﺒﺎرة ﻋﻦ اﻟﺒﺮاﻣﺞ اﻟﻼزﻣﺔ ﻟﻌﻤﻠﯿﺔ ﻛﺘﺎﺑﺔ اﻟﺒﺮﻧﺎﻣﺞ ﻧﻔﺴﮫ وﻧﻘﻮل أﻧﻨﺎ ﻛﺘﺒﻨﺎ ﺑﺮﻧﺎﻣﺞ ﺑﻠﻐﺔ اﻟﺠﺎﻓﺎ .ﺑﻌﺪ ذﻟﻚ ﺗﺄﺗﻲ ﻋﻤﻠﯿﺔ اﻟﺘﺮﺟﻤﺔ ﻟﮭﺬا اﻟﺒﺮﻧﺎﻣﺞ وھﻲ ﻣﺎ ﻧﻄﻠﻖ ﻋﻠﯿﮭﺎ ﻋﻤﻠﯿﺔ اﻟﺘﺮﺟﻤﺔ ).(compiling واﻟﺤﻘﯿﻘﺔ ﻓﺄﻧﮫ ﯾﻮﺟﺪ أﻛﺜﺮ ﻣﻦ طﺮﯾﻘﺔ ﻟﻜﺘﺎﺑﺔ ﺑﺮاﻣﺞ اﻟﺠﺎﻓﺎ وﺗﺮﺟﻤﺘﮭﺎ ﻧﻮﺟﺰ ﻣﻨﮭﺎ : اﺳﺘﻌﻤﺎل اﻟﻤﻜﺘﺒﺔ ) (JDKوھﻲ اﺧﺘﺼﺎر JAVA DEVELOPMENTE KIT -1 ﻣﻦ إﻧﺘﺎج ﺷﺮﻛﺔ ﺻﻦ ﻣﻊ أي ﻣﺤﺮر ﻧﺼﻮص وﻟﯿﻜﻦ ﺑﺮﻧﺎﻣﺞ Notepadاﻟﻤﻮﺟﻮد ﻓﻲ اﻟﻮﯾﻨﺪوز. اﺳﺘﻌﻤﺎل ﺑﺮاﻣﺞ وﺳﯿﻄﺔ ﺗﺴﮭﻞ ﻋﻤﻠﯿﺔ اﻟﻜﺘﺎﺑﺔ واﻟﺘﺮﺟﻤﺔ وﺗﺼﺤﯿﺢ اﻷﺧﻄﺎء ﻣﺜﻞ ﺑﺮﻧﺎﻣﺞ -2 )… .(Net Beans – Jcreator - BlueJ 49 وﺳﻮف ﻧﺘﻨﺎول ﻛﯿﻔﯿﺔ ﺗﺜﺒﯿﺖ ھﺬه اﻟﺒﺮاﻣﺞ ﻋﻠﻰ ﺟﮭﺎز اﻟﺤﺎﺳﺐ وﻛﯿﻔﯿﺔاﻟﺘﻌﺎﻣﻞ ﻣﻌﮭﺎ.واﻟﺸﻜﻞ ) 1- ( 1ﯾﺒﯿﻦ ﻛﯿﻔﯿﺔ ﻋﻤﻞ ﻟﻐﺔ اﻟﺠﺎﻓﺎ . وﯾﻮﺟﺪ ﻋﺪة ﻧﺴﺦ ﻟﻠﻐﺔ اﻟﺠﺎﻓﺎ ھﻲ -: :J2SE ھﻲ اﺧﺘﺼﺎر ل Java 2 Standard Editionﯾﺘﻢ ﻣﻦ ﺧﻼﻟﮭﺎ دراﺳﺔ اﻟﻠﻐﺔ وإﻧﺸﺎء اﻟﺘﻄﺒﯿﻘﺎت اﻟﻤﺨﺘﻠﻔﺔ ﻟﺘﺸﻐﯿﻠﮭﺎ ﻋﻠﻰ ﺟﮭﺎز اﻟﺤﺎﺳﺐ ).(desktop Applicationوﺳﻮف ﺗﻜﻮن ھﻲ ﻣﻮﺿﻮع دراﺳﺘﻨﺎ ﻓﻲ ھﺬا اﻟﻜﺘﺎب. :J2EE ھﻲ اﺧﺘﺼﺎر ل Java 2 Enterprise Editionوھﻲ ﺗﺰودﻧﺎ ﺑﺎﻟﺘﻄﺒﯿﻘﺎت اﻟﻜﺒﯿﺮة ﻋﻠﻰ ﻣﺴﺘﻮى اﻟﺸﺮﻛﺎت اﻟﻜﺒﯿﺮة. :J2ME ھﻲ اﺧﺘﺼﺎر ل Java 2 Micro Editionﻓﮭﻲ ﺗﺨﺺ اﻷﺟﮭﺰة اﻟﻼﺳﻠﻜﯿﺔ ) (wireless devicesﺑﺸﻜﻞ ﻋﺎم ﯾﻌﻨﻲ ﻋﻠ ﺄﺟﮭﺰةاﻟﻤﺤﻤﻮل وﻏﯿﺮھﺎ. 49 ﻣﻤﯿﺰات ﻟﻐﺔ اﻟﺠﺎﻓﺎ -1ﻟﻐﺔ اﻟﺠﺎﻓﺎ ﻏﯿﺮ ﻣﺮﺗﺒﻄﺔ ﺑﺄﻧﻈﻤﺔ اﻟﺘﺸﻐﯿﻞ اﻟﻤﺨﺘﻠﻔﺔ Java Is Platform .Independent -2ﺗﻌﺘﻤﺪ ﻋﻠﻰ أﺳﻠﻮب ﺑﺮﻣﺠﺔ اﻷھﺪاف . Object Oriented Programming -3إﻧﺸﺎء ﺑﺮاﻣﺞ ذات واﺟﮭﺔ ﻣﺴﺘﺨﺪم . -4ﺗﺼﻤﯿﻢ ﺑﺮﻣﺠﯿﺎت ﺗﺴﺘﻔﯿﺪ ﻣﻦ ﻛﻞ ﻣﻤﯿﺰات اﻹﻧﺘﺮﻧﺖ . Java Applet ﺷﺮح ﻷھﻢ ﻣﻤﯿﺰات ﻟﻐﺔ اﻟﺠﺎﻓﺎ ﻛﻤﺎ ذﻛﺮﻧﺎھﺎ ﻓﻲ اﻟﻨﻘﺎط اﻟﺴﺎﺑﻘﺔ : -1ﻟﻐﺔ اﻟﺠﺎﻓﺎ ﻏﯿﺮ ﻣﺮﺗﺒﻄﺔ ﺑﺄﻧﻈﻤﺔ اﻟﺘﺸﻐﯿﻞ اﻟﻤﺨﺘﻠﻔﺔ:وﻣﻌﻨﻰ ذﻟﻚ إﻧﮫ ﯾﻤﻜﻦ ﻧﻘﻞ اﻟﺒﺮاﻣﺞ )اﻟﻤﻜﺘﻮﺑﺔ ﺑﻠﻐﺔ اﻟﺠﺎﻓﺎ( ﺑﺴﮭﻮﻟﺔ ﻣﻦ ﻧﻈﺎم ﺗﺸﻐﯿﻞ إﻟﻰ آﺧﺮ.وﻓﻲ اﻟﻤﻘﺎﺑﻞ ﯾﻤﻜﻦ اﻟﻘﻮل إﻧﮫ ﻻ ﯾﻤﻜﻦ ﺗﺸﻐﯿﻞ ﺑﺮﻧﺎﻣﺞ WORDﻣﺜﻼ واﻟﺨﺎص ﺑﻨﻈﺎم ﺗﺸﻐﯿﻞ وﯾﻨﺪوز) (WINDOWSﻋﻠﻰ ﺟﮭﺎز ﺣﺎﺳﺐ آﺧﺮ ﯾﻌﻤﻞ ﺑﻨﻈﺎم ﺗﺸﻐﯿﻞ ﻣﺨﺘﻠﻒ ﻣﺜﻞ ﯾﻮﻧﯿﻜﺲ ) (UNIXأو ﻧﻈﺎم ﺗﺸﻐﯿﻞ ﻟﯿﻨﻜﺲ ) (LINUXأو أي ﻧﻈﺎم ﺗﺸﻐﯿﻞ آﺧﺮ ﻏﯿﺮ ﻧﻈﺎم WINDOWSواﻟﻤﺴﺘﺨﺪم ﻣﻊ أﺟﮭﺰة اﻟﺤﺎﺳﺒﺎت اﻟﻤﺨﺘﻠﻔﺔ. وﯾﺮﺟﻊ ذﻟﻚ ﻷن ﺑﺮﻧﺎﻣﺞ WORDﺑﺸﻜﻞ ﻋﺎم ﻣﻜﺘﻮب ﺑﻠﻐﺔ ) (C++/Cواﻟﺘﻲ ﺗﻌﻄﻲ ﻣﻠﻒ ﻣﻦ ﻧﻮع EXEﺧﻼل ﻋﻤﻠﯿﺔ ﺗﺴﻤﻰ ﻋﻤﻠﯿﺔ اﻟﺘﺮﺟﻤﺔ COMPILATIONوﺑﺬﻟﻚ ﯾﻜﻮن اﻟﻤﻠﻒ اﻟﻨﺎﺗﺞ ﻣﺮﺗﺒﻄﺎً ارﺗﺒﺎطﺎً ﻛﻠﯿﺎً ﺑﻨﻈﺎم اﻟﺘﺸﻐﯿﻞ. أﻣﺎ ﺑﺎﻟﻨﺴﺒﺔ ﻟﻠﻐﺔ اﻟﺠﺎﻓﺎ ﻓﺎﻟﻮﺿﻊ ﻣﺨﺘﻠﻒ ﺣﯿﺚ ﯾﻮﺟﺪ وﺳﯿﻂ ﺑﯿﻦ اﻟﺒﺮﻧﺎﻣﺞ وﺑﯿﻦ ﻧﻈﺎم اﻟﺘﺸﻐﯿﻞ وھﺬا اﻟﻮﺳﯿﻂ ﯾﺴﻤﻰ ) (Byte Code Interpreterأي اﻟﺘﺮﺟﻤﺔ ﻋﻠﻰ ﻣﺴﺘﻮى اﻟﺒﺎﯾﺖ.وﻛﺬﻟﻚ ﯾﻤﻜﻦ ﺗﺴﻤﯿﺘﮫ ﺑﺎﻵﻟﺔ اﻟﺘﺨﯿﻠﯿﺔ ﻟﻠﺠﺎﻓﺎ ).(Java Virtual Machine وﯾﻮﺿﺢ اﻟﺸﻜﻞ ) (1-2ﺧﻄﻮات ﺗﺸﻐﯿﻞ ﺑﺮﻧﺎﻣﺞ ﻣﻜﺘﻮب ﺑﻠﻐﺔ ) cأو . (c++ 49 ﻛﻤﺎ ﯾﻮﺿﺢ ﺷﻜﻞ )1-3أ( وﺷﻜﻞ )1-3ب(وﺷﻜﻞ )1-3ج(ﺧﻄﻮات ﺗﺸﻐﯿﻞ ﺑﺮﻧﺎﻣﺞ ﻣﻜﺘﻮب ﺑﻠﻐﺔ اﻟﺠﺎﻓﺎ . 49 -2ﺗﻌﺘﻤﺪ ﻟﻐﺔ اﻟﺠﺎﻓﺎ ﻋﻠﻰ أﺳﻠﻮب ﺑﺮﻣﺠﺔ اﻷھﺪاف Object Oriented Programming ﺣﯿﺚ وﻓﺮت ﻛﺜﯿﺮا ﻣﻦ اﻟﺠﮭﺪ اﻟﺬي ﻛﺎن ﯾﺒﺬل ﺑﺎﺳﺘﺨﺪام اﻟﺒﺮﻣﺠﺔ اﻟﺘﻘﻠﯿﺪﯾﺔ .ﻓﻘﺪ ﻛﺎﻧﺖ اﻟﺒﺮﻣﺠﺔ اﻟﺘﻘﻠﯿﺪﯾﺔ ﺗﻮﻓﺮ ﻟﻠﻤﺒﺮﻣﺞ ﻣﻜﺘﺒﺔ ﻣﻦ اﻟﺪوال إﺿﺎﻓﺔ إﻟﻰ ﺗﺮﻛﯿﺐ ﺗﻘﻠﯿﺪي ﻟﻠﺒﺮﻧﺎﻣﺞ وﻋﻠﻰ اﻟﻤﺒﺮﻣﺞ أن ﯾﺴﺘﻌﻤﻞ اﻟﺪوال ﻣﻊ ﺗﺮﻛﯿﺐ اﻟﺒﺮﻧﺎﻣﺞ ﻹﻧﺸﺎء اﻟﺘﻄﺒﯿﻘﺎت اﻟﻤﺨﺘﻠﻔﺔ ﻣﻤﺎ ﯾﻀﻄﺮه ﻟﻜﺘﺎﺑﺔ اﻟﺴﻄﻮر اﻟﻜﺜﯿﺮة أﻛﺜﺮ ﻣﻦ ﻣﺮة؛ و ﻟﻘﺪ ﻛﺎﻧﺖ وﺣﺪة ﺑﻨﺎء اﻟﺒﺮﻧﺎﻣﺞ ھﻲ اﻟﺪاﻟﺔ.functionﻓﻲ ﺣﯿﻦ أﺗﺖ اﻟﺒﺮﻣﺠﺔ ﺑﻮاﺳﻄﺔ اﻷھﺪاف ﺑﻔﻜﺮة ﺟﺪﯾﺪة ھﻲ إﻧﺸﺎء ﻋﻨﺎﺻﺮ ﻣﺘﻜﺎﻣﻠﺔ ﺗﺤﺘﻮي ﻋﻠﻰ ﺑﯿﺎﻧﺎت ودوال ھﻲ أﺳﺎس إﻧﺸﺎء اﻟﺒﺮﻧﺎﻣﺞ.وﺑﺎﻟﺘﺎﻟﻲ أﺻﺒﺤﺖ وﺣﺪة ﺑﻨﺎء اﻟﺒﺮﻧﺎﻣﺞ وﺣﺪة ﻛﺒﯿﺮة ھﻲ اﻟﻔﺼﯿﻠﺔ أو اﻟﻔﺌﺔ Classأو اﻟﻌﻨﺼﺮ Objectﻣﻤﺎ ﺳﮭﻞ واﺧﺘﺼﺮ اﻟﻜﺜﯿﺮ ﻣﻦ اﻟﻮﻗﺖ واﻟﺠﮭﺪ. وﺳﻮف ﻧﺘﺤﺪث ﻋﻠﻰ ھﺬه اﻟﻨﻘﻄﺔ ﺑﺎﻟﺘﻔﺼﯿﻞ ﻓﻲ اﻟﺒﺎب اﻟﺜﺎﻧﻲ . -3إﻧﺸﺎء ﺑﺮاﻣﺞ ذات واﺟﮭﺔ ﻣﺴﺘﺨﺪم رﺳﻮﻣﯿﺔ . ﯾﻌﺘﺒﺮ ﺑﻨﺎء واﺟﮭﺔ اﻟﻤﺴﺘﺨﺪم اﻟﺮﺳﻮﻣﯿﺔ ﻣﻦ اﻷﺟﺰاء اﻟﮭﺎﻣﺔ ﻓﻲ اﻟﺒﺮﻧﺎﻣﺞ .ﺣﯿﺚ أن ھﺬه اﻟﻮاﺟﮭﺎت ﺗﻌﻄﻲ اﻟﺒﺮﻧﺎﻣﺞ ﺷﻜﻼ ﻣﻌﯿﻨﺎً ,ﻛﻤﺎ أن اﺳﺘﺨﺪام ﻣﻔﺎھﯿﻢ وأﺟﺰاء ﻣﻮﺣﺪة ﻓﻲ ﺑﻨﺎء اﻟﻮاﺟﮭﺎت ﻟﻠﻌﺪﯾﺪ ﻣﻦ اﻟﺒﺮاﻣﺞ اﻟﻤﺨﺘﻠﻔﺔ ﯾﻌﻄﻲ اﻟﻤﺴﺘﺨﺪم ﻗﺪرا ﻛﺒﯿﺮا ﻣﻦ اﻟﺮاﺣﺔ إﺛﻨﺎء اﺳﺘﺨﺪام اﻟﺒﺮاﻣﺞ ,ﻛﻤﺎ أﻧﮫ ﯾﻘﻠﻞ ﻛﺜﯿﺮا ﻣﻦ اﻟﻮﻗﺖ اﻟﻤﺴﺘﺨﺪم ﻟﺘﻌﻠﻤﮭﺎ .وﻗﺪ ﺗﻌﺮﻓﻨﺎ ﻓﻲ اﻟﺴﻨﻮات اﻟﺴﺎﺑﻘﺔ وأﺛﻨﺎء اﺳﺘﺨﺪاﻣﻨﺎ ﻟﻠﺤﺎﺳﺐ ﻋﻠﻰ واﺟﮭﺎت رﺳﻮﻣﯿﺔ ﻛﺜﯿﺮة .ﻣﺜﻞ واﺟﮭﺎت اﻟﻮﯾﻨﺪوز واﻟﻤﺴﺘﻜﺸﻒ ﻟﻺﻧﺘﺮﻧﺖ وﻏﯿﺮھﺎ . إن اﻷﺟﺰاء اﻟﺮﺳﻮﻣﯿﺔ اﻟﻤﻮﺟﻮدة ﻓﻲ ﻟﻐﺔ اﻟﺠﺎﻓﺎ ﻣﺮﺗﺒﻄﺔ ﻣﺒﺎﺷﺮة ﻣﻊ اﻹﻣﻜﺎﻧﯿﺎت اﻟﺮﺳﻮﻣﯿﺔ ﻟﻠﺠﮭﺎز اﻟﺬي ﯾﻌﻤﻞ ﻋﻠﯿﮫ اﻟﺒﺮﻧﺎﻣﺞ .وﺑﺬﻟﻚ ﻓﺈن اﻟﻮاﺟﮭﺎت اﻟﺮﺳﻮﻣﯿﺔ اﻟﻤﻮﺟﻮدة ﻓﻲ اﻟﺠﺎﻓﺎ ﺳﻮف ﺗﻈﮭﺮ ﺑﺄﺷﻜﺎل ﻣﺘﺒﺎﯾﻨﺔ ﻋﻠﻰ اﻷﺟﮭﺰة اﻟﻤﺨﺘﻠﻔﺔ .أي أﻧﻨﺎ ﻋﻨﺪﻣﺎ ﻧﻘﻮم ﺑﻜﺘﺎﺑﺔ ﺑﺮﻧﺎﻣﺞ ﯾﻘﻮم ﺑﻌﻤﻞ زر ﻋﻠﻰ ﻧﻈﺎم اﻟﻮﯾﻨﺪوز ﻓﺄن ھﺬا اﻟﺰر ﯾﺄﺧﺬ ﻧﻔﺲ ﺷﻜﻞ اﻟﺰر اﻟﻤﺴﺘﺨﺪم ﻓﻲ ﻧﻈﺎم اﻟﻮﯾﻨﺪوز .وﻟﻜﻦ إذا ﺗﻢ ﻛﺘﺎﺑﺘﮫ ﻓﻲ ﻧﻈﺎم ﺗﺸﻐﯿﻞ آﺧﺮ ﻓﺈﻧﮫ ﯾﺄﺧﺬ ﺷﻜﻞ ﯾﺘﻨﺎﺳﺐ ﻣﻊ ﻧﻈﺎم اﻟﺘﺸﻐﯿﻞ اﻟﻤﺴﺘﺨﺪم . -4ﺗﺼﻤﯿﻢ ﺑﺮﻣﺠﯿﺎت ﺗﺴﺘﻔﯿﺪ ﻣﻦ ﻛﻞ ﻣﻤﯿﺰات اﻹﻧﺘﺮﻧﺖ . Java Applet وھﯿﻨﻮع ﻣﻦ اﻟﺘﻄﺒﯿﻘﺎت اﻟﺘﻲ ﺻﻤﻤﺖ ﺧﺼﯿﺼﺎ ﻟﻺﻧﺘﺮﻧﺖ.ﺣﯿﺚ ﯾﻘﻮم اﻟﻤﻄﻮر ) ( Developer ﺑﺈﻋﺪاد ھﺬا اﻟﺒﺮﻧﺎﻣﺞ Appletﺛﻢ ﯾﺘﻢ اﺳﺘﺪﻋﺎءه ﻣﻦ ﺧﻼل ﻣﻠﻒ HTMLﺑﺸﺮط ﺗﺤﻤﯿﻞ ﺑﺮﻧﺎﻣﺞ Appletﻋﻠﻰ اﻟﺨﺎدم )(Serverاﻟﻤﻮﺟﻮد ﻋﻠﯿﮫ ﻣﻠﻒ .HTMLﻓﯿﺘﻢ ﻋﺮض ھﺬا اﻟﺘﻄﺒﯿﻖ ﻣﻦ ﺧﻼل ﺻﻔﺤﺔ اﻻﻧﺘﺮﻧﺖ ﻋﻨﺪﻣﺎ ﯾﺴﺘﻌﺪي اﻟﻤﺴﺘﺨﺪم ھﺬه اﻟﺼﻔﺤﺔ. اﻟﮭﺪف ﻣﻦ اﻟﻤﺤﺎﺿﺮة اﻟﺜﺎﻧﯿﺔ : 49 – 1ﻣﻌﺮﻓﺔ اﻟﻄﻠﺒﺔ اﻟﺸﻜﻞ اﻟﻌﺎم ﻟﺒﺮﻧﺎﻣﺞ اﻟﺠﺎﻓﺎ اﻟﺸﻜﻞ اﻟﻌﺎم ﻟﺒﺮﻧﺎﻣﺞ اﻟﺠﺎﻓﺎ : اﻟﺒﺮﻧﺎﻣﺞ اﻵﺗﻲ ﯾﺒﯿﻦ اﻟﺸﻜﻞ اﻟﻌﺎم ﻟﺒﺮﻧﺎﻣﺞ اﻟﺠﺎﻓﺎ وﻻ ﯾﮭﻤﻨﺎ ھﻨﺎ ﻓﮭﻢ ﻛﻞ ﺟﺰﺋﯿﺔ ﻓﻲ اﻟﺒﺮﻧﺎﻣﺞ ﻓﮭﺬا ﺳﻮف ﯾﺘﻢ ﻓﻲ اﻟﺪروس اﻟﺘﺎﻟﯿﺔ : وﯾﻘﻮم ھﺬا اﻟﺒﺮﻧﺎﻣﺞ ﺑﻄﺒﺎﻋﺔ ﺟﻤﻠﺔ ).(Welcome to my Worldوﻋﻨﺪ ﺣﻔﻆ ھﺬا اﻟﺒﺮﻧﺎﻣﺞ ﻛﻤﺎ ﺳﻨﻌﺮف ﻻﺣﻘﺎ ﻻﺑﺪ وأن ﯾﺘﻢ ﺗﺴﻤﯿﺔ اﻟﻤﻠﻒ ﺑﺎﺳﻢ .Welcome.javaوﻛﺬﻟﻚ ﯾﺠﺐ ان ﻧﺮاﻋﻲ ﺟﯿﺪا أن ﻟﻐﺔ اﻟﺠﺎﻓﺎ ھﻲ ﻟﻐﺔ ﺣﺴﺎﺳﺔ ﺑﺎﻟﻨﺴﺒﺔ ﻟﻸﺣﺮف ﻓﻤﺜﻼ ﺣﺮف ) (Aﻻ ﯾﺴﺎوي ﺣﺮف )(a وﯾﻤﻜﻦ ﺗﻤﺜﯿﻞ اﻟﮭﯿﻜﻞ اﻟﺸﻜﻞ اﻟﻌﺎم ﻟﺒﺮﻧﺎﻣﺞ اﻟﺠﺎﻓﺎ ﻣﺜﺎل) ( 1اﻟﻤﻄﻠﻮب ﻋﻤﻞ ﺑﺮﻧﺎﻣﺠﺎ ﯾﻘﻮم ﺑﻄﺒﺎﻋﺔ اﻟﻌﺒﺎرة .Hello public class Hello { )public static void main (String [ ]s ﺑﺪاﯾﺔ و ﻧﮭﺎﯾﺔ اﻟﻜﻼس { ﺑﺪاﯾﺔ وﻧﮭﺎﯾﺔ ; )" System.out.print("Hello اﻟﻮظﯿﻔﺔ } } ﺷﺮح اﻟﺒﺮﻧﺎﻣﺞ 49 اﻟﺴﻄﺮ اﻷول وھﺬا ھﻮ اﻟﺴﻄﺮ اﻷول ﻓﻲ اﻟﺒﺮﻧﺎﻣﺞ وھﻮ ﯾﺘﻜﻮن ﻣﻦ: ) Publicاﻟﻔﺼﯿﻠﺔ ﻋﺎﻣﺔ ( اﺋﻤﺎ ﺗﺴﺒﻖ ﺗﻌﺮﯾﻒ اﻟﻔﺌﺔ أو اﻟﻔﺼﯿﻠﺔ Classوھﻲ ﺗﻌﻨﻲ أن ھﺬه اﻟﻔﺌﺔ أو أي ﯾﻤﻜﻦ ﻷي ﻓﺌﺔ أﺧﺮى ﻓﻲ اﻟﺒﺮﻧﺎﻣﺞ اﺳﺘﺨﺪام ﻋﻨﺎﺻﺮ ھﺬه اﻟﻔﺌﺔ .ﻷن ﺑﺮﻧﺎﻣﺞ اﻟﺠﺎﻓﺎ ﻗﺪ ﯾﺘﻜﻮن ﻣﻦ أﻛﺜﺮ ﻣﻦ ﻓﺌﺔ .class classوھﻨﺎ ﯾﺘﻢ ﺑﺪاﯾﺔ اﻟﻔﺼﯿﻠﺔ Helloاﺳﻢ اﻟﻔﺼﯿﻠﺔ) اﻟﺒﺮﻧﺎﻣﺞ ( وﻟﻘﺪ ﺗﻢ ﺗﺴﻤﯿﺘﮫ ھﻨﺎ ﺑﺎﻻﺳﻢ اﻟﺬي ﻧﺮﯾﺪه . وﻻﺑﺪ ھﻨﺎ أن ﻧﺸﯿﺮ إﻟﻰ ﻧﻘﻄﺔ ھﺎﻣﺔ ﺟﺪًا وھﻲ أﻧﮫ ﻋﻨﺪ ﺣﻔﻆ ﻣﻠﻒ اﻟﺠﺎﻓﺎ ﻻﺑﺪ أن ﯾﺘﻢ ﺣﻔﻈﮫ ﺑﻨﻔﺲ اﺳﻢ اﻟﻔﺼﯿﻠﺔ وﺑﻨﻔﺲ ﺷﻜﻞ اﻟﺤﺮوف واﻟﻤﺴﺎﻓﺎت وﻓﻲ ﻣﺜﺎﻟﻨﺎ ھﺬا ﺳﯿﻜﻮن اﻻﺳﻢ .Hello.java {ﻗﻮس ﺑﺪاﯾﺔ ﺗﻌﺮﯾﻒ اﻟﻔﺼﯿﻠﺔ . اﻟﺜﺎﻧﻲ اﻟﺴﻄﺮ أي أن اﻟﺪاﻟﺔ ﺑﻌﺪ ﺗﻨﻔﯿﺬ اﻟﺒﺮﻧﺎﻣﺞ ﻟﻦ ﺗﻌﻮد ﺑﺄي ﻗﯿﻢ. viod mainﻧﻘﻄﺔ اﻟﺒﺪاﯾﺔ ﻟﻮظﯿﻔﺔ اﻟﻔﺼﯿﻠﺔ . main method ) ] [ s (Stringاﻟﺠﻤﻠﺔ اﻟﻤﻮﺟﻮدة داﺧﻞ ﻗﻮﺳﻲ اﻟﺒﺪاﯾﺔ ﻟﻠﺪاﻟﺔ mainوھﻲ ] [ String sﺗﻌﻨﻲ ﻣﺼﻔﻮﻓﺔ ﻣﻦ اﻟﻨﻮع اﻟﺤﺮﻓﻲ وﺗﺴﻤﻰ sﻟﺘﺨﺰﯾﻦ ﺟﻤﻠﺔ اﻟﻄﺒﺎﻋﺔ ﻓﻲ اﻟﺒﺮﻧﺎﻣﺞ . وﻛﻤﺎ ﻗﻠﻨﺎ ﻣﻦ ﻗﺒﻞ أن ﻟﻐﺔ اﻟﺠﺎﻓﺎ ھﻲ ﻟﻐﺔ ﺣﺴﺎﺳﺔ ﻟﺤﺎﻟﺔ اﻷﺣﺮف ﻟﺬﻟﻚ ﯾﺠﺐ ﻣﻼﺣﻈﺔ أن ﺣﺮف Sﻓﻲ ﻛﻠﻤﺔ Stringﯾﺠﺐ أن ﯾﻜﻮن ﺣﺮﻓﺎً ﻛﺒﯿﺮاً ) (capital letterوإﻻ ﺳﯿﻌﻄﻰ اﻟﺒﺮﻧﺎﻣﺞ ﺧﻄﺄ ﻋﻨﺪ اﻟﺘﺮﺟﻤﺔ . اﻟﺴﻄﺮ اﻟﺜﺎﻟﺚ وھﺬا ھﻮ أﻣﺮ اﻟﻄﺒﺎﻋﺔ ﻓﻲ ﻟﻐﺔ اﻟﺠﺎﻓﺎ وﺳﻮف ﻧﺘﻨﺎوﻟﮫ ﺑﺎﻟﺘﻔﺼﯿﻞ ﻓﻲ اﻷﻣﺜﻠﺔ اﻟﻘﺎدﻣﺔ .وھﻨﺎ ﯾﺠﺐ أن ﻧﻼﺣﻆ أن ﺣﺮف Sﯾﺠﺐ أن ﯾﻜﻮن ﻛﺒﯿﺮ )(Capital letter ""Helloاﻟﻨﺺ اﻟﻤﺮاد طﺒﺎﻋﺘﮫ وﯾﺠﺐ أن ﯾﻮﺿﻊ ﺑﯿﻦ ﻋﻼﻣﺘﻲ ﺗﻨﺼﯿﺺ )" "( وﻗﻮﺳﯿﻦ, 49 ﻻﺑﺪ وأن ﺗﻨﺘﮭﻲ ﻛﻞ ﺟﻤﻠﺔ )ﺳﻄﺮ أوأﻣﺮ( ﺑﻌﻼﻣﺔ );( ﺑﻌﺪ ذﻟﻚ ﯾﺘﻢ إﻧﮭﺎء اﻟﺒﺮﻧﺎﻣﺞ ﺑﻘﻮﺳﻲ اﻟﻨﮭﺎﯾﺔ ﺣﯿﺚ ﯾﻤﺜﻞ اﻟﻘﻮس اﻷول ﻧﮭﺎﯾﺔ اﻟﻮظﯿﻔﺔ method اﻟﮭﺪف ﻣﻦ اﻟﻤﺤﺎﺿﺮة اﻟﺜﺎﻟﺜﺔ: – 1ﻣﻌﺮﻓﺔ اﻟﻄﻠﺒﺔ ﺑﺎﻟﺤﺮوف اﻟﻤﺴﺘﺨﺪﻣﺔ ﻓﻲ ﻟﻐﺔ اﻟﺠﺎﻓﺎ – 2ﻣﻌﺮﻓﺔ اﻟﻄﻠﺒﺔ ﺑﺎﻟﺜﻮاﺑﺖ واﻟﻤﺘﻐﯿﺮات ﻓﻲ ﻟﻐﺔ اﻟﺠﺎﻓﺎ 49 – 3ﻣﻌﺮﻓﺔ اﻟﻄﻠﺒﺔ ﺑﻘﻮاﻋﺪ ﺗﺴﻤﯿﺔ اﻟﻤﺘﻐﯿﺮات – 4اﻟﺘﻌﺮف ﻋﻠﻰ اﻟﻌﻤﻠﯿﺎت اﻟﺤﺴﺎﺑﯿﺔ واﻟﻤﻨﻄﻘﯿﺔ ﻓﻲ ﻟﻐﺔ اﻟﺠﺎﻓﺎ ﺗﺘﺄﻟﻒ ﺣﺮوف ﻟﻐﺔ اﻟﺠﺎﻓﺎ ﻣﻤﺎ ﯾﻠﻲ : أوﻻ :ﺣﺮوف ﻟﻐﺔ اﻟﺠﺎفا -1اﻟﺤﺮوف اﻷﺑﺠﺪﯾﺔ ) (Lettersوھﻲ اﻟﺤﺮوف اﻟﻜﺒﯿﺮة ) (Capital Lettersﻣﻦ Aإﻟﻰ Zوﻛﺬﻟﻚ اﻟﺤﺮوف اﻟﺼﻐﯿﺮة ) (Small Lettersﻣﻦ aإﻟﻰ .z -2اﻷرﻗﺎم اﻟﻌﺪدﯾﺔ ) (Digitsﻣﻦ 0إﻟﻰ .9 -3اﻟﺤﺮوف اﻟﺨﺎﺻﺔ ) (Special Charactersوھﻲ ﺗﻠﻚ اﻟﺤﺮوف اﻟﺘﻲ ﻟﯿﺴﺖ ﺑﺄﻋﺪاد أو ﺑﺤﺮوف أﺑﺠﺪﯾﺔ وﻟﻜﻨﮭﺎ ﺗﻜﻮن ﻋﻠﻰ ھﯿﺌﺔ رﻣﻮز ﻛﺎﻵﺗﻲ(+,-,/,//,,$,#,%,(),||,!,[],!=,,;,”,…..) : ﺛﺎﻧﯿﺎ اﻟﺜﻮاﺑﺖ واﻟﻤﺘﻐﯿﺮات:Constants & variables أوﻻ :اﻟﺜﻮاﺑﺖ :Constants وھﻰ ﻋﺒﺎرة ﻋﻦ ﻗﯿﻢ ﺛﺎﺑﺘﺔ ﯾﺮاد اﻻﺣﺘﻔﺎظ ﺑﮭﺎ طﻮال اﻟﺒﺮﻧﺎﻣﺞ وﻻﺗﺘﻐﯿﺮ ﻗﯿﻤﺘﮭﺎ أﺑﺪًا. وﺗﻨﻘﺴﻢ اﻟﺜﻮاﺑﺖ ﻓﻲ ﻟﻐﺔ اﻟﺠﺎﻓﺎ إﻟﻰ-: -1ﺛﻮاﺑﺖ ﻋﺪدﯾﺔ Numeric Constants -2ﺛﻮاﺑﺖ رﻣﺰﯾﺔ Non-numeric Constants -1اﻟﺜﻮاﺑﺖ اﻟﻌﺪدﯾﺔ: ﯾﻤﻜﻦ ﺗﻤﺜﯿﻞ اﻟﺜﻮاﺑﺖ اﻟﻌﺪدﯾﺔ ﻓﻲ ﻟﻐﺔ اﻟﺠﺎﻓﺎ ﻛﺎﻵﺗﻲ-: اﻟﺜﺎﺑﺖ اﻟﻌﺪدي اﻟﺤﻘﯿﻘﻲ Floating Constant -اﻟﺜﺎﺑﺖ اﻟﻌﺪدي اﻟﺼﺤﯿﺢ: integer ھﻮ ﻋﺪد ﻣﻜﻮن ﻣﻦ اﻷرﻗﺎم ﻣﻦ ) 0إﻟﻰ (9 o -ھﻮ ﻋﺒﺎرة ﻋﻦ ﻋﺪد ﻣﻜﻮن ﻣﻦ اﻷرﻗﺎم ﻣﻦ ) 0إﻟﻰ .(9 ﯾﺠﺐ أن ﯾﺤﺘﻮي ﻋﻠﻰ ﻓﺎﺻﻠﺔ ﻋﺸﺮﯾﺔ o -ﻻﯾﺤﺘﻮي ﻋﻠﻰ ﻓﺎﺻﻠﺔ ﻋﺸﺮﯾﺔ. ﯾﻤﻜﻦ أن ﯾﺤﻮي اﻹﺷﺎرة ) ( - ،+ o -ﯾﻤﻜﻦ أن ﯾﺤﻮى اﻹﺷﺎرة ) +أو .( - )(.. ،-67.99 ،10.55 ،421.5 ﻣﺜﺎل ﻣﺜﺎل ).(..........،-20 ،1000 ،12 ،0 ﺗﺼﻨﻒ اﻷﻋﺪاد اﻟﺼﺤﯿﺤﺔ ﻓﻲ ﻟﻐﺔ اﻟﺠﺎﻓﺎ ﺣﺴﺐ طﻮﻟﮭﺎ واﻟﺴﻌﺔ اﻟﺘﺨﺰﯾﻨﯿﺔ ﻟﮭﺎ ﻓﻲ اﻟﺬاﻛﺮةﻛﻤﺎ ﯾﻠﻲ-: -اﻟﺜﻮاﺑﺖ اﻟﺼﺤﯿﺤﺔ ) (40000 ،19679ﺗﺴﻤﻰ ﺛﻮاﺑﺖ ﺻﺤﯿﺤﺔ طﻮﯾﻠﺔ .long int -اﻟﺜﻮاﺑﺖ ) ( 55 ، 90 ،-16ﺗﺴﻤﻰ ﺛﻮاﺑﺖ ﺻﺤﯿﺤﺔ ﻗﺼﯿﺮة.short int -اﻟﺜﻮاﺑﺖ ) ( 967 ، 20000ﺗﺴﻤﻰ ﺛﻮاﺑﺖ ﺻﺤﯿﺤﺔ ﺑﺪون إﺷﺎرة.unsignedint -2اﻟﺜﻮاﺑﺖاﻟﺮﻣﺰﯾﺔ:Non-Numeric وھﻰ ﻋﺒﺎرة ﻋﻦ رﻣﻮز اﻟﻠﻐﺔ وﺗﺘﻜﻮن ﻣﻦ اﻟﺤﺮوف واﻷرﻗﺎم وﺗﻜﻮن ﺑﯿﻦ ﻋﻼﻣﺘﻲ ﺗﻨﺼﯿﺺ أو اﻗﺘﺒﺎس. 49 وﻣﻦ اﻷﻣﺜﻠﺔ ﻋﻠﻰ اﻟﺜﻮاﺑﺖ اﻟﺮﻣﺰﯾﺔ ﻣﺎ ﯾﻠﻲ-: )" ("name" - "Khaled" - "12345" - "30+40 وإذا أردﻧﺎ أن ﻧﻀﻊ ﻗﯿﻤﺔ ﺳﻮف ﺗﻈﻞ ﺛﺎﺑﺘﺔ داﺧﻞ اﻟﺒﺮﻧﺎﻣﺞ ﻓﻲ ﻣﻜﺎن ﻓﻲ اﻟﺬاﻛﺮة ﻓﺄﻧﻨﺎ ﻧﺴﺘﺨﺪم اﻟﻌﺒﺎرة finalﻟﻺﻋﻼن أن ھﺬه اﻟﻘﯿﻤﺔ ﺳﺘﻈﻞ ﺛﺎﺑﺘﺔ طﻮال ﺗﻨﻔﯿﺬ اﻟﺒﺮﻧﺎﻣﺞ ﻣﺜﻞ: ;finalint TABLE_SIZE = 41 ;final float PI = 3.14159 وﯾﺠﺐ ﻣﺮاﻋﺎة أن اﺳﻢ اﻟﺜﻮاﺑﺖ constantsﯾﻜﻮن ﺑﺎﻷﺣﺮف اﻟﻜﺒﯿﺮة ﻛﺎﻣﻼً و ﯾﻔﺼﻞ ﺑﯿﻦ اﻟﻜﻠﻤﺎت ﻛﻤﺎ ﯾﺘﻢ ﻓﻲ اﻟﻤﺘﻐﯿﺮات ﻣﻊ ﻣﻼﺣﻈﺔ أن اﻟﺜﻮاﺑﺖ ﯾﺘﻢ ﺗﻌﺮﯾﻔﮭﺎ ﻋﻠﻰ أﻧﮭﺎ .final ﻣﺜﺎل ﻷﺳﻤﺎء اﻟﺜﻮاﺑﺖ : LEFT EXIT_ON_CLOSE CENTER MY_NAME BOTTOM CLASS_VERSION TOP MATH_PI ﺛﺎﻧﯿﺎ :اﻟﻤﺘﻐﯿﺮات :Variables ھﻲ ﻋﺒﺎرة ﻋﻦ أﺳﻤﺎء ﺗﺤﺠﺰ ﻣﻮاﻗﻊ ﻓﻲ اﻟﺬاﻛﺮة ﺣﺘﻰ ﯾﺘﻤﻜﻦ اﻟﺒﺮﻧﺎﻣﺞ ﻣﻦ ﺗﺨﺰﯾﻦ اﻟﺒﯿﺎﻧﺎت ﻓﯿﮭﺎ. ھﻲ ﻋﺒﺎرة ﻋﻦ وﻋﺎء ﯾﻤﻜﻦ ﺗﺤﻤﯿﻠﮫ ﺑﻘﯿﻤﺔ وھﺬا اﻟﻮﻋﺎء ﯾﺘﻐﯿﺮ ﺣﺠﻤﮫ ﺣﺴﺐ اﻟﻘﯿﻤﺔ اﻟﺘﻲ ﺳﻮف ﺗﻮﺿﻊ ﻓﯿﮫ. ﻗﻮاﻋﺪ ﺗﺴﻤﯿﺔ اﻟﻤﺘﻐﯿﺮات: -ﯾﻤﻜﻦ أن ﯾﺒﺪأ اﻻﺳﻢ ﺑﺎﻟﺤﺮف أو اﻟﺸﺮطﺔ اﻟﺴﻔﻠﯿﺔ ) _ ( under scoreأو ﻋﻼﻣﺔ اﻟﺪوﻻر ) ($وﻟﻜﻦ ﻻ ﯾﻤﻜﻦ ﺑﺪء اﻟﺘﺴﻤﯿﺔ ﺑﺮﻗﻢ وﻟﻜﻦ ﯾﻤﻜﻦ أن ﻧﻀﻊ رﻗﻢ ﺑﻌﺪ اﻟﺤﺮف. -ﻻ ﯾﻤﻜﻦ ﺗﺴﻤﯿﺔ اﻟﻤﺘﻐﯿﺮ ﺑﺈﺣﺪى اﻟﻜﻠﻤﺎت اﻟﻤﺤﺠﻮزة ﻟﻠﻐﺔ اﻟﺠﺎﻓﺎ واﻟﺠﺪول ﺷﻜﻞ ) ( 1-6ﯾﺒﯿﻦ ھﺬه اﻟﻜﻠﻤﺎت . -اﺳﻢ اﻟﻤﺘﻐﯿﺮات variablesﯾﻜﻮن ﺑﺎﻷﺣﺮف اﻟﺼﻐﯿﺮة ﻟﻜﻞ اﻷﺣﺮف وﯾﻼﺣﻆ ﻋﺪم وﺟﻮد أﻗﻮاس. أﻧﻮاع اﻟﻤﺘﻐﯿﺮات 49 PrimitiveVariables – 1ﻣﺘﻐﯿﺮات أﺳﺎﺳﯿﺔ ب -ﻣﺘﻐﯿﺮات ﻋﺪدﯾﺔ. أ -ﻣﺘﻐﯿﺮات رﻣﺰﯾﺔ )ﺣﺮﻓﯿﺔ(. ReferenceVariables – 2ﻣﺘﻐﯿﺮات ﻣﺮﺟﻌﯿﺔ ﯾﺠﺐ اﻹﻋﻼن ﻋﻦ اﻟﻤﺘﻐﯿﺮ ﻗﺒﻞ اﺳﺘﺨﺪاﻣﮫ ﻛﻤﺎ ﯾﺠﻮز ﺗﻌﺮﯾﻒ اﻟﻤﺘﻐﯿﺮ وﺗﺨﺼﯿﺺ ﻗﯿﻤﺔ ﻟﮫ ﻓﻰ ﻧﻔﺲ اﻟﻮﻗﺖ ﻛﺎﻟﺘﺎﻟﻲ: أ -اﻟﻤﺘﻐﯿﺮات اﻟﺤﺮﻓﯿﺔ :Char وﺗﺘﻀﻤﻦ اﻟﺤﺮوف ﺑﻜﺎﻓﺔ أﺷﻜﺎﻟﮭﺎ واﻟﺮﻣﻮز واﻟﻔﺮاﻏﺎت )ﻣﺴﺎﻓﺔ ﻓﺎرﻏﺔ( ﻣﺜﻞ: ;char a,b ;'a= 'a ;char var1 ;' '=b ; ' '=var1 -1اﻟﻤﺘﻐﯿﺮات اﻟﻌﺪدﯾﺔ :Numeric Variables أ( اﻟﻤﺘﻐﯿﺮات اﻟﻌﺪدﯾﺔ اﻟﺼﺤﯿﺤﺔ :Integer ﺗﺘﻀﻤﻦ ﻗﯿﻢ ﻋﺪدﯾﺔ ﺻﺤﯿﺤﺔ ﯾﻤﻜﻦ أن ﺗﺄﺧﺬ ﻗﯿﻤﺔ ﺗﺼﻞ إﻟﻰ 32767وﺗﻜﺘﺐ ﻋﻠﻰ اﻟﺸﻜﻞ اﻟﺘﺎﻟﻲ: ;int a ;a=100 ;int value ; value=2*3 ب( اﻟﻤﺘﻐﯿﺮات اﻟﻌﺪدﯾﺔ اﻟﺤﻘﯿﻘﯿﺔ:Floating Point ﺗﺘﻀﻤﻦ ﺟﻤﯿﻊ اﻷﻋﺪاد اﻟﺤﻘﯿﻘﯿﺔ وﺗﻜﺘﺐ ﻋﻠﻰ اﻟﺸﻜﻞ اﻟﺘﺎﻟﻲ: ;float x ;x=5.2 float x= 5.2 ,float x= 5.2إﻻ أن اﻟﺤﺎﺳﺐ ﯾﻌﺘﺒﺮه ﻣﻦ وھﻨﺎ ﯾﺠﺐ ﻋﻠﯿﻨﺎ اﻻﻧﺘﺒﺎه ﻟﺠﻤﻠﺔ اﻹﻋﻼن واﻟﺘﺨﺼﯿﺺ اﻟﺴﺎﺑﻘﺔ اﻟﻨﻮع doubleأي ﯾﺤﺠﺰ ﻟﮫ ﻣﻜﺎن 64ﺑﺖ وﻟﻠﺘﻐﻠﺐ ﻋﻠﻰ اﻟﻤﺸﻜﻠﺔ اﻟﺴﺎﺑﻘﺔ ﯾﺘﻢ اﻹﻋﻼن واﻟﺘﺨﺼﯿﺺ ﻛﺎﻟﺘﺎﻟﻲ: float x= 5.2 f أي ﯾﺘﻢ وﺿﻊ ﺣﺮف ) (fﺑﻌﺪ اﻟﺮﻗﻢ ﻟﻜﻲ ﯾﺘﻢ ﺣﺠﺰ ﻣﻜﺎن ﻟﮫ ﻓﻲ اﻟﺬاﻛﺮة ﻣﻘﺪاره 32ﺑﺖ وﺑﺬﻟﻚ ﻧﻜﻮن ﻗﺪ وﻓﺮﻧﺎ ﻓﻲ اﻟﺬاﻛﺮة اﻟﻤﺴﺘﺨﺪﻣﺔ. ج( اﻟﻤﺘﻐﯿﺮات اﻟﻌﺪدﯾﺔ اﻟﺤﻘﯿﻘﺔ اﻟﻄﻮﯾﻠﺔ :Double 49 ھﻲ ﻧﻔﺲ اﻟﻤﺘﻐﯿﺮات اﻟﻌﺪدﯾﺔ اﻟﺤﻘﯿﻘﺔ وﻟﻜﻦ ﯾﻤﻜﻦ ﺗﻤﺜﯿﻠﮭﺎ ﻓﻲ ﺧﻤﺴﺔ ﻋﺸﺮة ﺧﺎﻧﺔ وﺗﻜﺘﺐ ﻋﻠﻰ اﻟﺸﻜﻞ اﻟﺘﺎﻟﻲ: ;double x ﺗﻄﺒﯿﻘﺎت ﻋﻠﻰ ﻗﻮاﻋﺪ ﺗﺴﻤﯿﺔ اﻟﻤﺘﻐﯿﺮات أﻧﻮاع اﻟﺒﯿﺎﻧﺎت واﻟﻤﺘﻐﯿﺮات ﻓﻲ ﻟﻐﺔ اﻟﺠﺎﻓﺎ أﺣﺠﺎم اﻟﺒﯿﺎﻧﺎت ﻓﻲ اﻟﺬاﻛﺮة اﻟﻌﻤﻠﯿﺎت اﻟﺤﺴﺎﺑﯿﺔ واﻟﻤﻨﻄﻘﯿﺔ ﻓﻲ ﻟﻐﺔ اﻟﺠﺎﻓﺎ :اﻟﺠﺪول ﺷﻜﻞ) (1-9اﻟﺘﺎﻟﻲ ﯾﺒﯿﻦ ذﻟﻚ : 49 :واﻟﺠﺪول اﻟﺘﺎﻟﻲ ﯾﺒﯿﻦ اﻟﻌﻤﻠﯿﺎت اﻟﻤﻨﻄﻘﯿﺔ.وھﺬه اﻟﻤﻌﺎﻣﻼت ﻗﺪ ﺗﻤﺖ دراﺳﺘﮭﺎ ﺑﺎﺳﺘﻔﺎﺿﺔ ﻓﻲ ﻣﻨﮭﺞ اﻟﺼﻒ اﻟﺜﺎﻧﻲ أي. اﻟﻜﻠﻤﺎت اﻟﻤﺤﺠﻮزة ﻓﻲ ﻟﻐﺔ اﻟﺠﺎﻓﺎ وﻻﯾﺠﻮز اﺳﺘﺨﺪاﻣﮭﺎ ﻓﻲ ﻏﯿﺮ ذﻟﻚ ﻛﺄﺳﻤﺎء ﻟﻤﺘﻐﯿﺮات ﻣﺜﻼ وﻟﺬﻟﻚ ﻓﮭﻲ ﻣﺤﺠﻮزة ﻟﻤﻔﺮدات اﻟﻠﻐﺔ ﻓﻘﻂ أﻧﮭﺎ ھﻲ اﻟﻜﻠﻤﺎت واﻷواﻣﺮ اﻟﺘﻲ ﺗﻌﺒﺮ وﺗﺴﺘﺨﺪم ﻓﻲ ﻟﻐﺔ اﻟﺠﺎﻓﺎ اﻟﻜﻠﻤﺎت اﻟﻤﺤﺠﻮزة ﻓﻲ اﻟﻠﻐﺔ abstract finally Public boolean float Return break for Short byte if Static Case implements Super Catch import Switch Char instanceof Synchronized Class int This Continue interface Throw Default long Throws Do native Transient Double new True Else null Try Extends package Void False private Volatile Final protected While 49 اﻟﮭﺪف ﻣﻦ اﻟﻤﺤﺎﺿﺮة اﻟﺮاﺑﻌﺔ : – 1ﻣﻌﺮﻓﺔ اﻟﻄﻠﺒﺔﺑﺪاﻟﺔ اﻹﺧﺮاج ﻓﻲ ﻟﻐﺔ اﻟﺠﺎﻓﺎ – 2ﺗﺪرﯾﺐ اﻟﻄﻠﺒﺔ ﻋﻠﻰ اﺳﺘﺨﺪام داﻟﺔ اﻹﺧﺮاج ﻣﻦ ﺧﻼل ﺑﺮاﻣﺞ وأﻣﺜﻠﺔ داﻟﺔ اﻹﺧﺮاج ﻓﻲ ﻟﻐﺔ اﻟﺠﺎﻓﺎ: System.out.print وھﻲ ﻣﻦ اﻟﺪوال اﻟﮭﺎﻣﺔ ﻓﻲ ﻟﻐﺔ اﻟﺠﺎﻓﺎ وھﻲ ﺗﻘﻮم ﺑﻄﺒﺎﻋﺔ اﻟﻤﺨﺮﺟﺎت ﺳﻮاء ﻛﺎﻧﺖ ﻋﺪدﯾﺔ أو ﺣﺮﻓﯿﺔ . وﻟﺘﻮﺿﯿﺢ ﻋﻤﻞ ھﺬه اﻟﺪاﻟﺔ ﺳﻮف ﯾﺘﻢ دراﺳﺔ ﺑﻌﺾ اﻷﻣﺜﻠﺔ : ﻣﺜﺎل) ( 1اﻟﻤﻄﻠﻮب ﻋﻤﻞ ﺑﺮﻧﺎﻣﺠﺎ ﯾﻘﻮم ﺑﻄﺒﺎﻋﺔ اﻟﻌﺒﺎرة .Hello public class Hello { ﺑﺪاﯾﺔ و ﻧﮭﺎﯾﺔ اﻟﻜﻼس )public static void main (String [ ]s { ﺑﺪاﯾﺔ وﻧﮭﺎﯾﺔ ; )" System.out.print("Hello اﻟﻮظﯿﻔﺔ } } ﺷﺮح اﻟﺒﺮﻧﺎﻣﺞ اﻟﺴﻄﺮ اﻷول وھﺬا ھﻮ اﻟﺴﻄﺮ اﻷول ﻓﻲ اﻟﺒﺮﻧﺎﻣﺞ وھﻮ ﯾﺘﻜﻮن ﻣﻦ: ) Publicاﻟﻔﺼﯿﻠﺔ ﻋﺎﻣﺔ ( اﺋﻤﺎ ﺗﺴﺒﻖ ﺗﻌﺮﯾﻒ اﻟﻔﺌﺔ أو اﻟﻔﺼﯿﻠﺔ Classوھﻲ ﺗﻌﻨﻲ أن ھﺬه اﻟﻔﺌﺔ أو أي ﯾﻤﻜﻦ ﻷي ﻓﺌﺔ أﺧﺮى ﻓﻲ اﻟﺒﺮﻧﺎﻣﺞ اﺳﺘﺨﺪام ﻋﻨﺎﺻﺮ ھﺬه اﻟﻔﺌﺔ .ﻷن ﺑﺮﻧﺎﻣﺞ اﻟﺠﺎﻓﺎ ﻗﺪ ﯾﺘﻜﻮن ﻣﻦ أﻛﺜﺮ ﻣﻦ ﻓﺌﺔ .class classوھﻨﺎ ﯾﺘﻢ ﺑﺪاﯾﺔ اﻟﻔﺼﯿﻠﺔ Helloاﺳﻢ اﻟﻔﺼﯿﻠﺔ) اﻟﺒﺮﻧﺎﻣﺞ ( وﻟﻘﺪ ﺗﻢ ﺗﺴﻤﯿﺘﮫ ھﻨﺎ ﺑﺎﻻﺳﻢ اﻟﺬي ﻧﺮﯾﺪه . وﻻﺑﺪ ھﻨﺎ أن ﻧﺸﯿﺮ إﻟﻰ ﻧﻘﻄﺔ ھﺎﻣﺔ ﺟﺪًا وھﻲ أﻧﮫ ﻋﻨﺪ ﺣﻔﻆ ﻣﻠﻒ اﻟﺠﺎﻓﺎ ﻻﺑﺪ أن ﯾﺘﻢ ﺣﻔﻈﮫ ﺑﻨﻔﺲ اﺳﻢ اﻟﻔﺼﯿﻠﺔ وﺑﻨﻔﺲ ﺷﻜﻞ اﻟﺤﺮوف واﻟﻤﺴﺎﻓﺎت وﻓﻲ ﻣﺜﺎﻟﻨﺎ ھﺬا ﺳﯿﻜﻮن اﻻﺳﻢ .Hello.java {ﻗﻮس ﺑﺪاﯾﺔ ﺗﻌﺮﯾﻒ اﻟﻔﺼﯿﻠﺔ . اﻟﺴﻄﺮ اﻟﺜﺎﻧﻲ 49 أي أن اﻟﺪاﻟﺔ ﺑﻌﺪ ﺗﻨﻔﯿﺬ اﻟﺒﺮﻧﺎﻣﺞ ﻟﻦ ﺗﻌﻮد ﺑﺄي ﻗﯿﻢ. viod mainﻧﻘﻄﺔ اﻟﺒﺪاﯾﺔ ﻟﻮظﯿﻔﺔ اﻟﻔﺼﯿﻠﺔ . main method ) ] [ s (Stringاﻟﺠﻤﻠﺔ اﻟﻤﻮﺟﻮدة داﺧﻞ ﻗﻮﺳﻲ اﻟﺒﺪاﯾﺔ ﻟﻠﺪاﻟﺔ mainوھﻲ ] [ String sﺗﻌﻨﻲ ﻣﺼﻔﻮﻓﺔ ﻣﻦ اﻟﻨﻮع اﻟﺤﺮﻓﻲ وﺗﺴﻤﻰ sﻟﺘﺨﺰﯾﻦ ﺟﻤﻠﺔ اﻟﻄﺒﺎﻋﺔ ﻓﻲ اﻟﺒﺮﻧﺎﻣﺞ . وﻛﻤﺎ ﻗﻠﻨﺎ ﻣﻦ ﻗﺒﻞ أن ﻟﻐﺔ اﻟﺠﺎﻓﺎ ھﻲ ﻟﻐﺔ ﺣﺴﺎﺳﺔ ﻟﺤﺎﻟﺔ اﻷﺣﺮف ﻟﺬﻟﻚ ﯾﺠﺐ ﻣﻼﺣﻈﺔ أن ﺣﺮف Sﻓﻲ ﻛﻠﻤﺔ Stringﯾﺠﺐ أن ﯾﻜﻮن ﺣﺮﻓﺎً ﻛﺒﯿﺮاً ) (capital letterوإﻻ ﺳﯿﻌﻄﻰ اﻟﺒﺮﻧﺎﻣﺞ ﺧﻄﺄ ﻋﻨﺪ اﻟﺘﺮﺟﻤﺔ . اﻟﺴﻄﺮ اﻟﺜﺎﻟﺚ وھﺬا ھﻮ أﻣﺮ اﻟﻄﺒﺎﻋﺔ ﻓﻲ ﻟﻐﺔ اﻟﺠﺎﻓﺎ وﺳﻮف ﻧﺘﻨﺎوﻟﮫ ﺑﺎﻟﺘﻔﺼﯿﻞ ﻓﻲ اﻷﻣﺜﻠﺔ اﻟﻘﺎدﻣﺔ . وھﻨﺎ ﯾﺠﺐ أن ﻧﻼﺣﻆ أن ﺣﺮف Sﯾﺠﺐ أن ﯾﻜﻮن ﻛﺒﯿﺮ )(Capital letter " "Helloاﻟﻨﺺ اﻟﻤﺮاد طﺒﺎﻋﺘﮫ وﯾﺠﺐ أن ﯾﻮﺿﻊ ﺑﯿﻦ ﻋﻼﻣﺘﻲ ﺗﻨﺼﯿﺺ )" "( وﻗﻮﺳﯿﻦ ﻻﺑﺪ وأن ﺗﻨﺘﮭﻲ ﻛﻞ ﺟﻤﻠﺔ )ﺳﻄﺮ أوأﻣﺮ( ﺑﻌﻼﻣﺔ );( ﺑﻌﺪ ذﻟﻚ ﯾﺘﻢ إﻧﮭﺎء اﻟﺒﺮﻧﺎﻣﺞ ﺑﻘﻮﺳﻲ اﻟﻨﮭﺎﯾﺔ ﺣﯿﺚ ﯾﻤﺜﻞ اﻟﻘﻮس اﻷول ﻧﮭﺎﯾﺔ اﻟﻮظﯿﻔﺔ method ﻟﻠﺪاﻟﺔ mainواﻟﻘﻮس اﻵﺧﺮ ﯾﻤﺜﻞ ﻧﮭﺎﯾﺔ اﻟﻔﺼﯿﻠﺔ . classواﻟﺸﻜﻞ اﻵﺗﻲ ﯾﺒﯿﻦ ذﻟﻚ : ﺧﻄﻮات ﺗﻨﻔﯿﺬ اﻟﺒﺮﻧﺎﻣﺞ -1ﻧﺠﺮي ﻟﮫ ﻋﻤﻠﯿﺔ ﺗﺮﺟﻤﺔ ﻛﺎﻵﺗﻲ: Javac Hello.java إذا ﻟﻢ ﯾﻜﻦ ھﻨﺎك أﺧﻄﺎء ﻻ ﺗﻈﮭﺮ أي رﺳﺎﻟﺔ وﻣﻌﻨﻰ ذﻟﻚ أن اﻟﺒﺮﻧﺎﻣﺞ ﺻﺤﯿﺢ ﻟﻐﻮﯾﺎ وھﻨﺎ ﯾﺘﻢ ﻋﻤﻞ )إﻧﺸﺎء ( ﻣﻠﻒ ﻛﻼس أي . Hello.class -2ﺑﻌﺪ ذﻟﻚ ﻧﻘﻮم ﺑﻌﻤﻠﯿﺔ ﺗﺸﻐﯿﻞ اﻟﺒﺮﻧﺎﻣﺞ ﻛﺎﻵﺗﻲ: 49 Java Hello ﻓﺘﻈﮭﺮ ﻋﻠﻰ اﻟﺸﺎﺷﺔ ﻋﺒﺎرة Hello وﺑﺬﻟﻚ ﯾﻜﻮن ﻗﺪ ﺗﻢ ﺗﻨﻔﯿﺬ اﻟﺒﺮﻧﺎﻣﺞ. وﻛﻤﺎ ھﻮ ﻣﻌﺮوف ﻓﺄن ﺧﻄﻮات ﻛﺘﺎﺑﺔ وﺗﻨﻔﯿﺬ أي ﺑﺮﻧﺎﻣﺞ ﯾﻤﻜﻦ أن ﺗﻜﻮن ﻛﻤﺎ ﺑﺎﻟﺸﻜﻞ )(1-12 وﯾﻤﻜﻦ إﺿﺎﻓﺔ ﻣﺘﺴﻠﺴﻼت اﻟﮭﺮوب ﻣﻊ ﺟﻤﻠﺔ اﻟﻄﺒﺎﻋﺔ ﻟﻠﺤﺼﻮل ﻋﻠﻰ ﻋﺪة أﺷﻜﺎل ﻣﻦ اﻟﻤﺨﺮﺟﺎت أﻣﺜﻠﺔ ﻋﻠﻰ ﺟﻤﻠﺔ اﻟﻄﺒﺎﻋﺔ ﻣﺜﺎل) :( 2ﻣﺎھﻲ ﻣﺨﺮﺟﺎت اﻟﺒﺮﻧﺎﻣﺞ اﻟﺘﺎﻟﻲ : {public class Welcome 49 { )] [public static void main (String s ; )"System.out.print("Welcome to ; )"System.out.print("Libya } } ﻧﻼﺣﻆ أﻧﮫ ﻋﻨﺪ ﺗﻨﻔﯿﺬ ھﺬا اﻟﺒﺮﻧﺎﻣﺞ ﺳﺘﻈﮭﺮ اﻟﻌﺒﺎرة ) (Welcome to Libyaﻋﻠﻰ ﺳﻄﺮ واﺣﺪ وذﻟﻚ ﺗﺒﻌﺎ ﻟﻌﺒﺎرﺗﻲ اﻟﻄﺒﺎﻋﺔ ﻓﻲ اﻟﺴﻄﺮ )(4،3 أﻣﺎ إذا أردﻧﺎ أن ﺗﻜﻮن اﻟﻤﺨﺮﺟﺎت ﻋﻠﻰ ﺳﻄﺮﯾﻦ ﻣﺨﺘﻠﻔﯿﻦ ﻓﯿﺘﻢ إﺿﺎﻓﺔ ﺣﺮﻓﻲ ) (lnﻋﻠﻰ اﻟﻌﺒﺎرة printوﻣﻌﻨﺎھﺎ اﻻﻧﺘﻘﺎل إﻟﻰ ﺳﻄﺮ ﺟﺪﯾﺪ ) (new lineوﯾﺘﻢ ذﻟﻚ ﻓﻲ اﻟﺴﻄﺮ اﻟﺜﺎﻟﺚ ﻛﺎﻵﺗﻲ : ; )"System.out.println ("Welcome to ; )" System.out.print("Libya Welcome to ﻓﺘﻜﻮن ﻣﺨﺮﺟﺎت اﻟﺒﺮﻧﺎﻣﺞ ﻛﺎﻟﺘﺎﻟﻲ: Libya وﯾﻤﻜﻦ ﺗﻨﻔﯿﺬ ﻧﻔﺲ ﺷﻜﻞ اﻟﻤﺨﺮﺟﺎت اﻟﺴﺎﺑﻘﺔ ﺑﺴﻄﺮ واﺣﺪ وذﻟﻚ ﻋﻦ طﺮﯾﻖ إﺿﺎﻓﺔ ) (\nوﺗﻌﻨﻲ اﻻﻧﺘﻘﺎل إﻟﻰ ﺳﻄﺮ ﺟﺪﯾﺪ وﯾﻜﻮن ﺷﻜﻞ اﻟﺒﺮﻧﺎﻣﺞ ﻛﺎﻟﺘﺎﻟﻲ : ; )" System.out.print("Welcome to\n Libya ﻓﺘﻜﻮن ﺷﻜﻞ اﻟﻤﺨﺮﺟﺎت ﻛﺎﻟﺸﻜﻞ اﻟﺴﺎﺑﻖ: Welcome to Libya وﻓﻲ ھﺬه اﻟﺤﺎﻟﺔ ﯾﺘﻢ إﻟﻐﺎء اﻟﺴﻄﺮ رﻗﻢ )(4 49 أﻣﺎ اذا أردﻧﺎ طﺒﺎﻋﺔ ﻋﺪة أﺳﻄﺮ ﻣﺘﺘﺎﻟﯿﺔ ﺑﺄﻣﺮ طﺒﺎﻋﺔ واﺣﺪ ﻓﯿﺘﻢ ذﻟﻚ ﺑﺘﻜﺮار ) (\nﻛﺎﻟﺘﺎﻟﻲ: ; )"System.out.print("One\n Two \n Three \n Four One ﻓﺘﻜﻮن اﻟﻤﺨﺮﺟﺎت ﻛﺎﻟﺘﺎﻟﻲ: Two Three Four أﻣﺎ اذا أردﻧﺎ أن ﺗﻜﻮن اﻟﻤﺨﺮﺟﺎت ﻋﻠﻰ ﻣﺴﺎﻓﺎت أﻓﻘﯿﺔ ﻣﺘﺴﺎوﯾﺔ ﻓﺄﻧﻨﺎ ﻧﺴﺘﺨﺪم ) (\tﻛﺎﻟﺘﺎﻟﻲ: System.out.print("One\tTwo \t Three \t ; )"Four وﺗﻜﻮن اﻟﻤﺨﺮﺟﺎت ﻛﺎﻟﺘﺎﻟﻲ: One Two Three Four ﻣﺜﺎل ) :(3أﻛﺘﺐ ﺑﺮﻧﺎﻣﺞ ﯾﻘﻮم ﺑﺠﻤﻊ اﻟﻌﺪدﯾﻦ )(5+16 وﯾﺘﻢ ذﻟﻚ ﺑﻜﺘﺎﺑﺔ اﻷرﻗﺎم اﻟﻤﺮاد ﺟﻤﻌﮭﺎ داﺧﻞ أﻗﻮاس ﺟﻤﻠﺔ printوﻟﻜﻦ ﻣﻦ دون ﻋﻼﻣﺘﻲ ﺗﻨﺼﯿﺺ ﻷن ﻋﻼﻣﺘﻲ اﻟﺘﻨﺼﯿﺺ ﺗﻜﻮن داﺋﻤﺎ ﻟﻄﺒﺎﻋﺔ اﻟﺤﺮوف وﺣﺘﻰ اذا ﺗﻢ ﻛﺘﺎﺑﺔ ارﻗﺎم داﺧﻞ ﻋﻼﻣﺘﻲ اﻟﺘﻨﺼﯿﺺ ﻓﺄﻧﮭﺎ ﺗﻌﺎﻣﻞ ﻣﻌﺎﻣﻠﺔ اﻟﺤﺮوف أي ﻻ ﯾﻤﻜﻦ اﺟﺮاء أي ﻋﻤﻠﯿﺎت ﺣﺴﺎﺑﯿﺔ ﻋﻠﯿﮭﺎ . وﯾﻜﻮن ﺷﻜﻞ ﻋﺒﺎرة printﻛﺎﻟﺘﺎﻟﻲ: ; )System.out.print(5+16 وﯾﻜﻮن اﻟﻨﺎﺗﺞ ). (21 1-2-5اﻟﺘﻌﻠﯿﻘﺎت Comment 49 إن أي ﻣﺒﺮﻣﺞ ﯾﺤﺘﺎج ﻓﻲ ﺑﻌﺾ اﻷﺣﯿﺎن إﻟ ﺈﺿﺎﻓﺔ ﺑﻌﺾ اﻟﺘﻌﻠﯿﻘﺎت واﻟﻤﻼﺣﻈﺎت اﻟﺨﺎﺻﺔ ﺑﮫ و اﻟﺘﻲ ﻻ ﯾﺘﻢ ﺗﻨﻔﯿﺬھﺎ ﻓﻲ اﻟﺒﺮﻧﺎﻣﺞ وﻟﻜﻦ ﻓﻘﻂ ﺗﺬﻛﺮه ﺑﺎﻟﻐﺮض ﻣﻦ اﻷواﻣﺮ اﻟﺘﻲ ﯾﻘﻮم ﺑﻜﺘﺎﺑﺘﮭﺎ . وﯾﻤﻜﻦ ﺗﻌﺮﯾﻒ اﻟﺘﻌﻠﯿﻘﺎت ﻛﺎﻵﺗﻲ : أﻧﮭﺎ اﻷﺳﻄﺮ اﻟﺘﻲ ﯾﺘﺠﺎھﻠﮭﺎ ﻣﺘﺮﺟﻢ اﻟﺠﺎﻓﺎ ،و ﻟﻜﻨﮭﺎ ﺗﺠﻌﻞ اﻟﺒﺮﻧﺎﻣﺞ أﺳﮭﻞ ﻗﺮاءة ﻟﻠﻤﺒﺮﻣﺞ ﻧﻔﺴﮫ. ﺑﻌﺒﺎرة أﺧﺮى،أﻧﮭﺎ ﻣﺠﻤﻮﻋﺔ اﻟﻤﻼﺣﻈﺎت اﻟﺘﻲ ﯾﻀﻌﮭﺎ اﻟﻤﺒﺮﻣﺞ ﻓﻲ ﺑﺮﻧﺎﻣﺠﮫ ﻟﺘﺴﮭﯿﻞ ﻗﺮاءﺗﮫ. واﻟﺘﻌﻠﯿﻘﺎت ﻓﻲ اﻟﺠﺎﻓﺎ ھﻲ ﻧﻔﺴﮭﺎ اﻟﺘﻌﻠﯿﻘﺎت اﻟﻤﻮﺟﻮدة ﻓﻲ ﻟﻐﺔ C++ﻛﻤﺎ ﺳﺒﻖ دراﺳﺘﮫ . وﻣﻦ أﻧﻮاع اﻟﺘﻌﻠﯿﻘﺎت ﻓﻲ اﻟﺠﺎﻓﺎ : -1اﻟﺘﻌﻠﯿﻖ ﺑﺴﻄﺮ واﺣﺪ وﯾﻜﻮن ھﺬا اﻟﺴﻄﺮ ﻣﺴﺒﻮﻗﺎ ﺑﻌﻼﻣﺘﻲ ) (//ﻛﺎﻵﺗﻲ : أو ﯾﻤﻜﻦ ﻛﺘﺎﺑﺔ اﻟﺘﻌﻠﯿﻘﺎت ﺑﺠﺎﻧﺐ أﺳﻄﺮ اﻟﺒﺮﻧﺎﻣﺞ ﻛﻤﺎ ﯾﻠﻲ : -2اﻟﺘﻌﻠﯿﻖ ﺑﻌﺪة أﺳﻄﺮ وﻓﻲ ھﺬه اﻟﺤﺎﻟﺔ ﯾﻤﻜﻦ ﻛﺘﺎﺑﺔ ﺗﻌﻠﯿﻖ ﻣﻜﻮن ﻣﻦ ﻋﺪة أﺳﻄﺮ ﻛﻤﺎ ﯾﻠﻲ: وﯾﻜﻮن اﻟﺘﻌﻠﯿﻖ ﺑﯿﻦ ﻋﻼﻣﺘﻲ ) */اﻟﺘﻌﻠﯿﻖ *(/ ﻣﺜﺎل ) :( 4أﻛﺘﺐ ﺑﺮﻧﺎﻣﺞ ﯾﻘﻮم ﺑﺠﻤﻊ ﻋﺪدﯾﻦ أﺣﺪھﻤﺎ ﺻﺤﯿﺢ واﻵﺧﺮ ﺣﻘﯿﻘﻲ. 49 وﯾﻼﺣﻆ ﻓﻲ اﻟﺴﻄﺮ اﻷﺧﯿﺮ ﻟﻠﺒﺮﻧﺎﻣﺞ أﻧﮫ ﺗﻢ ﻛﺘﺎﺑﺔ ). (+Cوذﻟﻚ ﻟﻄﺒﺎﻋﺔ ﻣﺤﺘﻮﯾﺎت اﻟﻤﺨﺰن ) (Cأﻣﺎم ﻋﻼﻣﺔ )=( وﻋﻨﺪ ﺗﻨﻔﯿﺬ اﻟﺒﺮﻧﺎﻣﺞ ﺳﻮف ﺗﻜﻮن اﻟﻤﺨﺮﺟﺎت ﻛﺎﻟﺘﺎﻟﻲ: The Result = 27 اﻟﮭﺪف ﻣﻦ اﻟﻤﺤﺎﺿﺮة اﻟﺨﺎﻣﺴﺔ : .1أﻣﺜﻠﺔ ﺗﻄﺒﯿﻘﯿﺔ ﻋﻦ ﻛﻞ ﻣﺎ ﺳﺒﻖ. 49 .2اﻟﺘﻌﺮف ﻋﻠﻰ داﻟﺔ اﻹدﺧﺎل . Input ﻣﺜﺎل ) ( 5ﻣﺎ ھﻮ ﻧﺎﺗﺞ ﻣﺨﺮﺟﺎت اﻟﺒﺮﻧﺎﻣﺞ اﻟﺘﺎﻟﻲ: ﻓﻲ ھﺬا اﻟﻤﺜﺎل ﺗﻢ اﺳﺘﺨﺪام ﻋﺪة أﺷﯿﺎء ﻣﻨﮭﺎ : اﻟﻄﺮق اﻟﻤﺨﺘﻠﻔﺔ ﻟﻺﻋﻼن ﻋﻦ اﻟﻤﺘﻐﯿﺮات. اﻟﻌﻤﻠﯿﺎت اﻟﺤﺴﺎﺑﯿﺔ اﻟﻤﺨﺘﻠﻔﺔ. ﺟﻤﻠﺔ اﻟﻄﺒﺎﻋﺔ وﺗﻜﻮن ﻣﺨﺮﺟﺎت اﻟﺒﺮﻧﺎﻣﺞ ﻋﻠﻰ اﻟﺸﻜﻞ اﻟﺘﺎﻟﻲ: a + b = 19 a - b =11 a * b = 06 a/b =3 اﻟﺘﺎﻟﻲ=a %b: ﻣﺜﺎل ) ( 6ﻣﺎھﻲ ﻣﺨﺮﺟﺎت اﻟﺒﺮﻧﺎﻣﺞ 3 ھﺬا اﻟﺒﺮﻧﺎﻣﺞ ﺗﻄﺒﯿﻖ ﻋﻠﻰ اﻟﻤﺆﺛﺮات اﻷﺣﺎدﯾﺔ 49 وﺗﻜﻮن ﻣﺨﺮﺟﺎت اﻟﺒﺮﻧﺎﻣﺞ ﻋﻠﻰ اﻟﺸﻜﻞ: A=15 B=18 ﻣﺜﺎل ) (7ﻣﺎھﻲ ﻣﺨﺮﺟﺎت اﻟﺒﺮﻧﺎﻣﺞ اﻟﺘﺎﻟﻲ : وﻧﻼﺣﻆ ﻓﻲ ھﺬا اﻟﻤﺜﺎل أن ﻗﯿﻤﺔ x1ﻻزاﻟﺖ ﺗﺴﺎوي 10وﻻﯾﺘﻢ إﻧﻘﺎص اﻟﻮاﺣﺪ ﻣﻨﮭﺎ إﻻ ﺑﻌﺪ اﻟﺨﺮوج ﻣﻦ ھﺬه اﻟﺨﻄﻮة وﺗﺼﺒﺢ ﻗﯿﻤﺔ zاﻟﺠﺪﯾﺪة z=9 X1=10 وﯾﻜﻮن ﻧﺎﺗﺞ ﺧﺮج اﻟﺒﺮﻧﺎﻣﺞ ﻛﺎﻟﺘﺎﻟﻲ: X2=8 1-2-6داﻟﺔ اﻹدﺧﺎل :Input 49 ﺑﻄﺒﯿﻌﺔ اﻟﺤﺎل ﻻ ﯾﺨﻠﻮ أي ﺑﺮﻧﺎﻣﺞ ذو ﻓﺎﺋﺪة ﻣﻦ ﺟﻤﻠﺔ اﻹدﺧﺎل ,ﻓﮭﻲ اﻟﺠﻤﻠﺔ اﻟﺘﻲ ﺗﺮﺑﻂ اﻟﺒﺮﻧﺎﻣﺞ ﺑﺎﻟﻌﺎﻟﻢ اﻟﺨﺎرﺟﻲ وھﻲ اﻟﻮﺳﯿﻠﺔ اﻟﻮﺣﯿﺪة اﻟﺘﻲ ﯾﺴﺘﻄﯿﻊ ﻓﯿﮭﺎ اﻟﻤﺴﺘﺨﺪم إدﺧﺎل اﻟﻘﯿﻢ ﻋﻦ طﺮﯾﻖ ﻟﻮﺣﺔ اﻟﻤﻔﺎﺗﯿﺢ ﻟﻠﺤﺎﺳﺐ ,ﺣﺘﻰ ﯾﻘﻮم ﺑﻤﻌﺎﻟﺠﺔ ھﺬه اﻟﻘﯿﻢ ﺳﻮاء ﻛﺎن اﻟﺒﺮﻧﺎﻣﺞ )ﺑﺮﻧﺎﻣﺞ ﺣﺴﺎﺑﺎت – ﻗﺎﻋﺪة ﺑﯿﺎﻧﺎت . (...... واﻟﺤﻘﯿﻘﺔ أن ﻟﻐﺔ اﻟﺠﺎﻓﺎ ﺗﺤﺘﻮي ﻋﻠﻰ أﻛﺜﺮ ﻣﻦ طﺮﯾﻘﺔ ﻹدﺧﺎل اﻟﺒﯿﺎﻧﺎت ﻣﻨﮭﺎ ﻣﺎ ھﻮ ﻣﻨﺎﺳﺐ ﻟﺘﻄﺒﯿﻘﺎت اﻟﻮﯾﻨﺪوز وﻣﻨﮭﺎ ﻣﺎ ھﻮ ﻣﻨﺎﺳﺐ ﻟﺒﺮاﻣﺞ اﻟﺪوس ) (Console Applicationوھﻲ اﻟﺒﯿﺌﺔ اﻟﺘﻲ ﺳﯿﺘﻢ ﺗﻨﻔﯿﺬ ﺑﺮاﻣﺠﻨﺎ ﻣﻦ ﺧﻼﻟﮭﺎ ﻓﻲ ھﺬا اﻟﻤﻨﮭﺞ . وﻋﺒﺎرة اﻹدﺧﺎل اﻟﺘﻲ ﺳﻮف ﻧﺴﺘﺨﺪﻣﮭﺎ ھﻨﺎ ھﻲ اﻟﻌﺒﺎرة ) (Scannerوھﻲ ﻋﺒﺎرة ﻋﻦ ﻓﺼﯿﻠﺔ ﻣﻦ ﻓﺼﺎﺋﻞ ﻟﻐﺔ اﻟﺠﺎﻓﺎ وھﻲ ﻣﻮﺟﻮدة ﻓﻲ ﻣﻜﺘﺒﺔ ﺗﺴﻤﻰ ) ( java.utilوﻻﺑﺪ ﻻﺳﺘﺨﺪام ﻋﺒﺎرة اﻹدﺧﺎل ) (Scannerأن ﻧﺴﺘﺪﻋﯿﮭﺎ ﻣﻦ ﻣﻜﺘﺒﺎت ﻟﻐﺔ اﻟﺠﺎﻓﺎ وﯾﺘﻢ ذﻟﻚ ﻛﺎﻟﺘﺎﻟﻲ : ; Import.java.util وﺑﺬﻟﻚ ﯾﻤﻜﻨﻨﺎ اﺳﺘﺨﺪام ﻋﺒﺎرة اﻹدﺧﺎل ) (Scannerﻓﻲ اﻟﺒﺮﻧﺎﻣﺞ اﻟﻤﻄﻠﻮب . وﯾﻜﻮن ذﻟﻚ ﺑﺤﺠﺰ ﻣﺨﺰن ﻟﻤﺘﻐﯿﺮ ﻓﻲ اﻟﺬاﻛﺮة ﻟﯿﺤﺘﻮي اﻟﺮﻣﺰ اﻟﻤﺪﺧﻞ ﻋﻦ طﺮﯾﻖ ﻟﻮﺣﺔ اﻟﻤﻔﺎﺗﯿﺢ ﻛﺎﻟﺘﺎﻟﻲ: ﺛﻢ ﺑﻌﺪ ذﻟﻚ ﯾﺘﻢ ﻛﺘﺎﺑﺔ اﻟﻌﺒﺎرة اﻟﺘﺎﻟﯿﺔ : واﻟﻤﺜﺎل اﻟﺘﺎﻟﻲ ﯾﻮﺿﺢ طﺮﯾﻘﺔ ﻋﻤﻞ ﻋﺒﺎرة اﻹدﺧﺎل )(Scanner 49 ﻣﺜﺎل )(8 أﻛﺘﺐ ﺑﺮﻧﺎﻣﺞ ﻟﺠﻤﻊ رﻗﻤﯿﻦ ﻋﻠﻰ أن ﯾﺘﻢ إدﺧﺎل اﻟﺮﻗﻤﯿﻦ ﻣﻦ ﻟﻮﺣﺔ اﻟﻤﻔﺎﺗﯿﺢ ﺛﻢ طﺒﺎﻋﺔ اﻟﻨﺎﺗﺞ ﻋﻠﻰ اﻟﺸﺎﺷﺔ. ﺷﺮح اﻟﺒﺮﻧﺎﻣﺞ -1ﻓﻲ اﻟﺴﻄﺮ اﻷول ﺗﻢ اﺳﺘﺪﻋﺎء اﻟﻤﻜﺘﺒﺔ اﻟﺘﻲ ﺗﺤﺘﻮي ﻋﻠﻰ ﺟﻤﻠﺔ اﻹدﺧﺎل Scanner -2أﻣﺎ ﻓﻲ اﻟﺴﻄﺮ اﻟﺮاﺑﻊ ﻓﻘﺪ ﺗﻢ اﻹﻋﻼن ﻋﻦ ﺛﻼث ﻣﺘﻐﯿﺮات ﻣﻦ اﻟﻨﻮع integer وھﻲ اﻟﻤﺘﻐﯿﺮ aﻟﺘﺨﺰﯾﻦ اﻟﺮﻗﻢ اﻷول واﻟﻤﺘﻐﯿﺮ bﻟﺘﺨﺰﯾﻦ اﻟﺮﻗﻢ اﻟﺜﺎﻧﻲ واﻟﻤﺘﻐﯿﺮ sum ﻟﺘﺨﺰﯾﻦ ﻧﺎﺗﺞ ﻋﻤﻠﯿﺔ اﻟﺠﻤﻊ. 49 -3أﻣﺎ اﻟﺴﻄﺮ اﻟﺨﺎﻣﺲ ﻓﮭﻮ ﯾﻌﻤﻞ ﻋﻠﻰ ﺗﮭﯿﺌﺔ اﻟﺤﺎﺳﺐ ﻻﺳﺘﻘﺒﺎل ﻣﺪﺧﻼت ﻣﻦ ﻟﻮﺣﺔ اﻟﻤﻔﺎﺗﯿﺢ وﻟﻘﺪ ﺗﻢ ﺗﺴﻤﯿﺔ ﻣﺨﺰن ﻣﺆﻗﺖ ﺗﻢ ﺗﺴﻤﯿﺘﮫ Keyboardأو ﯾﻤﻜﻦ ﺗﺴﻤﯿﺘﮫ ﺑﺄي اﺳﻢ وﯾﺘﻢ ﻓﯿﮫ ﺗﺨﺰﯾﻦ اﻟﻘﯿﻤﺔ اﻟﻤﺪﺧﻠﺔ ﻣﺆﻗﺘﺎ ﺗﻤﮭﯿﺪا ﻟﻨﻘﻠﮭﺎ ﻟﻤﺘﻐﯿﺮ أﺧﺮ ﺳﯿﻜﻮن ھﻨﺎ aأو bوﻻﺣﻆ ﻛﻠﻤﺔ )(System.in أﺻﺒﺢ ﺑﺠﻮارھﺎ ﻛﻠﻤﺔ inدﻻﻟﺔ ﻋﻠﻰ ﻋﻤﻠﯿﺔ اﻹدﺧﺎل -4أﻣﺎ اﻟﺴﻄﺮ اﻟﺴﺎدس ﻓﻮظﯿﻔﺘﮫ ھﻲ طﺒﻊ رﺳﺎﻟﺔ ﻋﻠﻰ اﻟﺸﺎﺷﺔ ﺗﺨﺒﺮ اﻟﻤﺴﺘﺨﺪم ﺑﺈدﺧﺎل اﻟﺮﻗﻢ اﻷول. -5أﻣﺎ ﻓﻲ اﻟﺴﻄﺮ اﻟﺴﺎﺑﻊ ﻓﯿﺘﻢ إدﺧﺎل اﻟﺮﻗﻢ اﻷول ﺛﻢ ﯾﺨﺰن ﻣﺆﻗﺘﺎً ﻓﻲ اﻟﻤﺨﺰن Keyboardﺛﻢ ﻧﻨﻘﻞ أو ﻧﺨﺼﺺ اﻟﻘﯿﻤﺔ اﻟﻤﻮﺟﻮدة ﻓﻲ اﻟﻤﺨﺰن Keyboardوھﻲ ھﻨﺎ اﻟﺮﻗﻢ اﻷول وﻧﻀﻌﮭﺎ ﻓﻲ اﻟﻤﺨﺰن .a -6أﻣﺎ ﻓﻲ اﻟﺴﻄﺮ اﻟﺜﺎﻣﻦ ﻓﮭﻮ ﯾﻜﺮر اﻟﻌﻤﻠﯿﺔ ﻟﻄﻠﺐ اﻟﺮﻗﻢ اﻟﺜﺎﻧﻲ. -7وﻓﻲ اﻟﺴﻄﺮ اﻟﺘﺎﺳﻊ ﯾﺘﻢ إدﺧﺎل اﻟﺮﻗﻢ اﻟﺜﺎﻧﻲ ﻛﻤﺎ ﺳﺒﻖ وﻟﻜﻦ ﯾﺘﻢ ﺗﺨﺰﯾﻨﮫ ھﺬه اﻟﻤﺮة ﻓﻲ اﻟﻤﺨﺰن .b -8أﻣﺎ اﻟﺴﻄﺮ اﻟﻌﺎﺷﺮ ﻓﯿﺘﻢ ﻓﯿﮫ ﻋﻤﻠﯿﺔ اﻟﺠﻤﻊ ووﺿﻊ اﻟﻨﺎﺗﺞ ﻓﻲ اﻟﻤﺨﺰن .sum -9وﻓﻲ اﻟﺴﻄﺮ اﻟﺤﺎدي ﻋﺸﺮ ﯾﺘﻢ طﺒﺎﻋﺔ ﻗﯿﻤﺔ اﻟﺠﻤﻊ ﻋﻠﻰ اﻟﺸﺎﺷﺔ. ﻣﻼﺣﻈﺎت ھﺎﻣﺔ ﻋﻦ اﻟﺒﺮﻧﺎﻣﺞ -1ﯾﺠﺐ اﻟﻤﻼﺣﻈﺔ ﺟﯿﺪا أن ھﻨﺎك ﻛﻠﻤﺎت ﻻﺑﺪ وأن ﯾﻜﺘﺐ اﻟﺤﺮف اﻷول ﻣﻨﮭﺎ ﺑﺤﺮوف ﻛﺒﯿﺮة Capital letterﻣﺜﻞ اﻟﻜﻠﻤﺎت ﻓﻲ ھﺬا اﻟﻤﺜﺎل ). (System , Scanner , nextInt -2ﯾﺠﺐ أن ﺗﻜﻮن أﺳﻤﺎء اﻟﻤﺘﻐﯿﺮات واﺿﺤﺔ ﺣﺘﻰ ﯾﺘﻢ ﻓﮭﻢ اﻟﺒﺮﻧﺎﻣﺞ ﺟﯿﺪا. -3ﺑﺎﻟﻨﺴﺒﺔ ﻟﻸرﻗﺎم اﻟﻤﺪﺧﻠﺔ ﯾﺠﺐ أن ﺗﻜﻮن ﻣﻦ اﻟﻨﻮع اﻟﺼﺤﯿﺢ ﻓﻘﻂ integerو ھﺬا ﯾﻜﻮن ﻓﻲ ﻣﺜﺎﻟﻨﺎ ﻓﻘﻂ ﻷﻧﻨﺎ طﻠﺒﻨﺎ ﻣﻨﮫ ذﻟﻚ ﻓﻲ ﺑﺮﻧﺎﻣﺠﻨﺎ وذﻟﻚ ﻓﻲ اﻟﺴﻄﺮ اﻟﺴﺎﺑﻊ ﻋﻦ طﺮﯾﻖ ﻋﺒﺎرة 49 ) (nextIntﻓﺎﻟﺤﺮوف اﻟﺜﻼﺛﺔ ذات اﻟﻠﻮن اﻷﺣﻤﺮ ) (Intواﻟﺘﻲ ﺟﺎءت ﺑﻌﺪ ﻛﻠﻤﺔ nextھﻲ اﻟﻤﺴﺌﻮﻟﺔ ﻋﻦ اﻟﻤﺪﺧﻼت ﯾﺠﺐ أن ﺗﻜﻮن ﻣﻦ اﻟﻨﻮع اﻷرﻗﺎم اﻟﺼﺤﯿﺤﺔ وھﻲ ﻟﮭﺎ ﻋﺪة ﺣﺎﻻت: ﺣﺎﻻت اﻟﻌﺒﺎرة ) : (next واﻟﺠﺪول ﺷﻜﻞ ) (1-13اﻟﺘﺎﻟﻲ ﯾﻮﺿﺢ اﻟﺤﺎﻻت اﻟﻤﺨﺘﻠﻔﺔ ﻟﻠﻌﺒﺎرة ) (next اﻟﺠﺪول ﺷﻜﻞ )(1-13 ﺗﺸﻐﯿﻞ اﻟﺒﺮﻧﺎﻣﺞ اﻟﺴﺎﺑﻖ ﻋﻨﺪ ﺗﺸﻐﯿﻞ اﻟﺒﺮﻧﺎﻣﺞ اﻟﺴﺎﺑﻖ ﯾﻈﮭﺮ اﻵﺗﻲ : Enter first number -1اﻟﺴﻄﺮ اﻷول ﯾﻄﻠﺐ ﻣﻨﻚ إدﺧﺎل اﻟﺮﻗﻢ اﻷول 20 وھﻨﺎ ﺗﻢ إدﺧﺎل اﻟﻌﺪد .20 enter second number 30 -2اﻟﺴﻄﺮ اﻟﺜﺎﻧﻲ ﯾﻄﻠﺐ ﻣﻨﻚ إدﺧﺎل اﻟﺮﻗﻢ اﻟﺜﺎﻧﻲ The sum is = 50 وھﻨﺎ ﯾﺘﻢ إدﺧﺎل اﻟﻌﺪد .30 -3أﻣﺎ اﻟﺴﻄﺮ اﻷﺧﯿﺮ ﻓﯿﻈﮭﺮ اﻟﻨﺘﯿﺠﺔ وھﻲ ﺣﺎﺻﻞ اﻟﺠﻤﻊ .50 وﯾﺠﺐ ﻣﻼﺣﻈﺔ أﻧﮫ ﻋﻨﺪ إدﺧﺎل اﻟﺮﻗﻢ اﻟﺜﺎﻧﻲ ﯾﺠﺐ اﻟﻀﻐﻂ ﻋﻠﻰ ﻣﻔﺘﺎح Enterأو ﺗﺮك ﻣﺴﺎﻓﺔ واﺣﺪة. ﻣﺜﺎل )(9 أﻛﺘﺐ ﺑﺮﻧﺎﻣﺞ ﺗﻘﻮم ﻣﻦ ﺧﻼﻟﮫ ﺑﺈدﺧﺎل اﺳﻤﻚ ﻓﯿﻄﺒﻊ ﻋﺒﺎرة ﺗﺮﺣﯿﺐ ﺑﻚ 49 Cairo وﻧﻼﺣﻆ ھﻨﺎ أن ﻋﺒﺎرة اﻹدﺧﺎل ﻟﻢ ﺗﺘﻐﯿﺮ ﻛﺜﯿﺮا ﻋﻦ اﻟﺒﺮﻧﺎﻣﺞ اﻟﺴﺎﺑﻖ واﻟﺬي ﺗﻢ ﻓﯿﮫ إدﺧﺎل اﻷرﻗﺎم, إﻻ اﺧﺘﻼﻓﺎ ﺑﺴﯿﻄﺎً ﻓﻲ اﻟﺴﻄﺮ اﻟﺴﺎدس. وﻗﺪ ﺗﻢ ﻋﻤﻞ ﻣﺘﻐﯿﺮ ﺣﺮﻓﻲ ﻣﻦ ﻧﻮع Stringھﻮ اﻟﻤﺘﻐﯿﺮ aواﻟﺬي ﯾﺘﻢ ﻓﯿﮫ ﺗﺨﺰﯾﻦ اﻟﺤﺮوف اﻟﻤﺪﺧﻠﺔ ﻣﻦ ﻟﻮﺣﺔ اﻟﻤﻔﺎﺗﯿﺢ ﻛﻤﺎ ﻧﻼﺣﻆ ﺗﻐﯿﺮ اﻟﻌﺒﺎرة nextوﻟﻘﺪ ﻛﺘﺒﺖ ﻣﻨﻔﺮدة ﺑﺪون أي اﺿﺎﻓﺎت )أﻧﻈﺮ اﻟﺠﺪول اﻟﺴﺎﺑﻖ اﻟﺬي ﯾﻮﺿﺢ وظﺎﺋﻒ . (next ﺗﺸﻐﯿﻞ اﻟﺒﺮﻧﺎﻣﺞ ﻋﻨﺪ ﺗﺸﻐﯿﻞ اﻟﺒﺮﻧﺎﻣﺞ ﯾﻄﻠﺐ ﻣﻨﻚ إدﺧﺎل أﺳﻤﻚ ﻓﻨﻘﻮم ﺑﺈدﺧﺎل اﻻﺳﻢ ﻣﻦ ﻟﻮﺣﺔ اﻟﻤﻔﺎﺗﯿﺢ ﻓﯿﻘﻮم ﺑﻌﺪ ذﻟﻚ ﺑﻄﺒﺎﻋﺔ ﻋﺒﺎرة اﻟﺘﺮﺣﯿﺐ ﻛﺎﻟﺘﺎﻟﻲ: Enter your name Cairo Welcome Cairo اﻟﮭﺪف ﻣﻦ اﻟﻤﺤﺎﺿﺮة اﻟﺴﺎدﺳﺔ : اﻟﺘﻌﺮف ﻋﻠﻰ ﺟﻤﻞ اﻻﺧﺘﯿﺎر اﻟﺸﺮطﯿﺔ . 1-2ﺟﻤﻞ اﻻﺧﺘﯿﺎرSelection Statements 49 وﯾﻄﻠﻖ ﻋﻠﯿﮭﺎ أﯾﻀًﺎ ﺟﻤﻞ اﻟﺘﺤﻜﻢ أو ﺟﻤﻞ اﺗﺨﺎذ اﻟﻘﺮار وﻟﻘﺪ ﺳﺒﻖ دراﺳﺔ ھﺬه اﻟﺠﻤﻞ ﻓﻲ اﻟﺼﻒ اﻟﺜﺎﻧﻲ وھﻲ ﻻ ﺗﺨﺘﻠﻒ ﻛﺜﯿﺮا ﻋﻦ اﻟﺠﻤﻞ اﻟﻤﻮﺟﻮدة ﻓﻲ ﻟﻐﺔ اﻟﺠﺎﻓﺎ. 1-3-1ﺟﻤﻠﺔ اﻟﺸﺮط if statement اﻟﺼﯿﻐﺔ اﻷوﻟﻰ ﻟﺠﻤﻠﺔ if ﺗﺄﺧﺬ اﻟﺠﻤﻠﺔ ifاﻟﺼﯿﻐﺔ اﻟﻌﺎﻣﺔ اﻟﺘﺎﻟﯿﺔ : وﻣﻌﻨﻰ ھﺬه اﻟﻌﺒﺎرة أﻧﮫ اذا ﻛﺎن اﻟﺸﺮط اﻟﺬي ﺗﻘﻮم اﻟﺠﻤﻠﺔ ) ( ifﺑﺎﺧﺘﺒﺎره ﺻﺤﯿﺤﺎ ﻓﻘﻢ ﺑﺘﻨﻔﯿﺬ اﻟﺠﻤﻠﺔ اﻟﺘﻲ ﺑﯿﻦ اﻟﻘﻮﺳﯿﻦ .وﻓﻲ ﺣﺎﻟﺔ ﻋﺪم ﺻﺤﺔ اﻻﺧﺘﺒﺎر ﻓﻼ ﺗﻘﻢ ﺑﺘﻨﻔﯿﺬ ﺟﻤﻠﺔ ) ( ifوإﻧﻤﺎ اﺳﺘﻤﺮ ﻓﻲ ﺗﻨﻔﯿﺬ ﺑﻘﯿﺔ ﺟﻤﻞ اﻟﺒﺮﻧﺎﻣﺞ ﻣﻦ ﺑﻌﺪ ﺗﺨﻄﻲ ﺟﻤﻠﺔ ) . ( if وﻓﻲ ﺣﺎﻟﺔ ﺗﻨﻔﯿﺬ ﺟﻤﻠﺔ واﺣﺪة ﻓﻘﻂ ﺑﻌﺪ ﺟﻤﻠﺔ ) ( ifﻓﺈﻧﮫ ﯾﻤﻜﻦ اﻻﺳﺘﻐﻨﺎء ﻋﻦ اﻷﻗﻮاس وﻓﻲ ھﺬه اﻟﺤﺎﻟﺔ ﺗﻨﺘﮭﻲ ﺟﻤﻠﺔ اﻟﺸﺮط ﺑﺎﻟﻔﺎﺻﻠﺔ اﻟﻤﻨﻘﻮطﺔ ) ; ( ﻛﻤﺎ ﯾﻠﻲ : وﯾﻤﻜﻦ ﺗﻤﺜﯿﻞ ﻋﺒﺎرة ifﺑﺎﻟﺸﻜﻞ ) (1-14اﻟﺘﺎﻟﻲ : ﺷﻜﻞ )(1-14 وﻛﻤﺎ ﻧﻌﺮﻓﺪاﺋﻤﺎ ﻓﺈن اﻟﺸﺮط ﯾﺠﺐ أن ﯾﻜﻮن ﺷﺮطﺎ ﻣﻨﻄﻘﯿﺎ وﻟﻔﮭﻢ طﺮﯾﻘﺔ ﻋﻤﻞ ﺟﻤﻠﺔ ifﻧﺪرس اﻷﻣﺜﻠﺔ اﻟﺘﺎﻟﯿﺔ: 49 ﻣﺜﺎل )(10 اﻟﻤﻄﻠﻮب ﻛﺘﺎﺑﺔ ﺑﺮﻧﺎﻣﺞ ﯾﻘﻮم ﺑﻔﺤﺺ رﻗﻢ ﯾﺘﻢ إدﺧﺎﻟﮫ ﻣﻦ ﻟﻮﺣﺔ اﻟﻤﻔﺎﺗﯿﺢ وﻟﯿﻜﻦ ) (xﺑﺤﯿﺚ إذا ﻛﺎن ﻣﻮﺟﺒﺎ ﯾﻘﻮم ﺑﻄﺒﺎﻋﺔ اﻟﻌﺒﺎرة ). (x is positive وﻧﻼﺣﻆ ھﻨﺎ أن ﺟﻤﻠﺔ ifاﻧﺘﮭﺖ ﺑﺄول ﻓﺎﺻﻠﺔ ﻣﻨﻘﻮطﺔ ﻗﺎﺑﻠﺘﮭﺎ أي ﺑﻌﺪ ﻋﺒﺎرة اﻟﻄﺒﺎﻋﺔ وﻧﻼﺣﻆ ھﻨﺎ أﻧﻨﺎ ﻟﻢ ﻧﺴﺘﺨﺪم اﻷﻗﻮاس ﻓﻲ ﺟﻤﻠﺔ ifﻷﻧﻨﺎ ﻟﻢ ﻧﻜﺘﺐ ﻏﯿﺮ ﺳﻄﺮ واﺣﺪ ﻓﻘﻂ ﺑﻌﺪ ﻋﺒﺎرة ifوھﻲ ﺟﻤﻠﺔ اﻟﻄﺒﺎﻋﺔ أﻣﺎ ﻟﻮ ﻛﺘﺒﻨﺎ أﻛﺜﺮ ﻣﻦ ﺟﻤﻠﺔ ﯾﺠﺐ ﺗﻨﻔﯿﺬھﺎ ﻋﻨﺪ ﺗﺤﻘﻖ اﻟﺸﺮط ﻓﻲ ھﺬه اﻟﺤﺎﻟﺔ ﯾﺠﺐ إﺿﺎﻓﺔ اﻷﻗﻮاس وﯾﺘﻢ ﺗﻨﻔﯿﺬ اﻟﺒﺮﻧﺎﻣﺞ ﻛﻤﺎ ﯾﻠﻲ : Enter Number X 5 X is positive ﻣﺜﺎل )(11 ﻛﺮر ﻧﻔﺲ اﻟﻤﺜﺎل اﻟﺴﺎﺑﻖ ﻣﻊ اﺳﺘﺨﺪام أﻛﺜﺮ ﻣﻦ ﺳﻄﺮ ﻓﻲ ﺟﻤﻠﺔ ifﻛﺎﻵﺗﻲ: 49 وﺗﻜﻮن ﻣﺨﺮﺟﺎت اﻟﺒﺮﻧﺎﻣﺞ ﻛﺎﻟﺘﺎﻟﻲ: 0ح Enter Number X 10 X is positive X is negative اﻟﺼﯿﻐﺔ اﻟﺜﺎﻧﯿﺔ ﻟﺠﻤﻠﺔ if 49 ﻣﺜﺎل )(12 ﻧﻔﺬ اﻟﺒﺮﻧﺎﻣﺞ اﻟﺴﺎﺑﻖ ﺑﺤﯿﺚ ﯾﻄﺒﻊ ﻋﺒﺎرة ) (X is positiveﻓﻲ ﺣﺎﻟﺔ إذا ﻛﺎﻧﺖ ﻣﻮﺟﺒﺔ وإﻻ ﯾﻄﺒﻊ ﻋﺒﺎرة ) (X is negativeﻓﻲ ﺣﺎﻟﺔ إذا ﻛﺎﻧﺖ Xﺳﺎﻟﺒﺔ. وﯾﺘﻢ ذﻟﻚ ﺑﺎﺳﺘﺨﺪام ﻋﺒﺎرة IFاﻟﻜﺎﻣﻠﺔ ﻛﺎﻵﺗﻲ: و ﯾﻤﻜﻨﻨﺎ ﻓﻲ اﻟﺒﺮﻧﺎﻣﺞ اﻟﺴﺎﺑﻖ ﺣﺬف اﻷﻗﻮاس اﻟﻤﻮﺟﻮدة ﺑﻌﺪ ﺟﻤﻠﺔ , ifوﻛﺬﻟﻚ ﺣﺬف اﻷﻗﻮاس اﻟﻤﻮﺟﻮدة ﺑﻌﺪ elseوذﻟﻚ ﻟﻮﺟﻮد ﺟﻤﻠﺔ طﺒﺎﻋﺔ واﺣﺪة ﺑﻌﺪ ﻛﻼً ﻣﻨﮭﻤﺎ. 49 1-3-2ﺟﻤﻠﺔ switch ﺗﺴﺘﺨﺪم ﻋﺒﺎرة ifإذا ﻛﺎن ﺟﻮاب اﻟﺸﺮط ﻋﺒﺎرة ﻋﻦ اﺣﺘﻤﺎﻟﯿﻦ أو ﺛﻼﺛﺔ اﺣﺘﻤﺎﻻت ﻋﻠﻰ اﻷﻛﺜﺮ, أﻣﺎ إذا زاد ﻋﺪد اﻻﺣﺘﻤﺎﻻت ﻋﻠﻰ ذﻟﻚ ﻓﻤﻦ اﻷﻓﻀﻞ اﺳﺘﺨﺪام ﻋﺒﺎرة switchوﺻﯿﻐﺘﮭﺎ اﻟﻌﺎﻣﺔ ﻛﺎﻵﺗﻲ: وﻟﻜﻲ ﻧﻔﮭﻢ ﻛﯿﻔﯿﺔ ﻋﻤﻞ ﺟﻤﻠﺔ switchﻧﺠﺮي اﻟﻤﺜﺎل اﻟﺘﺎﻟﻲ: ﻣﺜﺎل )(13 ﻟﻨﻔﺮض أﻧﻨﺎ ﻧﺮﯾﺪ إن ﯾﻄﺒﻊ اﻟﺤﺎﺳﺐ ﺟﻤﻠﺔ ﺗﺮﺣﯿﺐ ﻣﻌﯿﻨﺔ إذا ﺗﻢ اﻟﻀﻐﻂ ﻋﻠﻰ أﺣﺪ اﻷرﻗﺎم ﻓﻲ ﻟﻮﺣﺔ اﻟﻤﻔﺎﺗﯿﺢ . ﺧﻄﻮات اﻟﺒﺮﻧﺎﻣﺞ : 49 وﻋﻨﺪ ﺗﻨﻔﯿﺬ ھﺬا اﻟﺒﺮﻧﺎﻣﺞ ﻓﺄﻧﮫ ﺗﺤﺪث إﺣﺪى اﻟﺤﺎﻻت اﻵﺗﯿﺔ: -1إذا ﺗﻢ إدﺧﺎل اﻟﺮﻗﻢ ) ( 1ﻓﺈﻧﮫ ﯾﻄﺒﻊ اﻟﻌﺒﺎرة اﻷوﻟﻰ Welcomeﺛﻢ ﯾﺠﺪ ﻋﺒﺎرة break ﻓﯿﺨﺮج ﺧﺎرج ﺟﻤﻠﺔ switchوﯾﻨﺘﮭﻲ اﻟﺒﺮﻧﺎﻣﺞ . -2إذا ﺗﻢ إدﺧﺎل اﻟﺮﻗﻢ ) ( 2ﻓﺈﻧﮫ ﯾﻄﺒﻊ اﻟﻌﺒﺎرة اﻟﺜﺎﻧﯿﺔ how are youﺛﻢ ﯾﺠﺪ ﻋﺒﺎرة اﻟﺘﻮﻗﻒ breakﻓﯿﺨﺮج ﺧﺎرج ﺟﻤﻠﺔ switchوﯾﻨﺘﮭﻲ اﻟﺒﺮﻧﺎﻣﺞ . -3وھﻜﺬا ﻓﻲ ﺣﺎﻟﺔ إدﺧﺎل اﻟﺮﻗﻢ ) (3ﻓﺈﻧﮫ ﯾﻄﺒﻊ اﻟﺠﻤﻠﺔ اﻟﺜﺎﻟﺜﺔ ﺛﻢ breakﺛﻢ ﯾﺨﺮج . 49 -4أﻣﺎ ﻓﻲ ﺣﺎﻟﺔ إدﺧﺎل أي رﻗﻢ ﻏﯿﺮ ﻣﻮﺟﻮد ﻓﻲ اﻟﺒﺮﻧﺎﻣﺞ وﻟﯿﻜﻦ ) (4ﻣﺜﻼ ,ﻓﺈن اﻟﺒﺮﻧﺎﻣﺞ ﯾﻄﺒﻊ اﻟﻌﺒﺎرة اﻟﻤﻮﺟﻮدة ﻓﻲ ﺟﻤﻠﺔ defaultﺛﻢ ﯾﻨﺘﮭﻲ اﻟﺒﺮﻧﺎﻣﺞ . -5ﯾﺠﺐ ﻣﺮاﻋﺎة أن ﺟﻤﻠﺔ switchﻟﮭﺎ ﻗﻮﺳﻲ ﺑﺪاﯾﺔ وﻧﮭﺎﯾﺔ. -6ﯾﺠﺐ داﺋﻤﺎً أن ﺗﻨﺘﮭﻲ ﻛﻞ ﺣﺎﻟﺔ caseﻣﻦ ﺣﺎﻻت switchﺑﺎﻟﻌﺒﺎرة .break ☺ ﺣﺎول أن ﺗﻘﻮم ﺑﺈﻟﻐﺎء ھﺬه اﻟﻌﺒﺎرة وﺗﺠﺮﺑﺔ اﻟﺒﺮﻧﺎﻣﺞ ...ﻣﺎذا ﺗﺠﺪ ؟؟ ☺ﺟﺮب إدﺧﺎل ﺣﺮف ﺑﺪﻻ ﻣﻦ اﻟﺮﻗﻢ ﻣﺎذا ﺗﺠﺪ ؟؟ اﻟﮭﺪف ﻣﻦ اﻟﻤﺤﺎﺿﺮة اﻟﺴﺎﺑﻌﺔ: 49 اﻟﺘﻌﺮف ﻋﻠﻰ اﻟﺤﻠﻘﺎت اﻟﺘﻜﺮارﯾﺔ . 1-3ﺟﻤﻞ اﻟﺪوران ﻛﺜﯿﺮا ﻣﺎ ﻧﺤﺘﺎج ﻓﻲ اﻟﺒﺮﻧﺎﻣﺞ إﻟﻰ ﺗﻜﺮار أﻣﺮ ﻣﻌﯿﻦ ﻣﻮﺟﮫ إﻟﻰ اﻟﺤﺎﺳﺐ ﻋﺪداً ﻣﻦ اﻟﻤﺮات ، وﺗﻮﻓﺮ ﻟﻐﺔ اﻟﺠﺎﻓﺎ ﻋﺪة وﺳﺎﺋﻞ ﺗﻤﻜﻦ اﻟﻤﺒﺮﻣﺞ ﻣﻦ أداء ھﺬا اﻟﺘﻜﺮار.وﻋﺎدة ﻣﺎ ﺗﺴﻤﻰ ھﺬه اﻟﻮﺳﺎﺋﻞ ﺑﺎﻟﺤﻠﻘﺎت اﻟﺘﻜﺮارﯾﺔ وﯾﻮﺟﺪ اﻟﻌﺪﯾﺪ ﻣﻦ اﻟﺤﻠﻘﺎت اﻟﺘﻜﺮارﯾﺔ اﻟﺘﻲ ﺳﻮف ﻧﺘﻨﺎوﻟﮭﺎ ﺑﺎﻟﺸﺮح وھﻲ: -1اﻟﺤﻠﻘﺔ )(for Loop -2اﻟﺤﻠﻘﺔ )(while loop -3اﻟﺤﻠﻘﺔ )(do-while Loop 4-1 -1اﻟﺤﻠﻘﺔ )(for loop ﺗﺴﺘﺨﺪم اﻟﺤﻠﻘﺔ forﻟﺘﻜﺮار أﻣﺮ ﻣﻌﯿﻦ )أو ﻣﺠﻤﻮﻋﺔ ﻣﻦ اﻷواﻣﺮ( ﻋﺪدا ﻣﻦ اﻟﻤﺮات. واﻟﺼﯿﻐﺔ اﻟﻌﺎﻣﺔ ﻟﮭﺬه اﻟﺤﻠﻘﺔ ﻛﺎﻟﺘﺎﻟﻲ : ﻧﻼﺣﻆ أن ھﺬه اﻟﺤﻠﻘﺔ ﺗﺘﻜﻮن ﻣﻦ ﺛﻼث أﻗﺴﺎم ھﻲ: -1اﻟﻘﯿﻤﺔ اﻻﺑﺘﺪاﺋﯿﺔ . initialization ﻧﻀﻊ ﻓﻲ ھﺬا اﻟﺠﺰء ﻣﺘﻐﯿﺮ وﻧﻌﻄﯿﮫ اﻟﻘﯿﻤﺔ اﻻﺑﺘﺪاﺋﯿﺔ اﻟﺘﻲ ﯾﺒﺪأ ﻣﻨﮭﺎ اﻟﺘﻜﺮار. -2اﻟﺸﺮط Condition ھﻨﺎ ﻧﻀﻊ اﻟﺸﺮط اﻟﺬي ﯾﺘﻮﻗﻒ ﻋﻨﺪه اﻟﻌﺪ. -3ﻣﻘﺪار اﻟﺨﻄﻮة increment ھﻨﺎ ﻧﻀﻊ ﻣﻘﺪار اﻟﺰﯾﺎدة ﻓﻲ ﺣﺎﻟﺔ اﻟﻌﺪ اﻟﺘﺼﺎﻋﺪي أو اﻟﻨﻘﺼﺎن ﻓﻲ ﺣﺎﻟﺔ اﻟﻌﺪ اﻟﺘﻨﺎزﻟﻲ. وﻧﻼﺣﻆ ھﻨﺎ أن ﺟﻤﻠﺔ forﻟﮭﺎ ﻗﻮس ﺑﺪاﯾﺔ وﻗﻮس ﻧﮭﺎﯾﺔ وﯾﺘﻢ وﺿﻊ اﻷﻗﻮاس ﻓﻲ ﺣﺎﻟﺔ ﺗﻜﺮار أﻛﺜﺮ ﻣﻦ ﺟﻤﻠﺔ ﻛﻤﺎ ﯾﻤﻜﻦ اﻻﺳﺘﻐﻨﺎء ﻋﻦ ھﺬه اﻷﻗﻮاس ﻓﻲ ﺣﺎﻟﺔ ﺗﻜﺮار ﺟﻤﻠﺔ واﺣﺪة. ﻣﺜﺎل )(14 49 ﻧﻔﺬ ﺑﺮﻧﺎﻣﺞ ﺑﻠﻐﺔ اﻟﺠﺎﻓﺎ ﯾﻘﻮم ﺑﺎﻟﻌﺪ ﻣﻦ ) 1إﻟﻰ . (20 ﺧﻄﻮات اﻟﺒﺮﻧﺎﻣﺞ ﻛﺎﻟﺘﺎﻟﻲ : ﻓﻲ ھﺬا اﻟﺒﺮﻧﺎﻣﺞ ﺗﻢ اﺳﺘﺨﺪام ﻣﺘﻐﯿﺮ aﻣﻦ ﻧﻮع integerﻓﯿﺘﻢ زﯾﺎدة ﻗﯿﻤﺘﮫ ﻛﻞ ﻣﺮة ﺑﻤﻘﺪار واﺣﺪ. واﻟﻘﯿﻤﺔ اﻻﺑﺘﺪاﺋﯿﺔ ﻟﮫ داﺧﻞ اﻟﺤﻠﻘﺔ a=1ﺣﺘﻰ ﯾﺼﻞ اﻟﻌﺪ إﻟﻰ .20ﺗﻨﺘﮭﻲ اﻟﺤﻠﻘﺔ وﯾﻨﺘﮭﻲ اﻟﺒﺮﻧﺎﻣﺞ و ﻓﻲ ﻛﻞ ﺧﻄﻮة زﯾﺎدة ﯾﺘﻢ طﺒﺎﻋﺔ ﻗﯿﻤﺘﮭﺎ ﻋﻠﻰ اﻟﺸﺎﺷﺔ ﻋﻦ طﺮﯾﻖ أﻣﺮ اﻟﻄﺒﺎﻋﺔ. وﺗﻜﻮن اﻷرﻗﺎم ﻓﻲ ﺷﺮﯾﻂ ﺗﺤﺖ ﺑﻌﻀﮭﺎ ﻋﻠﻰ اﻟﺸﺎﺷﺔ.ﻟﻤﺎذا ؟؟ ﺛﻢ ﻓﻜﺮ ﻛﯿﻒ ﯾﻤﻜﻦ طﺒﺎﻋﺔ اﻟﻤﺨﺮﺟﺎت ﻣﺘﺠﺎورة أو ﻋﻠﻰ ﺳﻄﺮ واﺣﺪ ﺑﯿﻨﮭﺎ ﻣﺴﺎﻓﺎت ﻣﺘﺴﺎوﯾﺔ. ﻣﺜﺎل )(15 اﻟﻤﻄﻠﻮب ﻋﻤﻞ ﻋﺪاد ﺗﺼﺎﻋﺪي ﯾﺒﺪأ اﻟﻌﺪ ﻣﻦ اﻟﻘﯿﻤﺔ ) (1ﺣﺘﻰ اﻟﻘﯿﻤﺔ ) (xﻋﻠﻰ أن ﯾﺘﻢ إدﺧﺎل ﻗﯿﻤﺔ ﻧﮭﺎﯾﺔ اﻟﻌﺪ ﻣﻦ ﻟﻮﺣﺔ اﻟﻤﻔﺎﺗﯿﺢ . وﻓﻲ ھﺬا اﻟﺒﺮﻧﺎﻣﺞ اﺳﺘﺨﺪﻣﻨﺎ ﻋﺒﺎرة اﻹدﺧﺎل ﻛﻤﺎ اﺳﺘﺨﺪﻣﻨﺎھﺎ ﻓﻲ اﻟﺒﺮاﻣﺞ اﻟﺴﺎﺑﻘﺔ ,وﻋﻦ طﺮﯾﻘﮭﺎ ﺗﻢ إدﺧﺎل رﻗﻢ ﻧﮭﺎﯾﺔ اﻟﻌﺪ وﺗﻢ وﺿﻌﮫ ﻓﻲ اﻟﻤﺘﻐﯿﺮ ) (xﺛﻢ وﺿﻌﻨﺎه ﻓﻲ اﻟﺠﺰء اﻟﺨﺎص ﺑﺎﻟﺸﺮط ﻓﻲ اﻟﺤﻠﻘﺔ .وﻧﻼﺣﻆ ھﻨﺎ أن اﻟﻤﺘﻐﯿﺮ ) (aﻗﺪ ﺗﻢ ﺗﻌﺮﯾﻔﮫ وإﻋﻄﺎؤه ﻗﯿﻤﺔ اﺑﺘﺪاﺋﯿﺔ داﺧﻞ اﻟﺤﻠﻘﺔ int ).(a=1 ﺧﻄﻮات اﻟﺒﺮﻧﺎﻣﺞ : 49 ﻣﺜﺎل )(16 ﻋﻤﻞ ﺑﺮﻧﺎﻣﺞ ﯾﻮﺿﺢ ﺗﻜﺮار أﻛﺜﺮ ﻣﻦ ﺟﻤﻠﺔ داﺧﻞ اﻟﺤﻠﻘﺔ .for وﻓﻲ ھﺬا اﻟﺒﺮﻧﺎﻣﺞ ﺗﻢ اﺳﺘﺨﺪام أﻛﺜﺮ ﻣﻦ ﺟﻤﻠﺔ ﯾﺮاد ﺗﻜﺮارھﺎ داﺧﻞ اﻟﺤﻠﻘﺔ وﻟﺬﻟﻚ ﺗﻢ اﺳﺘﺨﺪام ﻗﻮﺳﻲ ﺑﺪاﯾﺔ وﻧﮭﺎﯾﺔ ﻟﻠﺤﻠﻘﺔ وھﺬا اﻟﺒﺮﻧﺎﻣﺞ ﯾﻘﻮم ﺑﻄﺒﺎﻋﺔ اﻟﻤﺨﺮﺟﺎت ﻛﺎﻟﺘﺎﻟﻲ : 49 -1-4-2اﻟﺤﻠﻘﺔ )(while loop ﻓﻲ ھﺬه اﻟﺤﻠﻘﺔ اﻟﺘﻜﺮارﯾﺔ ﻧﺤﺘﺎج إﻟﻰ اﻟﺸﺮط ﻓﻘﻂ وطﺎﻟﻤﺎ ﻛﺎن ھﺬا اﻟﺸﺮط ﻣﺘﺤﻘﻘﺎ اﺳﺘﻤﺮت اﻟﺤﻠﻘﺔ ﻓﻲ اﻟﺘﻜﺮار واﻟﺼﯿﻐﺔ اﻟﻌﺎﻣﺔ ﻟﮭﺎ ﻛﺎﻵﺗﻲ: وﻧﻼﺣﻆ ھﻨﺎ أن اﻟﺸﺮط ﯾﺄﺗﻲ أوﻻً ﻗﺒﻞ ﺗﻨﻔﯿﺬ اﻟﺤﻠﻘﺔ. ﻣﺜﺎل )(17 أﻛﺘﺐ ﺑﺮﻧﺎﻣﺞ ﯾﻘﻮم ﺑﻌﻤﻠﯿﺔ اﻟﻌﺪ ﻣﻦ ) 0إﻟﻰ ( 10ﺑﺎﺳﺘﺨﺪام اﻟﺤﻠﻘﺔ while loopﻣﻊ طﺒﺎﻋﺔ اﻟﻨﺘﺎﺋﺞ ﻋﻠﻰ اﻟﺸﺎﺷﺔ. وﻧﻼﺣﻆ ﻓﻲ ھﺬا اﻟﺒﺮﻧﺎﻣﺞ أﻧﮫ ﻻﺑﺪ ﻣﻦ إﻋﻄﺎء ﻗﯿﻤﺔ اﺑﺘﺪاﺋﯿﺔ ﻟﻠﻌﺪاد . ( a=0)intوﻧﻼﺣﻆ ﻛﺬﻟﻚ أﻧﮫ ﻓﻲ ﺟﻤﻠﺔ whileﻻﺑﺪ ﻣﻦ وﺟﻮد اﻷﻗﻮاس,ﻷن اﻟﺠﻤﻠﺔ ﺑﻄﺒﯿﻌﺘﮭﺎ ﺗﺘﻜﻮن ﻣﻦ أﻛﺜﺮ ﻣﻦ ﺳﻄﺮ.ﻛﺬﻟﻚ ﯾﺘﻢ زﯾﺎدة ﻗﯿﻤﺔ ) (aﺑﻤﻘﺪار واﺣﺪ ﻋﻦ طﺮﯾﻖ اﻟﺼﯿﻐﺔ ) (++aوﺑﻌﺪ أن ﯾﺘﻢ زﯾﺎدة ﻗﯿﻤﺔ aﺑﻤﻘﺪار واﺣﺪ ﯾﺘﻢ اﻟﺘﺤﻘﻖ ﻣﻦ اﻟﺸﺮط ﻛﻞ ﻣﺮة وﺳﺘﻜﻮن ﻧﺘﯿﺠﺔ اﻟﺒﺮﻧﺎﻣﺞ طﺒﺎﻋﺔ اﻷﻋﺪاد ﻣﻦ ) 0إﻟﻰ . (10 49 -1-4-3اﻟﺤﻠﻘﺔ )(do – while ﺗﺨﺘﻠﻒ ھﺬه اﻟﺤﻠﻘﺔ ﻋﻦ اﻟﺤﻠﻘﺎت اﻟﺴﺎﺑﻘﺔ ﻓﻲ ﻣﻜﺎن وﺿﻊ اﻟﺸﺮط ،ﺣﯿﺚ ﯾﻜﺘﺐ اﻟﺸﺮط ﺑﻌﺪ اﻟﻌﺒﺎرات اﻟﻤﻄﻠﻮب ﺗﻜﺮارھﺎ وﺗﻜﻮن ﺻﯿﻐﺘﮭﺎ اﻟﻌﺎﻣﺔ ﻛﺎﻟﺘﺎﻟﻲ: ﺑﺈﻣﻜﺎﻧﻨﺎ اﻟﻘﻮل أن اﻟﺤﻠﻘﺔ ) (do-whileﺗﻌﻨﻲ ﻗﻢ ﺑﺎﻟﺪﺧﻮل ﻓﻲ اﻟﻜﺘﻠﺔ doوﻗﻢ ﺑﺘﻨﻔﯿﺬ اﻷواﻣﺮ.وﻓﻲ ﺣﺎﻟﺔ اﻻﻧﺘﮭﺎء ﻗﻢ ﺑﺎﺧﺘﺒﺎر اﻟﺘﻌﺒﯿﺮ اﻟﺸﺮطﻲ اﻟﻤﻮﺟﻮد ﻓﻲ آﺧﺮ اﻟﻜﺘﻠﺔ ,وﻓﻲ ﺣﺎﻟﺔ ﺻﺤﺔ اﻟﺘﻌﺒﯿﺮ ﻗﻢ ﺑﺎﻟﺮﺟﻮع ﻣﺮة أﺧﺮى إﻟﻰ ﻣﻜﺎن اﻟﻜﻠﻤﺔ .do ﻣﺜﺎل )(18 ﯾﻤﻜﻦ ﺗﻄﺒﯿﻖ ﻧﻔﺲ اﻟﻤﺜﺎل اﻟﺴﺎﺑﻖ ﻓﻲ ﺣﻠﻘﺔ whileوھﻮ اﻟﺒﺮﻧﺎﻣﺞ اﻟﺬي ﯾﻘﻮم ﺑﺎﻟﻌﺪ ﻣﻦ ) 0إﻟﻰ ( 10وﻟﻜﻦ ھﺬه اﻟﻤﺮة ﺑﺎﺳﺘﺨﺪام اﻟﺤﻠﻘﺔ ) (do-whileﻛﺎﻵﺗﻲ : وﻧﻼﺣﻆ ھﻨﺎ أﻧﮫ ﻓﻲ ﻛﻞ ﻣﺮة ﯾﻘﻮم اﻟﺒﺮﻧﺎﻣﺞ ﺑﺎﻟﺘﺤﻘﻖ ﻣﻦ اﻟﺸﺮط ﻓﻲ ﻧﮭﺎﯾﺔ اﻟﺤﻠﻘﺔ ,وھﺬا ﯾﻌﻨﻲ أﻧﮫ إذا ﻟﻢ ﯾﺘﺤﻘﻖ اﻟﺸﺮط ﻓﺴﻮف ﯾﺘﻢ ﺗﻜﺮار اﻟﺤﻠﻘﺔ ﻣﺮة واﺣﺪة ﻓﻘﻂ. 49 اﻟﮭﺪف ﻣﻦ اﻟﻤﺤﺎﺿﺮة اﻟﺜﺎﻣﻨﺔ: .1اﻟﺘﻌﺮف ﻋﻠﻰ اﻟﺪوال. .2ﻣﺰاﯾﺎ اﺳﺘﺨﺪام اﻟﺪوال. .3اﻟﺘﻌﺮف ﻋﻠﻰ أﻧﻮاﻋﮭﺎ . 1-5اﻟﺪوال methods وھﻲ ﻋﺒﺎرة ﻋﻦ طﺮق ودوال ﻣﻦ ﺗﻌﺮﯾﻒ )ﺗﺼﻤﯿﻢ( اﻟﻤﺒﺮﻣﺞ أو ﺗﻜﻮن ﺟﺎھﺰة ﻓﻲ اﻟﺒﺮﻧﺎﻣﺞ. واﻟﻐﺮض ﻣﻨﮭﺎ ھﻮ ﺗﺴﮭﯿﻞ ﻋﻤﻠﯿﺔ اﻟﺒﺮﻣﺠﺔ ﻓﻲ اﻷﺷﯿﺎء اﻟﺘﻲ ﺗﺘﻜﺮر أﻛﺜﺮ ﻣﻦ ﻣﺮة ﻓﻲ اﻟﺒﺮﻧﺎﻣﺞ. اﻟﮭﺪف ﻣﻦ اﻟﺪوال ﻓﻲ ﺣﺎﻟﺔ ﺗﻜﺮار ﻣﺠﻤﻮﻋﺔ ﻣﻦ ﺳﻄﻮر اﻷواﻣﺮ أﻛﺜﺮ ﻣﻦ ﻣﺮة ﻓﻲ ﻣﻮاﺿﻊ ﻣﺨﺘﻠﻔﺔ ﻓﻲ اﻟﺒﺮﻧﺎﻣﺞ ﻓﺈن أواﻣﺮ اﻟﺘﻜﺮار ﻟﻦ ﺗﻜﻮن ذات ﻣﻨﻔﻌﺔ.وﻟﺬﻟﻚ ﯾﺘﻢ ﻛﺘﺎﺑﺔ ھﺬه اﻟﺠﻤﻞ ﻣﻨﻔﺼﻠﺔ ﻋﻦ اﻟﺒﺮﻧﺎﻣﺞ اﻟﺮﺋﯿﺴﻲ . ﻣﺰاﯾﺎ اﺳﺘﺨﺪام اﻟﺪوال -1ﻋﺪم اﻟﺤﺎﺟﺔ إﻟﻰ ﺗﻜﺮار اﻟﺘﻌﻠﯿﻤﺎت داﺧﻞ اﻟﺒﺮﻧﺎﻣﺞ ﺣﯿﺚ ﯾﺘﻢ إﻧﺸﺎء اﻟﺪاﻟﺔ ﻣﺮة واﺣﺪة وﯾﻤﻜﻦ اﺳﺘﺪﻋﺎﺋﮭﺎ أﻛﺜﺮ ﻣﻦ ﻣﺮة ﻋﻨﺪ اﻟﺤﺎﺟﺔ إﻟﯿﮭﺎ . -2ﺑﺎﺳﺘﺨﺪام اﻟﺪوال ﯾﺼﺒﺢ اﻟﺒﺮﻧﺎﻣﺞ أﻛﺜﺮ وﺿﻮﺣﺎ. -3ﺑﺎﺳﺘﺨﺪام اﻟﺪوال اﻟﺠﺎھﺰة ﯾﻤﻜﻦ ﺗﻮﻓﯿﺮ اﻟﻜﺜﯿﺮ ﻣﻦ اﻟﻮﻗﺖ واﻟﺠﮭﺪ. ھﻨﺎك ﻧﻮﻋﺎن ﻣﻦ اﻟﺪوال ﯾﻤﻜﻦ اﺳﺘﺨﺪاﻣﮭﻤﺎ: -1دوال ﺟﺎھﺰة ﯾﻤﻜﻦ أن ﺗﻮﻓﺮھﺎ ﻟﻐﺔ اﻟﺠﺎﻓﺎ . -2دوال ﯾﻤﻜﻦ ﺗﻌﺮﯾﻔﮭﺎ ﻋﻦ طﺮﯾﻖ اﻟﻤﺴﺘﺨﺪم. 5-1 -1دوال ﺟﺎھﺰة ﯾﻤﻜﻦ إن ﺗﻮﻓﺮھﺎ ﻟﻐﺔ اﻟﺠﺎﻓﺎ . ﻣﺜﻞ اﻟﺪوال اﻟﺮﯾﺎﺿﯿﺔ ﺑﺄﻧﻮاﻋﮭﺎ واﻟﺠﺪول ﺷﻜﻞ ) (1-15اﻵﺗﻲ ﯾﺒﯿﻦ اﻟﺪوال اﻟﺤﺴﺎﺑﯿﺔ اﻟﺠﺎھﺰة ﻓﻲ ﻟﻐﺔ اﻟﺠﺎﻓﺎ : 49 ﺷﻜﻞ )(1-15 اﻟﺠﺪول ﺷﻜﻞ ) (1-16ﯾﺒﯿﻦ اﻟﻤﻜﺘﺒﺎت اﻟﺨﺎﺻﺔ ﺑﺎﻟﺠﺎﻓﺎ وﻣﺎ ﺗﻘﺪﻣﮫ ھﺬه اﻟﻤﻜﺘﺒﺎت ﻣﻦ ﺧﺪﻣﺎت . اﻟﺘﻄﺒﯿﻘﺎت اﻟﺨﺪﻣﺎت /اﻟﻔﺌﺎت اﻟﻤﻜﺘﺒﺔ اﻟﺒﺮﻣﺠﺔ اﻟﺨﻮارزﻣﯿﺔ اﻟﻌﺎدﯾﺔ. java.utilﺗﺤﺘﻮي ھﺬه اﻟﺒﺎﻗﺔ ﻋﻠﻰ ﻓﺌﺎت ﺗﻤﺜﻞ ھﯿﺎﻛﻞ ﺑﯿﺎﻧﺎت ﻋﺎﻣﺔ اﻻﺳﺘﻌﻤﺎل ﻣﺜﻞ اﻟﺼﻔﻮف و اﻟﻤﺠﻤﻮﻋﺎت و ﻏﯿﺮھﺎ. اﻟﺒﺮاﻣﺞ اﻟﺘﻲ ﺗﺘﻄﻠﺐ ﻣﻌﺎﻣﻠﺔ java.ioﺗﺤﺘﻮي ھﺬه اﻟﺒﺎﻗﺔ ﻋﻠﻰ ﻓﺌﺎت ﺗﺘﺼﺮف ﻓﻲ ﻋﻤﻠﯿﺎت ﻓﻮرﯾﺔ ﻣﻊ اﻟﻤﺴﺘﺨﺪم. ﺗﺼﺪﯾﺮ و ﺗﻮرﯾﺪ اﻟﺒﯿﺎﻧﺎت. ﻛﻞ اﻟﺒﺮاﻣﺞ /ﻛﻞ اﻟﺘﻄﺒﯿﻘﺎت. java.langﺗﺤﺘﻮي ھﺬه اﻟﺒﺎﻗﺔ ﻋﻠﻰ اﻟﻔﺌﺎت اﻟﻤﺘﻌﻠﻘﺔ ﺑﺘﻨﻔﯿﺬ اﻟﺒﺮﻧﺎﻣﺞ و ﻣﺮاﻗﺒﺘﮫ ،ﺑﻤﺎ ﻓﯿﮭﺎ اﻟﻔﺌﺎت اﻟﺘﻲ ﺗﻌﺎﻟﺞ أﺧﻄﺎء اﻟﺘﻨﻔﯿﺬ و ﺑﻌﺾ اﻟﻔﺌﺎت اﻟﻌﺎﻣﺔ.ﻧﻈﺮا ﻷھﻤﯿﺘﮭﺎ ،ﻓﺈن ھﺬه اﻟﺒﺎﻗﺔ ﯾﻘﻊ ﺗﻮرﯾﺪھﺎ ﺿﻤﻨﯿﺎ ﻓﻲ ﻛﻞ ﺑﺮﻧﺎﻣﺞ. 49 اﻟﺘﻄﺒﯿﻘﺎت اﻟﮭﻨﺪﺳﯿﺔ و ﺗﻄﺒﯿﻘﺎت java.mathﺗﺤﺘﻮي ھﺬه اﻟﺒﺎﻗﺔ ﻋﻠﻰ ﻓﺌﺎت ﺗﻘﻮم ﺑﻌﻤﻠﯿﺎت اﻟﺮﯾﺎﺿﯿﺎت. ﺣﺴﺎﺑﯿﺔ ،ﺑﺄي دﻗﺔ ﯾﻄﻠﺒﮭﺎ اﻟﻤﺴﺘﺨﺪم. ﺗﻄﺒﯿﻘﺎت اﻟﺘﺼﺮف اﻟﺘﻲ ﺗﺘﻄﻠﺐ java.sqlﺗﺤﺘﻮي ھﺬه اﻟﺒﺎﻗﺔ ﻋﻠﻰ ﻓﺌﺎت ﺗﺨﺘﺺ ﻓﻲ ﻋﻤﻠﯿﺎت ﻗﻮاﻋﺪ ﺑﯿﺎﻧﺎت. ﻋﻠﻰ ﻗﻮاﻋﺪ اﻟﺒﯿﺎﻧﺎت. ﺗﻄﺒﯿﻘﺎت ﺗﺘﻄﻠﺐ واﺟﮭﺎت رﺳﻮﻣﯿﺔ java.awtﺗﺤﺘﻮي ھﺬه اﻟﺒﺎﻗﺔ ﻋﻠﻰ ﻓﺌﺎت ﺗﺨﺘﺺ ﻓﻲ اﻟﺮﺳﻢ و ﻣﻊ اﻟﻤﺴﺘﺨﺪم. ﻓﻲ إﻧﺠﺎز واﺟﮭﺎت رﺳﻮﻣﯿﺔ. ﺗﻄﺒﯿﻘﺎت ﺗﺘﻄﻠﺐ واﺟﮭﺎت رﺳﻮﻣﯿﺔ java.swingﺗﻤﺪد ھﺬه اﻟﺒﺎﻗﺔ إﻣﻜﺎﻧﯿﺎت و ﻗﺪرات اﻟﺒﺎﻗﺔ اﻟﺴﺎﺑﻘﺔ. ﻣﻊ اﻟﻤﺴﺘﺨﺪم. ﺗﻄﺒﯿﻘﺎت ﺗﺘﻄﻠﺐ إﺟﺮاءات أﻣﻨﯿﺔ. java.securitﺗﺤﺘﻮي ھﺬه اﻟﺒﺎﻗﺔ ﻋﻠﻰ ﻓﺌﺎت ﺗﺨﺘﺺ ﻓﻲ ﺗﻨﻔﯿﺬ yإﺟﺮاءات أﻣﻨﯿﺔ ﻓﻲ اﻟﺒﺮﻧﺎﻣﺞ ،ﻣﺜﻞ ﻣﺮاﻗﺒﺔ اﻟﻤﺴﺘﺨﺪﻣﯿﻦ و ﺻﯿﺎﻧﺔ اﻟﻮارد و ﻏﯿﺮ ذﻟﻚ. ﺷﻜﻞ )(1-16 ﯾﻤﻜﻦ اﺳﺘﺪﻋﺎء اﻟﺪوال ﺑﻜﺘﺎﺑﺔ اﺳﻢ اﻟﻔﺼﯿﻠﺔ)اﻟﻔﺌﺔ( ﻣﺘﺒﻮﻋﺎً ﺑﻨﻘﻄﺔ ﺑﻌﺪھﺎ اﺳﻢ اﻟﻄﺮﯾﻘﺔ ﺛﻢ ﻗﺎﺋﻤﺔ اﻟﻤﻌﺎﻣﻼت داﺧﻞ أﻗﻮاس داﺋﺮﯾﺔ ﻛﻤﺎ ﯾﻠﻲ: )Class_Name.method_Name(Argument List ﻓﻤﺜﻼ إذا أردﻧﺎ اﻟﺤﺼﻮل ﻋﻠﻰ اﻟﺠﺬر أﻟﺘﺮﺑﯿﻌﻲ ﻟﻠﻌﺪد) (25ﻓﯿﻤﻜﻦ ﻛﺘﺎﺑﺔ اﻟﺼﯿﻐﺔ ﻛﺎﻟﺘﺎﻟﻲ: ; ))System.out.print(Math.sqrt (25.0 ﺗﻘﻮم ھﺬه اﻟﺠﻤﻠﺔ ﺑﺎﺳﺘﺪﻋﺎء اﻟﺪاﻟﺔ ) (sqrtاﻟﻤﻮﺟﻮدة ﻓﻲ اﻟﻔﺼﯿﻠﺔ ) (Mathواﻟﺘﻲ ﺗﺄﺧﺬ ﻣﻌﺎﻣﻞ واﺣﺪ ﻣﻦ ﻧﻮع ) (Doubleوﻧﺘﯿﺠﺔ ﺗﻨﻔﯿﺬ ھﺬه اﻟﺠﻤﻠﺔ ﺳﯿﻜﻮن طﺒﺎﻋﺔ ). (5.0 49 ﻣﺜﺎل ): (19 اﻟﻤﻄﻠﻮب ﻋﻤﻞ ﺑﺮﻧﺎﻣﺞ ﯾﺴﺘﻘﺒﻞ ﻗﯿﻤﺔ ﻣﻦ ﻟﻮﺣﺔ اﻟﻤﻔﺎﺗﯿﺢ ﺛﻢ ﯾﻘﻮم ﺑﺈﯾﺠﺎد اﻟﺠﺬر اﻟﺘﺮﺑﯿﻌﻲ وﻣﺮﺑﻊ ھﺬا اﻟﺮﻗﻢ وذﻟﻚ ﺑﺎﺳﺘﺨﺪام اﻟﺪوال اﻟﺠﺎھﺰة ﻓﻲ ﻟﻐﺔ اﻟﺠﺎﻓﺎ . ﺧﻄﻮات اﻟﺒﺮﻧﺎﻣﺞ ﻛﺎﻵﺗﻲ : ﻓﻲ ھﺬا اﻟﺒﺮﻧﺎﻣﺞ ﺗﻢ اﻹﻋﻼن ﻋﻦ ﻣﺘﻐﯿﺮ ﻣﻦ ﻧﻮع .(double number) double ﺛﻢ ﯾﺘﻢ إدﺧﺎل اﻟﺮﻗﻢ ﻣﻦ ﻟﻮﺣﺔ اﻟﻤﻔﺎﺗﯿﺢ وﻓﻲ ﺳﻄﺮي اﻟﻄﺒﺎﻋﺔ.اﻟﺴﻄﺮ اﻷول ﯾﻘﻮم ﺑﻄﺒﺎﻋﺔ اﻟﺠﺬر اﻟﺘﺮﺑﯿﻌﻲ أﻣﺎ اﻟﺴﻄﺮ اﻟﺜﺎﻧﻲ ﻓﯿﻘﻮم ﺑﻄﺒﺎﻋﺔ ﻣﺮﺑﻊ ھﺬا اﻟﺮﻗﻢ . وﻋﻨﺪ ﺗﻨﻔﯿﺬ اﻟﺒﺮﻧﺎﻣﺞ ﺗﻈﮭﺮ اﻟﻤﺨﺮﺟﺎت ﻛﺎﻟﺘﺎﻟﻲ : 49 -1-5-2اﻟﺪوال ﯾﻤﻜﻦ ﺗﻌﺮﯾﻔﮭﺎ ﻋﻦ طﺮﯾﻖ اﻟﻤﺴﺘﺨﺪم : اﻟﺸﻜﻞ اﻟﻌﺎم ﻟﻠﺪاﻟﺔ وﻓﯿﻤﺎ ﯾﻠﻲ ﺷﺮح اﻟﺸﻜﻞ اﻟﻌﺎم ﻟﻠﺪاﻟﺔ: طﺮﯾﻘﺔ اﻟﻮﺻﻮل ﻟﻠﺪاﻟﺔ وﯾﻮﺟﺪ ﺛﻼث طﺮق ﻧﺬﻛﺮھﺎ ﻛﺎﻟﺘﺎﻟﻲ: : public -1أي ﻋﺎﻣﺔ أي ﺗﺴﺘﻄﯿﻊ اﻟﻮﺻﻮل اﻟﯿﮭﺎ ﻣﻦ ﺧﺎرج اﻟﻔﺼﯿﻠﺔ وﻣﻦ ﺧﺎرج اﻟﺒﺮﻧﺎﻣﺞ