جافا سؤال وجواب2. ٢
ﺍﻟﺮﺣﻴﻢﺍﻟﺮﲪﻦﺍﷲﺑﺴﻢ
، اﻟﻛرﯾم ﻟوﺟﮫ ﺧﺎﻟص وﯾﺟﻌﻠﮫ اﻟﻌﻣل ھذا ﯾﺗﻘﺑل أن ﷲ أﺳﺄل
ﻻ وﻛذﻟك ، واﺣد ﺑﺳؤال وﻟو اﻟﻛﺗﺎب ﻓﻲ ﺳﺎھم ﻣن ﻛل وأﺷﻛر
ﻣن ﯾﻘدﻣوه ﻟﻣﺎ ﻟﻠﺑرﻣﺟﺔ اﻟﻌرﺑﻲ اﻟﻔرﯾﻖ ﻣﻧﺗدﯾﺎت أﺷﻛر أﻧﺳﻰ
ﺑﻌض أﺧذ ﺗم )وﻗد اﻟﻌرﺑﻲ ﻟﻠﻣﺣﺗوى إﺛراء. (ﻣﻧﮭم اﻷﺳﺋﻠﺔ
...
اﻟﻐﯾب ظﮭر
ﻓﻲ دﻋﺎﺋﻛم ﺻﺎﻟﺢ ﻣن اﻟﻣﺳﺎھﻣﯾن وﺟﻣﯾﻊ ﺗﻧﺳوﻧﻲ وﻻ..
3. ٣
اﻟﻣﺣﺗوﯾﺎت
اﻟﺻﻔـﺣﺔ
اﻷﺳﺎﺳﯾﺎت : اﻷوﻟﻰ اﻟوﺣدة
س١.................. ﺟﺎﻓﺎ ﻟﻐﺔ :....٨
س٢................... ﻣﻣﯾزاﺗﮭﺎ :٨
س٣.................. اﺻداراﺗﮭﺎ :٩
س٤.......... اﻟﺟﺎﻓﺎ ﻣﻊ اﻟوﻗت :....٩
س٥................... اﻟﺟﺎﻓﺎ اﻧﺗﺷﺎر :١٠
س٦................ اﻟﻣﺣﺟوزة اﻟﻛﻠﻣﺎت :١١
س٧ﺗﺳﻣﯾﺔ اﻋﺎدة :class...............١١
س٨:variableوvalue.................١١
س٩:اﻟﻛوﻧﺳﺗراﻛﺗر...................١١
س١٠:........... ﻛﻼس ﻣن ﻛﺎﺋن إﻧﺷﺎء١٢
س١١:private & protected & public.... ﻟﻠﻣﺗﻐﯾرات١٢
س١٢.......... ﻣﺗﻐﯾر ﻓﻲ ﻗﯾﻣﺔ ﺗﺧزﯾن :.١٣
س١٣.... ﻣﺗﻐﯾر ﻓﻲ ﻣﺗﻐﯾر ﻣﺳﺎواة :١٤
س١٤... ﻟﻠﻣﺗﻐﯾر اﻹﺑﺗداﺋﯾﺔ اﻟﻘﯾﻣﺔ ﺗﻌطﻰ ﻟم إذا :١٤
س١٥......... اﻟﻣﺗﻐﯾرات ﺗﺳﻣﯾﺔ ﻗواﻋد :١٤
س١٦اﻟﻣﺗﻐﯾرات ﻋﻠﻰ اﻟرﯾﺎﺿﯾﺔ اﻟﻌﻠﻣﯾﺎت :.....١٥
س١٧...... ﻟﻠﻣﺗﻐﯾر ﻗﯾﻣﺔ ﺿﺑط :١٦
س١٨ﺑوﻟﯾﺎن اﻟﻣﺗﻐﯾر :Boolean.....١٦
4. ٤
س١٩:if & else............١٨
س٢٠:Switch...........١٩
س٢١اﻟـ أﻧواع :Methods........٢١
س٢٢اﻟـ :Packages..........٢٢
س٢٣:overriding & overloading....٢٢
س٢٤:............ اﻟﻣﺗﻐﯾرات أﻧواع٢٢
س٢٥:escape sequence......٢٢
س٢٦ﻣﻌﻧﻰ :static.....٢٣
س٢٧ﺑﺎﻛﺞ :java.lang.*.......٢٣
س٢٨...... اﻟﻣﻘﺎرﻧﺔ ﺟﻣل ﻓﻲ && و & :٢٣
س٢٩()اﻟداﻟﺔ اﻟطرﯾﻘﺔ :toString().....٢٤
س٣٠ﻋﻣل :Compile...... ﺟﺎﻓﺎ ﻟﻣﻠف٢٧
س٣١.......... اﻟﺟﺎﻓﺎ ﺑرﻧﺎﻣﺞ ﺗﺷﻐﯾل :٢٧
س٣٢ﻣﺻطﻠﺢ :Casting........٢٧
س٣٣................. اﻟﺛواﺑت :٢٨
س٣٤:global & local & static & dynamic...٢٨
س٣٥:String & StringBuffer...٢٩
س٣٦ﻛﻼس :GregorianCalendar....٢٩
) اﻟوراﺛﺔInheritance(
س٣٧) اﻟوراﺛﺔ ﻣﻌﻧﻰ :inheritance.... (٢٩
5. ٥
س٣٨...... اﻹﺑن ﻣن اﻷب إﻟﻰ اﻟوﺻول :٣٠
) اﻹﺳﺗﺛﻧﺎءاتExceptions(
س٣٩............... اﻹﺳﺗﺛﻧﺎءات :٣٠
س٤٠............. اﻹﺳﺗﺛﻧﺎءات ﺣﻣل :٣١
س٤١............... اﻹﺳﺗﺛﻧﺎءات أﻧواع :٣١
ﻋﺎم
س٤٢............... ﻛود اﻵﺳﻛﻲ :٣٢
س٤٣ﻣﺻطﻠﺢ :Deprecated............٣٣
س٤٤:Generic Class...............٣٣
س٤٥:Interface...............٣٤
GUI
س٤٦اﻟرﺳوﻣﯾﺔ اﻟﻣﺳﺗﺧدم واﺟﮭﺔ :GUI.......٣٤
س٤٧:JFrame..........٣٥
س٤٨اﺳﺗﺧدام طرق :JFrame.........٣٥
س٤٩....... ﺑﺎﻟﻛود ﻣرﺋﯾﺔ واﺟﮭﺔ ﻋﻣل :٣٥
س٥٠:Swing..........٤٣
س٥١ﻣﻛﺗﺑﺔ :SWT...........٤٤
س٥٢:static & methods.......٤٤
س٥٣......... اﻟواﺟﮭﺎت ﻣﻛﺗﺑﺎت :٤٤
س٥٤ﻛﻼس :Color...... واﻻﺧﺗﻼف٤٦
6. ٦
س٥٥........... ﻣﻌﯾﻧﺔ وﯾب ﺻﻔﺣﺔ ﻓﺗﺢ :٤٦
س٥٦:......... اﻟﺑرﻧﺎﻣﺞ ﻟﻐﺎت ﺗﻌدد٤٧
س٥٧اﻟﻣﻠﻔﺎت :Properties.......٤٧
س٥٨ﻓﺋﺔ :Locale.............٤٨
س٥٩ﻓﺋﺔ :ResourceBuodle...........٤٨
س٦٠......... ﻧﺻﻲ ﻣﻠف ﻣﺣﺗوى ﻗراءة :٤٩
س٦١داﺧل اﻹﻗﻔﺎل أﻣر :finally......٥١
س٦٢اﻟﻔﺋﺔ ﺑﺎﺳﺗﻌﻣﺎل ﻣﻠف ﻗراءة :Scanner......٥٢
ﻋﺎم
س٦٣اﻟـ :JPA..............٥٣
س٦٤:JVM & JRE & JDK........٥٣
Data Structure
س٦٥:Databases & Data Structures...٥٥
س٦٦:LinkedList & ArrayList.....٦١
س٦٧:LinkedList & List.....٦٣
س٦٨.......... ﻣﺻﻔوﻓﺔ ﺗرﺗﯾب :٦٣
ﻋﺎم
س٦٩:Java Annotations......٦٤
س٧٠..... ﺟدﯾدة ﺣواﺷﻲ ﺑرﻣﺟﺔ :٦٨
س٧١........ اﻟﺣواﺷﻲ ﻣﻌﺎﻟﺟﺔ :٧٣
7. ٧
Databases
س٧٢:ﺑﺎﻟﺟﺎﻓﺎ أﻛﺳس ﺑﯾﺎﻧﺎت ﻗﺎﻋدة رﺑط......٨٢
Graphics 2D
س٧٣ھﻧدﺳﯾﺔ أﺷﻛﺎل رﺳم :................٩٦
ﺟﺎھزة ﻣﺷﺎرﯾﻊ
٧٤........... ﺑﺎﻟرﺳﺎم ﺷﺑﯾﮫ ﺑرﻧﺎﻣﺞ ﻋﻣل :١٠٠
٧٥:captureاﻟﺷﺎﺷﺔ ﺗﺻوﯾر..........١١٩
٧٦:splash............. اﻟﺗﺣﻣﯾل ﺟﺎري١٢٢
٧٧:open net..........................١٢٤
٧٨:count letter.... اﻟﺣروف ظﮭور ﺣﺳﺎب١٢٥
٧٩:draw Time.......... ﺟدا رھﯾب١٢٧
٨٠:Color.... ﻧوﻋﮫ وﺗﻐﯾﯾر اﻟﺧط ﺗﻠوﯾن١٣٣
٨١:clac......... اﻟﺟﺎﻓﺎ ﺑﺎﺳﺗﺧدام ﺣﺎﺳﺑﺔ١٣٥
اﻟﻛﺗﺎب ﻓﻲ اﻟﻣﺷﺎرﻛﯾن أﺳﻣﺎء١٤٣
8. ٨
اﻷﺳﺎﺳﯾﺎت
س١:؟ ﺑداﯾﺎﺗﮭﺎ ھﻲ وﻣﺎ ﺟﺎﻓﺎ ﻟﻐﺔ ﻣﺎھﻲ
ﺟﺎﻓﺎ)Java(ھﻲﻋﺑﺎرةﻋنﻟﻐﺔﺑرﻣﺟﺔاﺑﺗﻛرھﺎﺟﯾﻣسﺟوﺳﻠﯾﻧﺞﻓﻲﻋﺎم١٩٩٢م
أﺛﻧﺎءﻋﻣﻠﮫﻓﻲﻣﺧﺗﺑراتﺷرﻛﺔﺻن،ﻣﯾﻛروﺳﯾﺳﺗﻣزوذﻟكﻻﺳﺗﺧداﻣﮭﺎﺑﻣﺛﺎﺑﺔاﻟﻌﻘل
اﻟﻣﻔﻛراﻟﻣﺳﺗﺧدمﻟﺗﺷﻐﯾلاﻷﺟﮭزةاﻟﺗطﺑﯾﻘﯾﺔاﻟذﻛﯾﺔﻣﺛلاﻟﺗﯾﻠﻔزﯾون،اﻟﺗﻔﺎﻋﻠﻲوﻗدﻛﺎﻧت
ﻟﻐﺔاﻟﺟﺎﻓﺎا ًﺗطوﯾرﻟﻠﻐﺔاﻟﺳﻲﺑﻼسﺑﻼس)C(++،وﻋﻧدوﻻدﺗﮭﺎأطﻠﻖﻋﻠﯾﮭﺎﻣﺑﺗﻛرھﺎ
"أواك"ﺑﻣﻌﻧﻰﺷﺟرةاﻟﺳﻧدﯾﺎن؛وھﻲاﻟﺷﺟرةاﻟﺗﻲﻛﺎنﯾراھﺎﻣنﻧﺎﻓذةﻣﻛﺗﺑﮫوھو
ﯾﻌﻣلﻓﻲﻣﺧﺗﺑراتﺻن،ﻣﯾﻛروﺳﯾﺳﺗﻣزﺛمﺗﻐﯾراﻻﺳمإﻟﻰ،ﺟﺎﻓﺎوھذااﻻﺳم)ﻋﻠﻰ
ﻏﯾراﻟﻌﺎدةﻓﻲﺗﺳﻣﯾﺔﻟﻐﺎتاﻟﺑرﻣﺟﺔ(ﻟﯾساﻟﺣروفاﻷوﻟﻰﻣنﻛﻠﻣﺎتﺟﻣﻠﺔﻣﻌﯾﻧﺔأو
ﺗﻌﺑﯾراﺑﻣﻌﻧﻰ،ﻣﻌﯾنوﻟﻛﻧﮫﻣﺟرداﺳموﺿﻌﮫروا ّﻣطوھذهاﻟﻠﻐﺔﻟﯾﻧﺎﻓساﻷﺳﻣﺎء
،اﻷﺧرىوھﻰاﺣدىﻟﻐﺎت،اﻟﺑرﻣﺟﺔأيﻣﺟﻣوﻋﺔﻣناﻷواﻣرواﻟﺗﻌﻠﯾﻣﺎتاﻟﺗﻲﺗﻌطﻰ
ﻟﻠﺣﺎﺳبﻓﻲﺻورةﺑرﻧﺎﻣﺞﻣﻛﺗوبﺑﻠﻐﺔﺑرﻣﺟﺔﻣﻌﯾﻧﺔﺑواﺳطﺔﻣﻌﺎﻟﺞ،ﻧﺻوص
وﯾﺗﻛونﻣﺻدراﻟﺑرﻧﺎﻣﺞﻣنﻋدةﺳطوروﻛلﺳطرﯾﻌﺗﺑر،ﺟﻣﻠﺔوﯾﺗﻌﺎﻣلاﻟﺣﺎﺳبﻣﻊ
ﻛلﺟﻣﻠﺔﺑﺗرﺗﯾبﻣﻌﯾنﻹﻧﺟﺎزاﻷﻣراﻟذيﺻﻣماﻟﺑرﻧﺎﻣﺞﻟﺗﺣﻘﯾﻘﮫ.
س٢؟ ﺟﺎﻓﺎ ﻟﻐﺔ ﻣﻣﯾزات ﻣﺎھﻲ :
اﻟﺳﮭوﻟﺔ.
داﻋﻣﺔوﻣوﺟﮭﺔﻟﻠﻛﯾﺎﻧﺎت.
ﺳﮭوﻟﺔاﻟﺣﺻولﻋﻠﯾﮭﺎ.
آﻣﻧﺔ.
ﻗﺎﺑﻠﺔﻟﻠﻧﻘلواﻟﺗﻧﻔﯾذ.
إﺿﺎﻓﺔاﻟﺣرﻛﺔواﻟﺻوتإﻟﻰﺻﻔﺣﺎتاﻟوﯾب.
ﻛﺗﺎﺑﺔاﻷﻟﻌﺎبواﻟﺑراﻣﺞاﻟﻣﺳﺎﻋدة.
إﻧﺷﺎءﺑراﻣﺞذاتواﺟﮭﺔﻣﺳﺗﺧدمرﺳوﻣﯾﺔ.
ﺗﺻﻣﯾمﺑرﻣﺟﯾﺎتﺗﺳﺗﻔﯾدﻣنﻛلﻣﻣﯾزاتاﻷﻧﺗرﻧت.ﺗوﻓرﻟﻐﺔاﻟﺟﺎﻓﺎﺑﯾﺋﺔﺗﻔﺎﻋﻠﯾﺔ
ﻋﺑراﻟﺷﺑﻛﺔاﻟﻌﻧﻛﺑوﺗﯾﺔوﺑﺎﻟﺗﺎﻟﻲﺗﺳﺗﻌﻣلﻟﻛﺗﺎﺑﺔﺑراﻣﺞﺗﻌﻠﯾﻣﯾﺔﻟﻺﻧﺗرﻧتﻋﺑر
ﺑرﻣﺟﯾﺎتاﻟﻣﺣﺎﻛﺎةاﻟﺣﺎﺳوﺑﯾﺔﻟﻠﺗﺟﺎرباﻟﻌﻠﻣﯾﺔوﺑرﻣﺟﯾﺎتاﻟﻔﺻولاﻻﻓﺗراﺿﯾﺔ
ﻟﻠﺗﻌﻠﯾماﻹﻟﻛﺗروﻧﻲواﻟﺗﻌﻠﯾمﻋنﺑﻌد.ﻻﺗﻧﺣﺻرﻓﺎﻋﻠﯾﺔاﻟﺟﺎﻓﺎﻓﻲاﻟﺷﺑﻛﺔ
9. ٩
اﻟﻌﻧﻛﺑوﺗﯾﺔﻓﻘطﺑلﺗﻣﻛﻧﻧﺎﻣنإﻧﺷﺎءﺑراﻣﺞﻟﻼﺳﺗﻌﻣﺎلاﻟﺷﺧﺻﻲ،واﻟﻣﮭﻧﻲھذه
اﻟﺑراﻣﺞﺗﻧﺟزﻋﺑرﺟﻣﻠﺔﻣناﻟﺑراﻣﺞاﻟﺗﻲﺗﺳﮭلﻛﺗﺎﺑﺔاﻷواﻣرﻛﺑرﻧﺎﻣﺞ
NetBeansوEclipse.
س٣؟ اﻟﺟﺎﻓﺎ إﺻدارات ﻣﺎ :
Java SE
اﻹﺻداراﻟﻘﯾﺎﺳﻲﻣناﻟﺟﺎﻓﺎﺑﺎﻹﻧﺟﻠﯾزﯾﺔ)Java Standard Edition(ھو
اﻟﺟزءاﻟﺧﺎصﺑﺑرﻣﺟﺔﺑراﻣﺞﺳطﺢاﻟﻣﻛﺗب)StandAlone
applications.(
Java EE
اﺻداراﻹﻧﺗرﺑراﯾسﺑﺎﻹﻧﺟﻠﯾزﯾﺔ)Java Enterprise Edition(ھوﯾﺧﺗﻠف
ﻋناﻹﺻداراﻟﻘﯾﺎﺳﻲﻓﻲأﻧﮫﺧﺎصﺑﺑرﻣﺟﺔاﻟﺧوادمواﻟﺗطﺑﯾﻘﺎتاﻟﻣوزﻋﺔ
وﺑرﻣﺟﺔاﻟوﯾب.
Java ME
اﺻداراﻟﻣﺎﯾﻛروﺑﺎﻹﻧﺟﻠﯾزﯾﺔ)Java Micro Edition(وھوإﺻدارﺧﺎص
ﺑﺎﻟﺑرﻣﺟﺔﻋﻠﻰاﻟﮭواﺗفاﻟﻣﺣﻣوﻟﺔواﻷﺟﮭزةاﻟﻣﺣدودةﻓﻲاﻟﻣﺻﺎدرﻋﻣوﻣﺎ
وﺗﻌﺗﺑراﻟﺧﯾﺎراﻷولﻟﻣﺑرﻣﺟﻲأﻟﻌﺎباﻟﮭواﺗفاﻟﻣﺣﻣوﻟﺔ.
Java Fx
ّﺔﯾﺗﻘﻧأﺧرىاﺻدرﺗﮭﺎﺻنﻣﯾﻛروﺳﯾﺳﺗﻣزﻟﺗطوﯾرﺗطﺑﯾﻘﺎتﻣنﻧوع"RIA"أي
"Rich Internet Applications."
س٤؟ ﻣﺣﺗرف ﺗﺻﺑﺢ ﺣﺗﻰ اﻟﺟﺎﻓﺎ وﺗﻌﻠم ﻣﻣﺎرﺳﺔ ﻣن اﻟوﻗت ﯾﺗطﻠب ﻛم :
وﻟﻛﻲ وارادﺗﮫ اﻟﺷﺧص ھﻣﺔ ﺣﺳب ﺗﻛون اﻟﻣدة وطﺑﻌﺎ وﻛﺑﯾرة ھﺎﺋﻠﺔ ﻟﻐﺔ اﻟﺟﺎﻓﺎ
. ﺳﻧﯾن ﺧﻣﺳﺔ إﻟﻰ ﺛﻼﺛﺔ ﻟك ﯾﺣﺗﺎج ﺗﻘرﯾﺑﻲ ﻛوﻗت اﻟﻠﻐﺔ ﻓﻲ ﻣﺣﺗرف ﺗﺻﺑﺢ
11. ١١
س٧:ﺗﺳﻣﯾﺔ إﻋﺎدة ﯾﻣﻛن ﻛﯾفclassﻣﻌﯾناﻟـ أﺣد ﻋﻠﻰ ﻣنIDE؟
ﻋﻠﻰ اﻟﻘﺎﺋﻣﺔ ﻣن ﺗﺿﻐط ﺛم اﻷﯾﻣن ﺑﺎﻟزر اﻟﻛﻼس ﻋﻠﻰ ﺗﺿﻐطRefactorﺗﺧﺗﺎر ﺛم
renameﻣﻧك ﺗدﺧل دون ﺗﻠﻘﺎﺋﯾﺎ اﻟﻛود ﻓﻲ اﻻﺳم ﺗﺣدﯾث ﯾﺗم وﺳوف
س٨ﻣﺎ :ھواﻟﻣﻘﺻودﺑـvariableوvalueﻓﻲﺟﺎﻓﺎ؟
Variable:ھواﻟﻣﺗﻐﯾر.
Value:ھواﻋطﺎءاواﺳﻧﺎدﻗﯾﻣﮫﻟذﻟكاﻟﻣﺗﻐﯾر.
؟ (Constructor) س٩ھﻮ ﻣﺎ :اﻟﻜﻮﻧﺴﺘﺮاﻛﺘﺮ
ﯾﺴﺘﺨﺪماﻟﻜﻮﻧﺴﺘﺮاﻛﺘﺮﻹﻋﻄﺎءاﻟﻘﯿﻢاﻷوﻟﯿﺔﻟﻸوﺑﺠﻜﺖﻓﻲاﻟﻜﻼسوﯾﻜﻮنﻟﮫﻧﻔﺲإﺳﻢ
اﻟﻜﻼسً ﺗﻤﺎﻣﺎ
ھﻨﺎكاﺧﺘﻼفﻣﺎﺑﯿﻦاﻟﻜﻮﻧﺴﺘﺮاﻛﺘﺮواﻟﻤﯿﺜﻮدﻓﻲاﻵﺗﻲ:
اﻟﻜﻨﻮﺳﺘﺮاﻛﺘﺮ:ﯾﺴﺘﺨﺪمﻹﻋﻄﺎءاﻟﻘﯿﻢاﻻﺑﺘﺪاﺋﯿﺔﻟﻸوﺑﺠﻜﺖﻋﻨﺪﺧﻠﻘﮫ. .
اﻟﻤﯿﺜﻮد:ﺗﻌﻄﻲﻗﯿﻢﻟﻸوﺑﺠﻜﺖوﻟﻜﻦﻋﻨﺪاﺳﺘﺪﻋﺎﺋﮭﺎﻓﻘﻂ. .
public اﻟﻜﻮﻧﺴﺘﺮاﻛﺘﺮﻓﻲاﻟﻜﻼسﻻﯾﻮرثﻟﻠﺴﺐﻛﻼسوﯾﻌﺮفﻋﻠﻰأﻧﮫ
ﺣﺘﻰﺗﺴﮭﻞﻋﻤﻠﯿﺔﺧﻠﻖاﻷوﺑﺠﻜﺖﻣﻨﮫﺧﺎرجاﻟﻜﻼسﻧﻔﺴ. ﮫ
The KeyWord "THIS"
ﺗﺴﺘﺨﺪمﺑﻐﺮضا. اﻷوﺑﺠﻜﺖ ﺳﺘﺪﻋﺎء
key word "SUPER"
ﺗﺴﺘﺨﺪمﻓﻲﻛﻮﻧﺴﺘﺮاﻛﺘﺮاﻟﺴﺐﻛﻼسذﻟﻚﻟﺘﻘﻮمﺑﻮراﺛﺔﺟﻤﯿﻊاﻟﻤﺘﻐﯿﺮاتواﻟﻘﯿﻢاﻟﻤﻌﺮﻓﺔ
ﻓﻲاﻟﺴﻮﺑﺮﻛﻼس.
12. ١٢
س١٠ﺑ اﻗﻮم ﻛﯿﻒ :ﺈﺑ ﻛﻼس ﻣﻦ ﻛﺎﺋﻦ ﻧﺸﺎءﺄادراج طﺮﯾﻖ ﻋﻦ )أي ﻣﺨﺘﻠﻔﺔ ﺷﻜﺎل
؟ (ﻣﺨﺘﻠﻔﺔ ﺑﺎراﻣﺘﺮات
اﻟﻜﻮﻧﺴﺘﺮ ﻣﻦ ﻋﺪد اﻧﺸﺎء طﺮﯾﻖ ﻋﻦ ھﺬا ﯾﻜﻮناﻛﺘﺮاﻟﺤﺎﺟﺔ ﺣﺴﺐ وذﻟﻚ اﻟﻜﻼس ﻟﻨﻔﺲ
ﻟﮫ
ﻣﺜﺎل:
public constructor(){} اﻟﻜﻮﻧﺴﺘﺮ اﻧﺸﺎءااﻻﻓﺘﺮاﺿﻲ ﻛﺘﺮ
public constructor(int a){} اﻟﻜﻮﻧﺴﺘﺮ اﻧﺸﺎءاواﺣﺪ ﺑﺒﺎراﻣﯿﺘﺮ اﻻول ﻛﺘﺮ
public constructor(int a,int b){} اﻟﻜﻮﻧﺴﺘﺮ اﻧﺸﺎءا... ﺑﺒﺎراﻣﯿﺘﺮﯾﻦ اﻟﺜﺎﻧﻲ ﻛﺘﺮ
اﻟﺦ.
س١١:ﻣﺎﻣﻌﻨﻰاﻟﺒﺮﯾﻔﺎﯾﺖ)(privateواﻟﺒﺮوﺗﻜـﺘﺪprotected)(واﻟﺒﺎﺑﻠﻚ
(public)ﺑﺎﻟﻨﺴﺒﺔﻟﻠﻤﺘﻐﯿﺮات؟؟
ﻛﻞﻣﺘﻐﯿﺮﻓﻲﻟﻐﺔﺟﺎﻓﺎوﯾﺘﻤﯿﺰﺑﺨﺎﺻﯿﺔﻣﻦاﻟﺨﻮاصاﻟﺜﻼﺛﺔاﻟﻤﺬﻛﻮرةاﻋﻼهواﻟﺘﻲ
)ﺑـ ﺗﺴﻤﻰacces modefires(،وھﺬهاﻟﺨﻮاصھﻲاﻟﺘﻲﺗﺴﻤﺢﺑﺈﻣﻜﺎﻧﯿﺔاﻟﻮﺻﻮلاﻟﻰ
اﻟﻤﺘﻐﯿﺮﻣﻦﻋﺪﻣﮭﺎ.
ﺑﺮاﯾﻔﺖ)private(:وھﻲﺧﺎﺻﯿﺔﺗﺸﻔﯿﺮﻣﺘﻜﺎﻣﻞﻟﻠﻤﺘﻐﯿﺮﺣﯿﺚﯾﻤﻨﻊﻣﻨﻌﺎﺑﺎﺗﺎاﻟﻮﺻﻮل
اﻟﯿﮫﻣﻦﺧﺎرجاﻟﻜﻼساﻟﻤﻌﺮفﺑﺪاﺧﻠﮭﺎﻣﺒﺎﺷﺮة)أيﻋﻦطﺮﯾﻖاﺳﻤﮫ. (
14. ١٤
اﻟﻣﺧزﻧﺔ ﻟﻠﻣﺗﻐﯾرات ﺑﺎﻟﻧﺳﺑﺔ اﻷﻣر وﯾﺧﺗﻠفﻟﺳﻠﺳﻠﺔﻧﺻﯾﺔاﻗﺗﺑﺎس ﻋﻼﻣﺎت وﺿﻊ ﯾﺟب ﺣﯾث
ﺗﺧزﯾﻧﮭﺎ اﻟﻣراد اﻟﻘﯾﻣﺔ ﺣول
String studentName = "Hamza ";
س١٣:؟ اﻟﻧوع ﻧﻔس ﻣن آﺧر ﻣﺗﻐﯾر ﻗﯾﻣﺔ ﻟﯾﺳﺎوي اﻟﻣﺗﻐﯾرات أﺣد إﻋداد ﯾﻣﻛن ھل
ﻧﻌماﻟﺗﺎﻟﻲ اﻟﻣﺛﺎل ﻓﻲ ﻧرى ﻛﻣﺎ اﻟﻧوع ﻧﻔس ﻣن آﺧر ﻣﺗﻐﯾر ﻗﯾﻣﺔ ﻟﯾﺳﺎوي ﻣﺗﻐﯾر إﻋداد ﯾﻣﻛﻧﻧﺎ
int i = 500;
int k= i ;
س١٤:ﻗﯾﻣﺔ أﺣدد ﻟم إذا ﯾﺣدث ﻣﺎذا ﻟﻛناﻟﻠﻣﺗﻐﯾر ﺑﺗداﺋﯾﺔ؟
ﻟﻠﻣﺗﻐﯾر أوﻟﯾﺔ ﻗﯾﻣﺔ ﺗﺣدﯾد ﯾﺟب وﻟذﻟك ﺧطﺄ رﺳﺎﻟﺔ اﻟﺟﺎﻓﺎ ﻣﺗرﺟم وﯾظﮭر ﺧطﺄ ﯾﺣدث ھﻧﺎ
س١٥:؟ اﻟﻣﺗﻐﯾرات ﻟﺗﺳﻣﯾﺔ ﻣﻌﯾﻧﺔ ﻗواﻋد ھﻧﺎك ھل
ﺣﯾث اﻟﻣﺗﻐﯾرات ﺗﺳﻣﯾﺔ ﻋﻧد ﻣراﻋﺎﺗﮭﺎ ﯾﺟب ﻗواﻋد ھﻧﺎك ﻧﻌمﺑﺣرف اﻟﻣﺗﻐﯾرات أﺳﻣﺎء ﺗﺑدأ
إﻧﺟﻠﯾزي) اﻟﺗﺳطﯾر ﻋﻼﻣﺔ أو $ اﻟدوﻻر ﻋﻼﻣﺔ أو-اﻹ ﺑﺎﻗﻲ وﯾﻛون (وﺑﺷرط ﻋدد أو ﺣرف ﺳم
اﻟﺗر ﻋﻼﻣﺎت أﯾﺿﺎ إﺳﺗﻌﻣﺎل ﯾﻣﻛﻧﻧﺎ وﻻ ﻓﺎرﻏﺔ ﻣﺳﺎﻓﺎت وﺿﻊ ﻋدماﻟﺟﺎﻓﺎ ﻣﺗرﺟم ﯾظﮭر ﺣﯾث ﻗﯾم
ﻛﺎن إذا ﺧطﺄ رﺳﺎﻟﺔﻓﻲﻋﻼﻣﺎت أو ﻓﺎرﻏﺔ ﻣﺳﺎﻓﺎت اﻟﻣﺗﻐﯾر إﺳمﺗرﻗﯾمﻛﺑﯾرا ﺣرﻓﺎ اﺳﺗﻌﻣﻠت واذا
اﻟﻣﺛﺎل ﺳﺑﯾل ﻋﻠﻰ اﻟﺑرﻧﺎﻣﺞ ﻛل ﻓﻲ اﻟطرﯾﻘﺔ ﺑﻧﻔس اﺳﺗﻌﻣﺎﻟﮫ ﯾﺟب ﻓﺎﻧﮫ ﻣﺗﻐﯾر اﺳم ﻓﻲ:
studentName ھذا ﻧﻔس ﯾﻛون ﻟن ﻟﻣﺗﻐﯾر اﺳم ھذا
StudentName ﺗﻐﯾﯾراﻟﻣﺗﻐﯾر ﻻﺳم اﻟﺑرﻧﺎﻣﺞ ﻧﻔس ﻓﻲ ﻛﺑﯾر اﻟﻰ ﺻﻐﯾر ﻣن اﻷول اﻟﺣرف
اﻟﺗرﺟﻣﺔ ﻋﻧد ﺧطﺄ اﻟﻰ ﯾؤدي
ﻣن اﻷول واﻟﺣرف اﻟﻣﺗﻐﯾر ھذا اﺳﺗﻌﻣﺎل ﻣن اﻟﻐرض ﻋﻠﻰ داﻻ اﻟﻣﺗﻐﯾر اﺳم ﯾﻛون أن ﯾﺟب وﻟذﻟك
اﻷول اﻟﺣرف ﯾﻛون ﻛﻠﻣﺔ ﻣن أﻛﺛر ﻣن اﻟﻣﺗﻐﯾر اﺳم ﺗﻛون ﺣﺎﻟﺔ وﻓﻲ ﺻﻐﯾرا ﯾﻛون أن ﯾﺟب اﺳﻣﮫ
اﻟﻛ ﻣنﺗرﻗﯾم ﻋﻼﻣﺎت أو ﻓواﺻل وﺑدون ﻛﺑﯾرة ﺑﺣروف ﺗﺑدأ اﻟﻛﻠﻣﺎت وﺑﺎﻗﻲ ﺻﻐﯾرا اﻷوﻟﻰ ﻠﻣﺔ
15. ١٥
س١٦:؟ اﻟﻣﺗﻐﯾرات ﻋﻠﻰ اﻟرﯾﺎﺿﯾﺔ اﻟﻌﻣﻠﯾﺎت ﻋن ﻣﺎذا
وﻋﻠﻰ اﻟﻣﺑرﻣﺞ ﻓﻲ رﯾﺎﺿﻲ وﻓﻛر ﻣﻌﯾﻧﺔ رﯾﺎﺿﯾﺔ ﻗدرات ﻋﻣوﻣﺎ اﻟﺑرﻣﺟﺔ ﺗطﻠب ﺳﺎﺑﻘﺎ ﻗﻠﻧﺎ ﻛﻣﺎ
أﻧﮫ اﻻ اﻟرﯾﺎﺿﯾﺔ اﻟﻌﻣﻠﯾﺎت ﺑﻛل اﻟﺣﺎﺳب ﻗﯾﺎم ﻣن اﻟرﻏمﺣﺗﻰ اﻟﻣﺑرﻣﺞ ﻣن وأواﻣر ﺗﻌﻠﯾﻣﺎت ﯾرﯾد
رﯾﺎﺿﯾﺔ ﻋﻣﻠﯾﺎت اﻟﻰ ﺗﺣﺗﺎج واﻟﺗﻲ ﻟﻠﺣﺎﺳب ﺗﻌطﯾﮭﺎ اﻟﺗﻲ اﻷواﻣر وﺗﺳﻣﻰ ﻋﻣﻠﯾﺎت ﺑﮭﻛذا ﯾﻘوم
وﯾﻣﻛﻧﻧﺎ ﺗﻌﺎﺑﯾر
اﻟﺑرﻧﺎﻣﺞ ﻓﻲ اﻟﻣﻌﺎدﻻت واﺳﺗﻌﻣﺎل ﻣﺗﻐﯾر ﻗﯾﻣﺔ ﺗﻐﯾﯾر ﻣﻧﮭﺎ ﻣﮭﺎم ﺑﻌدة ﻟﻠﻘﯾﺎم اﻟﺗﻌﺎﺑﯾر ھذه اﺳﺗﺧدام
ا ﻓﻲ ﻣﺎ ﻋﻣل ﺣدوث ﻣرات ﻋدد وﺗﺳﺟﯾلواﻟﺿرب واﻟطرح اﻟﺟﻣﻊ اﻟﺗﻌﺎﺑﯾر ھذه وﺗﺳﺗﻌﻣل ﻟﺑرﻧﺎﻣﺞ
اﻟﻘﺳﻣﺔ وﺑﺎﻗﻲ واﻟﻘﺳﻣﺔ
ﻛذﻟك اﻟﯾس اﻟﺣﺳﺎب ﻣدرس واﻟﻰ اﻻﺑﺗداﺋﯾﺔ اﻟﻣرﺣﻠﺔ اﻟﻰ رﺟﻌﻧﺎ أﻧﻧﺎ ھذا ﯾﻌﻧﻲ
واﻷﺣﻼم اﻟﺑراءة ﺣﯾث اﻟﺧواﻟﻲ اﻷﯾﺎم وﺗﻠك اﻷوﻟﻰ واﻟﻣرﺣﻠﺔ اﻟطﻔوﻟﺔ ذﻛرﯾﺎت اﻟﻰ اﻟﻌودة أﺟﻣل ﻣﺎ
ﻧرﺟ ـ ﻋﻠﯾﻧﺎ ﻣﺎ ـ اﻟوردﯾﺔوﻧﺳﺗرﺟﻊ اﻹﻋدادﯾﺔ اﻟﻣرﺣﻠﺔ ﻓﻲ اﻟرﯾﺎﺿﯾﺎت ﻣدرس أﯾﺎم اﻟﻰ ﺑﺎﻟذاﻛرة ﻊ
اﻷرﺑﻊ وﻋﻼﻣﺎﺗﮭﺎ واﻟﻘﺳﻣﺔ واﻟﺿرب واﻟطرح اﻟﺟﻣﻊ اﻟﺣﺳﺎب ﻓﻲ اﻟﺷﮭﯾرة اﻷرﺑﻊ اﻟﻌﻣﻠﯾﺎت
اﻟﻣﻌروﻓﺔ +
و-ﻹﺟراء اﻟﺟﺎﻓﺎ ﺑراﻣﺞ ﻓﻲ اﻟﻣؤﺛرات ھذه وﺗﺳﺗﻌﻣل ﻣؤﺛرات ﺗﺳﻣﻰ اﻟرﻣوز ھذه / و * و
اﻟرﯾﺎﺿ اﻟﻌﻣﻠﯾﺎتو * ﺑﯾن اﻹﺧﺗﻼف ﻋن ﺗﺳﺎؤل ﯾراودك طﺑﻌﺎ اﻷرﻗﺎم ﻋﻠﻰ ﯾﺔ×و / وﺑﯾن÷
ﻋﻠﻰ ﻧﻣﺷﻲ اﻟذي اﻟدﺳﺗور ﺑﻣﺛﺎﺑﺔ وھذا اﻷﻣور ﯾﺳﮭل اﻟﺑداﯾﺔ ﻣن ﻗواﻋد ﻋﻠﻰ ﻓﯾﮫ ﻧﺗﻔﻖ أﻣر ﻛل وﻟﻛن
ﻣﻧﮭﺎﺟﮫ
operators ( )ﻣؤﺛرات ﻣﻌﺎﻣﻼت
اﻟﺟﻣﻊ ﻋﻣﻠﯾﺔ ﻹﺟراء + اﻟﻌﻼﻣﺔ ﻧﺳﺗﻌﻣل
اﻟﻌﻼﻣﺔ ﻧﺳﺗﻌﻣل-اﻟطرح ﻟﺗﻌﺑﯾر
اﻟﺟﺎﻓﺎ ﺑراﻣﺞ ﻓﻲ * اﻟﻌﻼﻣﺔ اﻟﺿرب ﺗﻌﺑﯾر ﯾﺳﺗﻌﻣل
اﻟﺟﺎﻓﺎ ﺑراﻣﺞ ﻓﻲ / اﻟﻌﻼﻣﺔ اﻟﻘﺳﻣﺔ ﺗﻌﺑﯾر ﯾﺳﺗﻌﻣل
اﻟﻘﺳﻣﺔ ﺑﺎﻗﻲ ﻟﺗﺣدﯾد % اﻟﻣؤﺛر ﻧﺳﺗﻌﻣل
واﺣد ﺑﻣﻘدار اﻟﻣﺗﻐﯾر ﻓﻲ اﻟﻣﺧزﻧﺔ اﻟﻘﯾﻣﺔ ﻟزﯾﺎدة ++ اﻟﻣؤﺛر ﻧﺳﺗﻌﻣل
اﻟﻣﻌﺎﻣل ﯾﺳﺗﺧدم--وا ﺑﻣﻘدار اﻟﻣﺗﻐﯾر ﻗﯾﻣﺔ ﻹﻧﻘﺎصﺣد
16. ١٦
س١٧:أﻓﻲ ﺣﺳﺎﺑﯾﺔ ﻋﻣﻠﯾﺔ ﻣن أﻛﺛر ھﻧﺎك ﻛﺎن إذا ﯾﻌﻧﻲ اﻟﺗﻌﻘﯾد ﻓﻲ ﺑدأت ﻗد اﻷﻣور أن ﺗرى ﻻ
اﻟﺗر أﻋرف أن ﯾﻧﺑﻐﻲ اﻻ اﻟﺑرﻧﺎﻣﺞﺗﯾﻣﻛﻧﻧﻲ ﺣﺗﻰ اﻟﻌﻣﻠﯾﺎت ھذه ﻹﻧﺟﺎز اﻟﺣﺎﺳب ﯾﺗﺑﻌﮫ اﻟذي ﯾب
؟ اﻟﻣﺗﻐﯾر ﻗﯾﻣﺔ ﺿﺑط
اﻟﺛﺎﻧوﯾﺔ اﻟﻣرﺣﻠﺔ ﻓﻲ اﻟدراﺳﺔ ﻣن وﻧﺳﺗرﺟﻊ ﺟدا ھﺎم ﻣوﺿوع ھذا أﺣﺳﻧتﻣدرس ﻛﺎن ﻛﯾف
اﻟﻌﻣﻠﯾﺎت ھذه ﻓﻲ ﻣن ﯾﺳﺑﻖ وﻣن اﻵﺧر ﻋﻠﻰ ﯾﺗوزع وﻣن اﻷﻣر ھذا ﻋﻠﻰ ﯾرﻛز اﻟرﯾﺎﺿﯾﺎت
اﻟﺗﺎﻟﻲ اﻟﺗرﺗﯾب ﺣﺳب اﻟﻌﻣﻠﯾﺎت ھذه ﺗﺗم اﻟﺣﺎﺳب ﺑراﻣﺞ وﻓﻲ اﻟرﯾﺎﺿﯾﺔ
واﺣد ﺑﻣﻘدار واﻟﻧﻘص اﻟزﯾﺎدة أوﻻ ﯾﺗم
اﻟﻘﺳﻣﺔ وﺑﺎﻗﻲ واﻟﻘﺳﻣﺔ اﻟﺿرب ذﻟك ﯾﻠﻲ
واﻟطرح اﻟﺟﻣﻊ ذﻟك ﺑﻌد ﯾﺄﺗﻲ
ﺛماﻟﻣﻘﺎرﻧﺔ
اﻟﻣﺗﻐﯾر ﻗﯾﻣﺔ ﻟﺿﺑط = اﻟﻌﻼﻣﺔ وﺗﺳﺗﺧدم
س١٨:ھلﯾ؟ ،ﺧطﺄ ﺻواب ـ ھﻣﺎ ﻓﻘط ﻗﯾﻣﺗﯾن ﻟﺗﺧزﯾن ﯾﺳﺗﻌﻣل اﻟذي ﺑوﻟﯾﺎن اﻟﻣﺗﻐﯾر رﺟﻊ
وﻻ اﻟﺧطﺄ أو اﻟﺻواب ﺣﯾث ﻣن اﻟﺷرط ﺗﺧﺗﺑر ﺣﯾث اﻟﻣﺑدأ ﺑﻧﻔس ﺗﻌﻣل اذا اﻟﺟﻣﻠﺔ ﺻدﯾﻖ ﯾﺎ ﻧﻌم
ﺻﺣﯾﺣﺎ اﻟﺷرط ﻛﺎن إذا إﻻ ﺑﺎﻟﻌﻣل ﺗﻘوم
ﺑﺳﯾط ﻣﺛﺎل؟ ﺳﻣﺣت ﻟو اﻷﻣور ﯾوﺿﺢ
if (hour < 12)
System.out.println("Good morning.");
ﯾﺣدث ﻟن ﻓﺎﻧﮫ اﻟﺷرط ﯾﺗﺣﻘﻖ ﻟم اذا أﻧﮫ ﺑﻣﻌﻧﻰ اﻟﺷرط ﺑﻔﻌل ﯾرﺗﺑط اﻟﺷرط ﺟواب أن ھﻧﺎ وﻧﻼﺣظ
ﺷﻲء
؟ أﻓﻌل ﻓﻣﺎذا ﻗﯾﻣﺗﯾن ﺑﯾن أﻗﺎرن أن أرﯾد اﻟﺣﺎﻻت ﺑﻌض ﻓﻲ وﻟﻛن
ﻣن أﺻﻐر اﻟﻣؤﺛر اﺳﺗﺧدام ﯾﻣﻛﻧك ﻣﻧﮭﺎ أﻗل أو أﺧرى ﺗﺳﺎوي ﻣﻌﯾﻧﺔ ﻗﯾﻣﺔ ھل ﺗﺧﺗﺑر أن أردت اذا
17. ١٧
ﯾﺳﺎوي أو >=
<= ﯾﺳﺎوي أو ﻣن أﻛﺑر ﻻﺧﺗﺑﺎر ﯾﺳﺗﺧدم
<= & >=
؟ ﻓﻘط اﻟﻣﺳﺎوة إﺧﺗﺑﺎر ﯾﻣﻛﻧﻧﻲ ھل
ﯾﺳﺎوي ﻣﺎ ﻣﺗﻐﯾر وھل ﻻ أو ﻣﻌﯾﻧﺔ ﻗﯾﻣﺔ ﯾﺳﺎوي ﻣﺎ ﻣﺗﻐﯾر ﻛﺎن اذا ﻣﺎ اﺧﺗﺑﺎر ﯾﻣﻛﻧك ﻧﻌمآﺧر ﻣﺗﻐﯾر
ﻋﻼﻣﺗﻲ ﺗﺳﺗﻌﻣل ﻻ أﻧﮫ ﻋﻠﻰ وﻧؤﻛد ﯾﺳﺎوي ﻋﻼﻣﺗﻲ ﻣن ﯾﺗﻛون أﻧﮫ وﻧﻼﺣظ == اﻟﻣؤﺛر ﺑﺎﺳﺗﻌﻣﺎل
اﻟﺷرطﯾﺔ اﻟﺟﻣل ﻓﻲ اﻻ اﻟﺗﺳﺎوي
؟ ﯾﻛون ﻛﯾف اﻟﻣﺳﺎوة ﻋدم واﺧﺗﺑﺎر طﯾب
اﻟﻣﺳﺎوة ﻋدم ﻻﺧﺗﺑﺎر != اﻟﻣؤﺛر ﻧﺳﺗﻌﻣل
؟ اﻟﻣﺗﻐﯾرات أﻧواع ﻟﻛل اﻟﺳﺎﺑﻘﯾن اﻟﻣؤﺛرﯾن ﻧﺳﺗﺧدم وھل
ﻧﺳﺗﺧدمﺑﺳﻠﺳﻠﺔ اﻟﺧﺎص اﺳﺗرﯾﻧﺞ اﻟﻣﺗﻐﯾر ﻋدا ﻣﺎ اﻟﻣﺗﻐﯾرات أﻧواع ﻟﻛل != & == اﻟﻣؤﺛرﯾن
اﻟﻧﮭﺞ اﺳﺗﻌﻣﺎل اﻟﻰ ﺣﯾﻧﮫ ﻓﻲ وأﺷرﻧﺎ اﻟﻣوﺿوع ھذا ﻋن اﻟﺳﺎدس اﻟدرس ﻓﻲ ﺗﻛﻠﻣﻧﺎ وﻗد اﻟﺣروف
ﺣروف ﺳﻠﺳﻠﺗﻲ ﺗﺳﺎوي ﻻﺧﺗﺑﺎر اﯾﻛوال
اﻟﻧﮭﺞ وھو واﺣدا أﻣرا اﻟﺷرط ﺟواب ﺗﺟﻌل اﻟﺳﺎﺑﻘﺔ اﻷﻣﺛﻠﺔ ﺟﻣﯾﻊ ﻓﻲ
println ( )
؟ ﻧﻔﻌل ﻓﻣﺎذا اﻟﺷرط ﻟﻔﻌل ﻛﻧﺗﯾﺟﺔ ﻣﮭﻣﺔ ﻣن أﻛﺛر اﻧﺟﺎز ﻓﻲ ﻧرﻏب ﻗد اﻟﺣﺎﻻت ﻣن ﻋدﯾد ﻓﻲ وﻟﻛﻧﻧﺎ
اﻟﺑرﻣﺟﺔ ﻓﻲ اﻟﺻﺣﯾﺢ اﻟﻧﮭﺞ ﺗﻧﺗﮭﺞ ﺑدأت ﻗد اﻵن أﻧك وأﺑﺷرك ﺣﻖ ﻣﻌك ﯾﺎﺻدﯾﻘﻲ ﺻﺣﯾﺢ ﻛﻼﻣك
ﺻدﻓﺎﺗﮫ ﻓﻲ اﻟدر ﻋن ﻟﻧﺑﺣث اﻟﺑرﻣﺟﺔ ﺑﺣر ﻓﻲ اﻟﻐوص اﻟﻰ ﺗﺄﺧذﻧﺎ اﻟﻣﻠﺣوظﺔ وھذه
ﻟﻛﻲﻛﻧ ﻣﮭﻣﺔ ﻣن أﻛﺛر ﺗﻧﺟزﺗاﻟﺣﺎﺻرﺗﯾن { } ﺑواﺳطﺔ ﻛﺗﻠﯾﺔ ﺟﻣل ﺗﻧﺷﺄ أن ﻋﻠﯾك اﻟﺷرط ﻟﺗﺣﻘﻖ ﯾﺟﺔ
18. ١٨
ﻣﺟﻣوﻋﺔ اطﺎر ﻓﻲ ﻣرﺗﺑﺔ ﺟﻣل ھﻲ اﻟﻛﺗﻠﯾﺔ اﻟﺟﻣل ﺑﺎﻟﻣﻧﺎﺳﺑﺔ
main( )
ﻓﻌل ﻣﻊ اﻟﻛﺗﻠﯾﺔ اﻟﺟﻣل ﻧﺳﺗﻌﻣل ًاذا { اﻟﻐﻠﻖ ﺑﺣﺎﺻرة وﺗﻧﺗﮭﻲ } اﻟﻔﺗﺢ ﺑﺣﺎﺻرة ﺗﺑدأ اﻟﻛﺗﻠﺔ وھذه
اﻟﺣﺎﺳب ﻧﺟﻌل ﻟﻛﻲ اﻟﺷرطﻛﻧ ﻣﮭﺎم ﻋدة ﺑﺈداء ﯾﻘومﺗاﻟﺷرطﯾﺔ اﻟﺟﻣﻠﺔ ﻟﺗﺣﻘﻖ ﯾﺟﺔ
if (minute != 0) {
System.out.print(" " + minute + " ");
System.out.print( (minute != 1) ? "minutes" : "minute");
System.out.print(" past");
}
س١٩:اﻟﺷرط ﻛﺎن اذا ﻣﺎ ﻋﻣل اﻧﺟﺎز اﻟﺣﺎﺳب ﻣن ﻧرﯾد اﻷﺣﯾﺎن ﺑﻌض ﻓﻲﺑﻌﻣل واﻟﻘﯾﺎم ﺻﺣﯾﺣﺎ
اﻟﻣ ھذه ﻓﻲ اﻟﻌزﯾز أﺳﺗﺎذي ﻧﻔﻌل ﻓﻣﺎذا ﺻﺣﯾﺢ ﻏﯾر اﻟﺷرط ھذا ﻛﺎن اذا آﺧرﺷﻛﻠﺔ؟
اﻟﺟﻣﻠﺔ اﺳﺗﻌﻣل ﻋﻠﯾك ذﻟك ﺗﻔﻌل ﻟﻛﻲ
else اﻟﺟﻣﻠﺔ ﻣﻊ if
if (hour < 12)
System.out.println("Good morning.n");
else if (hour < 17)
System.out.println("Good afternoon.n");
else
System.out.println("Good evening.n");
_____________________________________________________
_________________
if ( grade = = 'A')
System.out.println(" ﺑﺎﻣﺗﯾﺎز ﻧﺎﺟﺢ ");
19. ١٩
else if ( grade = = 'B')
System.out.println(" ﺟدا ﺟﯾد ﺑﺗﻘدﯾر ﻧﺎﺟﺢ ");
else if ( grade = = 'C')
System.out.println("ﺟﯾد ﺑﺗﻘدﯾر ﻧﺎﺟﺢ ");
else if ( grade = = 'D')
System.out.println("ﻣﻘﺑول ﺑﺗﻘدﯾر ﻧﺎﺟﺢ ");
else
System.out.println(" ﻟﻼﻋﺎدة وﺑﺎق راﺳب ");
س٢٠:ﯾ اﻻ أﻋﻼه اﻟﻣﺛﺎل ﺑﺎﺳﺗﺛﻧﺎء ﻓﻘط ﺷرطﺎن ﻓﯾﮭﺎ اﻟﺳﺎﺑﻘﺔ اﻟﺣﺎﻻتﻟﻠﺗﻌﺎﻣل أﺧرى طرﯾﻘﺔ وﺟد
ﻣﺗﻧوﻋﺔ ﻣﺧﺗﻠﻔﺔ ﺷروط ﻣﻊ
ھذه ﻣﻧﻔردا ﻣﻧﮭﺎ ﻟﻛل واﻻﺳﺗﺟﺎﺑﺔ اﻟﺷروط ﻣن ﻣﺗﻧوﻋﺔ ﻣﺟﻣوﻋﺔ ﻻﺧﺗﺑﺎر أﺧرى طرﯾﻘﺔ ﯾوﺟد
اﻟﺟﻣﻠﺔ اﺳﺗﻌﻣﺎل ھﻲ اﻟطرﯾﻘﺔ
switch
----------------------------------------------------------
switch (month) {
case (1):
System.out.print("January");
break;
case (2):
System.out.print("February");
break;
case (3):
System.out.print("March");
21. ٢١
break;
case (12):
System.out.print("December");
}
ﻧﺗﺳﺗﻌﻣل ﺛم اﻟﺷﮭر ﻣﺗﻐﯾر ھﻧﺎ وھو اﺧﺗﺑﺎره اﻟﻣراد اﻟﻣﺗﻐﯾر ﺳوﯾﺗش اﻟﺟﻣﻠﺔ ﻣن اﻷول اﻟﺳطر ﯾﺣدد
ﻛﺗﻠﯾﺔ ﺟﻣﻠﺔ ﻟﺗﻛوﯾن اﻟﺣﺎﺻرﺗﯾن ذﻟك ﺑﻌد
case اﻟﺟﻣﻠﺔ
ﻣﻌﯾﻧﺔ ﺑﻘﯾﻣﺔ ﻣﻘﺎرﻧﺔ ﺳوﯾﺗش اﻟﺟﻣﻠﺔ ﻓﻲ اﻟﻣﺣدد اﻻﺧﺗﺑﺎر ﻣﺗﻐﯾر ﻗﯾﻣﺔ اﻟﺟﻣﻠﺔ ھذه ﺗﺧﺗﺑر
س٢١أﻧواع ھﻲ ﻣﺎ :الMethods؟ اﻟﺟﺎﻓﺎ ﻓﻲ ()اﻟدوال
ھﻧﺎكﻧوﻋﺎنﻣناﻟﻣﯾﺛودز:
Getter:وﺗﺳﻣﻰaccessors methodsوﻻﺗﻐﯾرﺷﯾﺋﺎﻣنﺣﺎﻟﺔاﻷوﺑﺟﻛتوﺗﻛون
ﻣﻌﮭﺎﻛﻠﻣﺔreturnﻣﻼزﻣﺔﻟﮭﺎ.
ﻣﺛﺎل:frog.getPostion()ﻻﺗرﺟﻊأيﻗﯾم.
Setter:وﺗﺳﻣﻲMutater methodsﺗﻐﯾرﻣنﺣﺎﻟﺔاﻻوﺑﺟﻛتوﻻﺗوﺟدﻣﻌﮭﺎ
ﻛﻠﻣﺔreturnﻣﺛﺎل:frog.setColour(RED(ﻏﯾرتاﻻوﺑﺟﻛتﻓروغﻟﻠون
اﻻﺣﻣر.
22. ٢٢
س٢٢اﻟـ ھﻲ ﻣﺎ :packages؟
ھﻲﻣﺟﻣوﻋﺔﻣناﻟﻛﻼﺳﺎتﯾﺗماﺳﺗدﻋﺎﺋﮭﺎﻋﻧداﻟﺣﺎﺟﺔإﻟﯾﮭﺎ.وﺗﺳﺗﺧدمﻛﻠﻣﺔimport
ﻻﺳﺗدﻋﺎﺋﮭﺎ،وﺗﻘومﺑﺎﺳﺗدﻋﺎءﺟﻣﯾﻊاﻟﻛﻼﺳﺎتذاتاﻟﻌﻼﻗﺔﻓﻲاﻟﺑﺎﻛﺞﻋﻼﻣﺔ وﺿﻊ ﻋﻧد
(*) اﻟﻧﺟﻣﺔ.
ھﻧﺎكﻧوﻋﯾنﻣناﻟﺑﺎﻛﺞﻓﻲاﻟﺟﺎﻓﺎ:
١-standered java backages-------<ﻛﻼﺳﺎتﺟﺎھزةﻟﻼﺳﺗﺧدام.
٢-developer java packages-------<ﺗﻛﺗباوﺗطورﺑواﺳطﺔاﻟﻣﺑرﻣﺞﻧﻔﺳﮫ.
س٢٣اﻟﻔرق ھو ﻣﺎ :ال ﺑﯾنoverriding & overloading؟
overriding:ﺗﻌﻧﻲأنﻧﻔساﻟﻣﯾﺛودﺑﻧﻔساﻷﺳمﻓﻲاﻟﺳوﺑرﻛﻼسواﻟﺳبﻛﻼس
ﺗﻌدﯾﻠﮫ أو ﺗﻐﯾﯾره اﻟﻣراد اﻷﻣر ﺣﺳب ﻛﻼس اﻟﺳب ﻓﻲ ﻋﻠﯾﮭﺎ ﻧﻌدل ﻟﻛﻧﻧﺎ.
overloading:ﻧﻔساﻟﻣﯾﺛودﻓﻲﻧﻔساﻟﻛﻼسﻟﻛﻧﮭﺎﺗﺧﺗﻠفﻓﻲ. اﻟﺑﺎراﻣﯾرات ﻋدد
س٢٤؟ اﻟﺟﺎﻓﺎ ﻓﻲ اﻟﻣﺗﻐﯾرات أﻧواع ھﻲ ﻣﺎ :
primitive data type<<ﻣﺟﻣوﻋﺔﻣناﻟﻘﯾموﺗﻧﻘﺳماﻟﻲاﻧواﻋﻧﺎاﻟﻣﻌروﻓﺔ: ﻣﺛل ،
int, double, byte, etc
refrenace type<<ﺗﺷﯾرإﻟﻰاوﺑﺟﻛت: ﻣﺛلString , Array.
س٢٥ﻣﺻطﻠﺢ ھو ﻣﺎ :اﻟـescape sequence؟
ھوﻣﺻطﻠﺢﯾﻌﻧﻲاﺳﺗﺧدامﻋﻼﻣﺔاﻟﺑﺎكﺳﻼش)(ﻟﯾﻐﯾرﻣﻔﻌولﻣﺎﺑﻌداﻟﺣروفﻓﻲ
ﻟﻐﺔاﻟﺟﺎﻓﺎﻓﻣﺛﻼ:
'n'ﺗﻌﻧﻲﺳطرﺟدﯾد.
23. ٢٣
س٢٦اﺳﺗﺧدام ﻣﻌﻧﻰ ﻣﺎ :staticاﻟـ ﻓﻲmethods & variables؟
ﻋﻧدﻣﺎﯾﺣﺗوياﻟﻛﻼسﻋﻠﻲأيﻣنstatic methods OR variablesﺗﻌﻧﻲاﻧﮭﺎ
ﺗﺣﺗويﻋﻠﻰﻧﺳﺧﺔواﺣدةﻓﻘطﻓﻲاﻟﻛﻼسﻟﻛلاﻻوﺑﺟﻛﺗز.
ﯾﺗماﺳﺗﺧدامstatic variablesﻣﻊاﻟﺛواﺑتاوﻋﻧدﺗﻌرﯾفvariableواﺣدﻓﻲﻛل
اﻟﻛﻼﺳﺎت.
س٢٧* ﺑﺎﻛﺞ ھﻲ ﻣﺎ :java.lang.؟
ھذهاﻟﺑﺎﻛﺞﯾﺗماﺳﺗﺧداﻣﮭﺎﻓﻲﺟﻣﯾﻊﻛﻼﺳﺎتاﻟﺟﺎﻓﺎﻟذﻟكﻟﯾسھﻧﺎكداﻋﻲﻟﻺﺳﺗدﻋﺎﺋﮭﺎ
ﻓﻲﻛلﺑرﻧﺎﻣﺞ،،ﻷﻧﮫﯾﺗماﺳﺗدﻋﺎﺋﮭﺎاﺗوﻣﺎﺗﯾﻛﯾﺎ.
س٢٨:ﻣﺎھواﻟﻔرقﺑﯾن(&)و(&&)ﻓﻲﺟﻣلاﻟﻣﻘﺎرﻧﺔ؟
اﻟﻔرقﺑﯾﻧﮭﻣﺎ:
اﻟﺣﺎﻟﺔاﻷوﻟﻰ: (&)
ﻓﻲھذهاﻟﺣﺎﻟﺔﯾﻘوماﻟﻣﺗرﺟم)اﻟﻛوﻣﺑﯾﻠر(ﺑﺎﻟﻧظرإﻟﻰاﻟﻣدﺧلاﻷولﻓﺈذاﻛﺎنﺧﺎطﺋﺎﻓﺈﻧﮫ
ﻻﯾﻔﺣصاﻟﻣدﺧلاﻟﺛﺎﻧﻲ.
ﻣﺛﺎﻟﮫ:
public void and()
{
int a = 10 ;
int b = 5 ;
if ((a == 22) & (++b == 5))
System.out.println("case one");
System.out.println (b);
}
25. ٢٥
ھذهاﻟطرﯾﻘﺔﺗﻧﺗﺞﺻورةﻧﺻﯾﺔﻟﻠﻛﺎﺋنﻋﻠﻰﺷﻛلﻛﺎﺋنString
ھذاﺗﻌرﯾفSunﻟطرﯾﻘﺔtoString
()toStringpublic String
a string that "textuallygeneral, the toString method returnsof the object. Instring representationReturns a
that is easy for a personconcise but informative representation. The result should be arepresents" this object
to read. It is recommended that all subclasses override this method.
ﻟﻧﻔﺗرضﻟدﯾﻧﺎاﻟﻔﺋﺔ()اﻟﻛﻼساﻟﺗﺎﻟﯾﺔ
public class Person {
String firstName, lastName;
int age;
public Person(String firstName, String lastName, int age) {
this.firstName = firstName;
this.lastName = lastName;
this.age = age;
}
}
إذاﻧﻔذﻧﺎاﻟﻛوداﻟﺗﺎﻟﻲ
Person p = new Person("Ahmed", "Ali", 40);
System.out.println(p);
ﺳﻧﺣﺻلﻋﻠﻰاﻟﻧﺗﯾﺟﺔاﻟﺗﺎﻟﯾﺔ
Person@3e25a5
28. ٢٨
س٣٣اﻟﺛواﺑت ﻟﺗﻌرﯾف اﻟطرﯾﻘﺔ ھﻲ ﻣﺎ :Constants)؟ (
ﯾﺳﺗﺧدمﻣﻊاﻟﺛواﺑتﻛﻠﻣﺔfinalﻟﻠدﻻﻟﺔﻋﻠﻰاﻧﮭﺎﻗﯾﻣﺔﻧﮭﺎﺋﯾﺔﻏﯾرﻗﺎﺑﻠﺔﻟﻠﺗﻐﯾﯾر.
ﻣﺛل:;final int s = 2
س٣٤ﻣﺎ :ھواﻟﻔرقﺑﯾنھذهاﻟﻣﺗﻐﯾراتﻓﻲ؟ اﻟﺟﺎﻓﺎ
global
local
static
dynamic
globalﻣﻌﻧﺎھﺎاﻧﮫأ أيﺣدﯾﻘدرﯾﺷوفھذااﻟﻣﺗﻐﯾر..
أﻣﺎlocal]ﯾﺻﺑﺢﻋﻠﻰﻣﺳﺗوىاﻟﺑﻠوكاواﻟﻔﺎﻧﻛﺷناﻟﻠﻲﻣﺗﻌرفداﺧﻠﮭﺎ ﻓﻲاﻟﻔﺎرﯾﺑلاو
ﻋﻠﻰﻣﺳﺗوىاﻟﻛﻼساﻟذيداﺧﻠﮫ ﻓﻲاﻟﻔراﯾﺑل..
اﻣﺎالStaticﻓﮭذاﻣﺗﻐﯾرﯾﺑﻘﻰﺛﺎﺑتﻣﻌﺎكﻋﻠﻰطولﺑﻧﻔساﻟﻘﯾﻣﺔﺣﺗﻰاﻻﻧﺗﮭﺎءﻣن
اﻟﺑرﻧﺎﻣﺞ
dynamicھذاﻣﺗﻐﯾرﺗﺗﻐﯾرﻗﯾﻣﺗﮫاﺛﻧﺎءالrun -timeﻟﻠﺑرﻧﺎﻣﺞ..
29. ٢٩
س٣٥ﻣﺎ :ھواﻟﻔرقﺑﯾنString and Stringbuffer؟
String:ﯾﻌﺗﺑرﻛﻧوعﻟﺗﻌرﯾفﻣﺗﻐﯾرﻧﺻﻲوﻻﯾﺣﺗﺎجإﻟﻰnewﻋﻠﯾﮫ اﻟﺗﻌدﯾل ﯾﻣﻛن وﻻ
اﻟﺑرﻧﺎﻣﺞ ﺗﺷﻐﯾل اﺛﻧﺎءRunTime.
Stringbuffer:إﻟﻰ ﯾﺣﺗﺎج وﻟﻛﻧﮫ اﯾﺿﺎ ﻧﺻﻲ ﻣﺗﻐﯾر ﻟﺗﻌرﯾفnewاﻟﺗﻌدﯾل وﯾﻣﻛن
أﺛﻧﺎء ﻓﻲ ﻋﻠﯾﮫRunTime.
س٣٦:ھ ﻣﻌﻧﻰ ﻣﺎذااﻟﻛﻼساﻟﺧ ﻓﻲطاﻻﺣﻣر؟
import java.util.GregorianCalendar
ھوﻟﻐ ﻓﻲ ﻣﺣﺟوز ﻛﻼسﺔوﺗﻐﯾر واﻟﺗﺎرﯾﺦ ﻟﻠوﻗت دوال ﻋده داﺧﻠﮭﺎ ﻓﻲ وﯾوﺟد ﺟﺎﻓﺎ
ﺣﺳب اﻟوﻗت. اﻟﻣوﻗﻊ
) اﻟوراﺛﺔ(Inheritance
س٣٧:ﻣﺎﻣﻌﻧﻰاﻟوراﺛﺔ)(inheritance؟؟
ھﻲﺑﻣﻔﮭوﻣﮭﺎاﻟﺷﺎﺋﻊانﯾرثاﻻﺑنﻣناﺑﯾﮫﺑﻌضاوﻛلﺻﻔﺎﺗﮫوﺧﺎﺻﯾﺎﺗﮫ،ﻓﻠﻐﺔ
ﺟﺎﻓﺎﺗوﻓرﻟكھذهاﻟﺧﺎﺻﯾﺔﻣنﺧﻼلاﻣﻛﺎﻧﯾﺔوراﺛﺔﻛﻼسﻣنﻛﻼساﺧرﺣﯾثﯾﺻﺑﺢ
31. ٣١
س٤٠ﺣﻣل ﻋﻣﻠﯾﺔ ھﻲ ﻣﺎ :) اﻻﺳﺗﺛﻧﺎءات(Exception handle؟
١-ﻋﻧدﻣﺎﯾﺟداﻟﺳﺳﺗمﺧطﺄﯾﺗمإﯾﻘﺎفﺗدﻓﻖﺗﻧﻔﯾذاﻟﺑﯾﺎﻧﺎتﻓﻲاﻟﺑرﻧﺎﻣﺞوﺗﺳﻣﻰﺑﻌﻣﻠﯾﺔ
ﻗذفاﻻﺳﺗﺛﻧﺎءthrow the exception.
٢-ﯾﺗمﺧﻠﻖاوﺑﺟﻛتﻣنﻧوعﺧﺎصﯾﺳﻣﻲexceptionوﯾﺣﻣلﻣﻌﻠوﻣﺎتﻋناﻟﺧطﺄ
اﻟذي. ﺣدث
٣-ﺑﻌدذﻟكﯾﺗماﻟﺗﻌﺎﻣلﻣﻊاﻟﺧطﺄواﻟﺗﻘﺎطﮫواﯾﺟﺎدﺣلﻣﻧﺎﺳبوﺗﺳﻣﻰﺑﻌﻣﻠﯾﺔ
catch the exception.
س٤١؟ اﻹﺳﺗﺛﻧﺎءات أﻧواع ھﻲ ﻣﺎ :
١-Errors class and its subclasses
ﻟﻼﺧطﺎءاﻟداﺧﻠﯾﺔﻓﻲاﻟﺑرﻧﺎﻣﺞ:ﻣﺛلاﻧﺗﮭﺎءاﻟذاﻛرة
٢-Exception class and its subclasses
اﺧطﺎءﻣﺣﺗﻣﻠﺔوﻣﺗوﻗﻊﺣدوﺛﮭﺎوﺗﺳﻣﻰChecked exceptionsوﻻﺑدﻣناﻟﺗﻘﺎطﮭﺎ
واﻻﺗﺳﺑبﺧطﺄﻓﻲاﻟﺑرﻧﺎﻣﺞ
٣-Runtime exceptions and its subclasses
أﺧطﺎءﯾﺳﻣﺢاﻟﻣﺗرﺟمcompilerﺑﺗﺟﺎھﻠﮭﺎوﺗﺳﻣﻰUncheck Exception
*-ﺑﺎﻟﻧﺳﺑﺔﻟﻠـChecked exceptionsﯾﺗماﻟﺗﻘﺎطاﻟﺧطﺄﺑطرﯾﻘﺗﯾن:
١-Try.. catch blocks
وطرﯾﻘﺗﮫ:
tryاﻟﻛوداﻟﻣﺷﻛوكﺑﺣدوثﺧطﺄﻓﯾﮫ
catchاﻟﻛوداﻟذيﯾﺟبانﯾﻧﻔذإذاﺣﺻلوﺣدثاﻻﺳﺗﺛﻧﺎء
33. ٣٣
ﻓﯾﮫ ﯾوﺟد آﺳﻛﻲ ﺟدول وھذاﻛلcharوﻗﯾﻣﺗﮫباﻟـDecemal
http://www.unfiction.com/dev/tutorial/ascii.html
س٤٣اﻟـ ﻣﺻطﻠﺢ ﻣﻌﻧﻰ ھو ﻣﺎ :Deprecated؟
ﻟﻧﻔﺗرضأﻧكﻛﺗﺑت،ﻣﻛﺗﺑﺔواﻟﻧﺳﺧﺔاﻷوﻟﻰاﻟﻣﻛﺗﺑﺔﺗﺣﺗويﻋﻠﻰاﻟﻔﺋﺔClass1.
ﻓﻲاﻟﻧﺳﺧﺔاﻟﺛﺎﻧﯾﺔﻣن،اﻟﻣﻛﺗﺑﺔوﺟدتأناﻟﻔﺋﺔClass1ﯾﻧﻘﺻﮭﺎاﻟﻛﺛﯾرﻣن،اﻟﻣﯾزات
ﻓﻘررتأنﺗﻛﺗبﻓﺋﺔﺟدﯾدةClass2اﻟﺗﻲﺗﻘومﺑﻧﻔسﻋﻣلClass1ﺑﺎﻹﺿﺎﻓﺔﻷﺷﯾﺎء
أﺧرى.
طﺑﻌﺎﻟنﺗﻘومﺑﻣﺳﺢClass1،ﻣﺑﺎﺷرةﺑلأوﻻﺳﺗﻘومﺑوﺻﻔﮭﺎﺑﺄﻧﮭﺎdeprecated،
أيأﻧﮭﺎﻣﺗﻘﺎدﻣﺔ(ﻣﮭﻣﻠﮫ أو )ﻗدﯾﻣﺔ،ﺣﺗﻰﯾﻌرفاﻟﻣﺳﺗﻌﻣﻠونأنھذهاﻟﻔﺋﺔﻣﺗﻘﺎدﻣﺔوﯾﺟب
اﺳﺗﻌﻣﺎلClass2.ﺑﻌد،ذﻟكﻓﻲاﻟﻧﺳﺦ،اﻟﻘﺎدﻣﺔﯾﻣﻛﻧكﺣذﻓﮭﺎ.
ﻓﻲأﻛﺛراﻷﺣﯾﺎنﺗﺳﺗﺧدماﻟـDeprecatedﻟوﺻفاﻟطراﺋﻖMethodsاﻟﻣﺗﻘﺎدﻣﺔ
واﻟﺗﻲﯾﻧﺻﺢﺑﻌدماﺳﺗﺧداﻣﮭﺎ
ﻣﺛﺎل:ﻓﻲJFrameاﻟطرﯾﻘﺔShowھﻲDeprecatedﺣﯾثﺗماﺳﺗﺑداﻟﮭﺎﺑﺎﻟطرﯾﻘﺔ
setVisible
س٤٤اﻟـ ھو ﻣﺎ :Generic class؟
ھوﻛﻼسﯾﺗﻌﺎﻣلﺑﺷﻛلﻋﺎموﯾﺣﺗويﻋﻠﻰاﻷﻗلﻋﻠﻰﻋﻧﺻرواﺣدﻏﯾرﻣﺣدداﻟﻧوع،
اﻷوﺑﺟﻛت إﻧﺷﺎء أﺛﻧﺎء ﻓﻲ ﺗﺣدﯾده ﯾﺗم.
35. ٣٥
•وﻣناﻷﻣﺛﻠﺔاﻟﻔﻌﻠﯾﺔﺗﻌﺎﻣﻠﻧﺎ إذاﻣﻊﻛﻼسJOptionPaneًﻣﺛﻼﻧﺳﺗﺧدم ،اﻟﻣﯾﺛود
()showInputDialogﻟﻠﺣﺻولﻋﻠﻰﻣدﺧﻼتﻣناﻟﻣﺳﺗﺧدم.
س٤٧ﻣﺎ :ھوﻋﻣلاﻟﻣﻛون()اﻟﻌﻧﺻرJFrame؟
•JFrameﻣﻛونﯾوﻓراﻟﺑﻧﯾﺔاﻟﺗﺣﺗﯾﺔﻟواﺟﮭﺔاﻟﻣﺳﺗﺧدماﻟرﺳوﻣﯾﺔ)GUI. (
•ﯾوﻓرJFrameﺳﻠوك أو ﺷﻛلاﻟ،ﻧﺎﻓذةﻓﮭوﯾﺣﺗويﻋﻠﻰﺷرﯾطاﻟ،ﻌﻧوانوأزرار
،ﻹﻏﻼقواﻟﺗﻛﺑﯾر،واﻟﺗﻘﻠﯾلإﻟﻰأدﻧﻰﺣدﻣناﻟﻧﺎﻓذة.
س٤٨ﻣﺎ :ھﻲطرقاﻟـ اﺳﺗﺧدامJFrame؟
•إﻧﺷﺎءobject)(ﻛﺎﺋنﻣنﻧوعJFrame.
•اﻟوراﺛﺔextends)(ﻣن()ﻓﺋﺔ ﻛﻼسJframe.
س٤٩:واﺟﮭﺎت ﻋﻣل ﻛﯾﻔﯾﺔاﻟﻛود ﺑﺎﺳﺗﺧدام ﺑﺎﻟﺟﺎﻓﺎ ﻣرﺋﯾﺔ؟
ﻋﻣل ﻛﯾﻔﯾﺔFrame: اﻟرﺋﯾﺳﯾﺔ اﻟداﻟﺔ ﻓﻲ اﻟﻛود طرﯾﻖ ﻋن
ﻣﻛﺗﺑﺔ ﻓﻲ ﻣوﺟودة اﻟﻛﺎﺋﻧﺎت ھذه ﻣﻼﺣظﺔswing
import javax.swing.*;
. اﻟﻣﻛﺗﺑﺔ ﻓﻲ اﻟﻣوﺟودة اﻟﻛﺎﺋﻧﺎت ﻛل ﻹدراج * واﻟـ
JFrame Frame2 = new JFrame();
Frame2.setLayout(new FlowLayout());
Frame2.setTitle("اﻟﻔﺮﯾﻢ ;)"ﻋﻨﻮان
Frame2.setSize(300,300); // اﻟﻔﺮﯾﻢ ﺣﺠﻢ
36. ٣٦
Frame2.setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);
Frame2.pack();
Frame2.setVisible(true); // اﻟﻔﺮﯾﻢ إﻇﮭﺎر
Frame2.setLocation(200,60); // ﻇﮭﻮر ﻣﻜﺎن ﻟﺘﺤﺪﯾﺪ
اﻟﻨﺎﻓﺬة
Frame2.setResizable(false); // ﺣﺠﻢ ﺗﻐﯿﯿﺮ ﻟﻤﻨﻊ
اﻟﻨﺎﻓﺬة
Frame2.setBackground(Color.BLUE); vcvcvcvcvv
}
: اﻟوارﺛﺔ طرﯾﻖ ﻋن أو
public class MainClass extends JFrame {
public static void main(String[] args) {
new MainClass().setVisible(true);
}
: ﻟﻠﻧﺎﻓذة ﻟون ﺧﻠﻔﯾﺔ ﻟﻌﻣل
Container C = Arabic.getContentPane();
C.setBackground(Color.red);
اﻟﺷﺎﺷﺔ ﺣﺟم ﻣﻌرﻓﺔ ﻻﺑد أوﻻ : اﻟﺷﺎﺷﺔ ﻣﻧﺗﺻف ﻓﻲ اﻟﻧﺎﻓذة ﺟﻌل ﻛﯾﻔﯾﺔ
// import the libraries
import java.awt.Dimension;
import java.awt.Toolkit;
// Get the size of the screen
Dimension dim =
Toolkit.getDefaultToolkit().getScreenSize();
// Determine the new location of the window
int w = Frame2.getSize().width;
int h = Frame2.getSize().height;
int x = (dim.width-w)/2;
int y = (dim.height-h)/2;
// Move the window
37. ٣٧
Frame2.setLocation(x, y);
اﻟداﻟﺔ ﻋﻣلPack ()ﺑدﻻ اﻟﻔرﯾم ﻋﻠﻰ اﻟﻣوﺟودة اﻟﻣﻛوﻧﺎت ﺣﺟم ﻋﻠﻰ ﺑﻧﺎء ﺗﻠﻘﺎﺋﯾﺎ اﻟﻔرﯾم ﺗﺣﺟﯾم ﺑـ ﺗﻘوم
: اﻟداﻟﺔ اﺳﺗﺧدام ﻣن
Frame2.setSize(width, height);
داﻟﺔ أو اﻟداﻟﺔ ھذه ﻧﺳﺗﺧدم ﻟم إذا ﻷﻧﮫsetSize: اﻟﺻورة ﻓﻲ ﻛﻣﺎ اﻟﻔرﯾم ﻋﻧوان ﯾظﮭر ﺳوف ﻓﻘط
Example :
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
public class Pack extends JFrame {
private Button button1 = new Button("Button 1");
private Button button2 = new Button("Button 2");
private Button button3 = new Button("Button 3");
private Button button4 = new Button("Button 4");
private Button button5 = new Button("Button 5");
public Pack() {
super("pack() vs. setSize() method Example");
this.addWindowListener(new WindowAdapter() {
public void windowClosing(WindowEvent e) {
System.exit(0);
}
});
Container contentPane = this.getContentPane();
contentPane.setLayout(new FlowLayout());
contentPane.add(button1);
contentPane.add(button2);
38. ٣٨
contentPane.add(button3);
contentPane.add(button4);
contentPane.add(button5);
//this.setSize(450, 90);
this.pack();
}
public static void main(String[] args) {
Pack mainFrame = new Pack();
mainFrame.setVisible(true);
}
}
ﻋﻧوان إﺿﺎﻓﺔJLabelﻟﻠﻔرﯾم
JLabel t1 = new JLabel("Any text here");
JLabel t2 = new JLabel(message);// message is a String variable
oاﻟـ ﻋﻠﻰ اﻟظﺎھر اﻟﻌﻧوان ﺗﻐﯾﯾر ﯾﻣﻛنLabelاﻟداﻟﺔ ﺑﺎﺳﺗﺧدامsetText() method
t1.setText("New Text"); // You can also use variables here
oاﻟﻌﻧوان ﻓﻲ اﻟﻣوﺟود اﻟﻧص ﻋﻠﻰ اﻟﺣﺻولLabel: اﻟداﻟﺔ ﺑﺎﺳﺗﺧدام
String str = t1.getText();
اﻟـ إﻟﻰ زر إﺿﺎﻓﺔFrameاﻟـ ﻣﻊ ﻧﺗﻌﺎﻣلButtonﻛـObjectﻟﮭﺎ إرﺳﺎل ﻣﻊ اﻟﺑﻧﺎء داﻟﺔ واﺳﺗدﻋﺎء
اﻟزر ﻋﻠﻰ ﯾظﮭر ﺳوف اﻟذي اﻟﻌﻧوان
JButton button = new JButton("Title of Button");
39. ٣٩
oاﻟداﻟﺔ ﻓﻲ اﻟﻌﻧوان إرﺳﺎل أوsetText(String)
button.setText("Title of Button ");
oاﻟﻌﻧوان ﻓﻲ اﻟﻣوﺟود اﻟﻧص ﻋﻠﻰ اﻟﺣﺻولJButtonﺑﺎﺳﺗﺧدام: اﻟداﻟﺔ
String txt = button.getText();
o:اﻟداﻟﺔ ﺧﻼل ﻣن ﻟﻠزر ﺗﻠﻣﯾﺢ إﺿﺎﻓﺔ داﻟﺔ
b.setToolTipText("click me");
oاﻟداﻟﺔ ﺧﻼل ﻣن اﻟﻔرﯾم ﻋرض ﯾﺗم ﻣﺎ ﻗﺑل اﻟﻔرﯾم إﻟﻰ اﻟﻛﺎﺋن ھذا إﺿﺎﻓﺗﮫ ﯾﺗم ﺛم
setVisible()
Frame2.add(b);
ﻧﺻﻲ ﺣﻘل إﺿﺎﻓﺔJTextFieldﯾﺳﻣﺢاﻟﻧص ﻣن واﺣد ﺳطر ﻣن ﻟﻠﺗﺣرﯾر
JTextField tf = new JTextField(); // The default
constructor
JTextField tf2 = new JTextField(25); // Constructs the
JTextField of size
JTextField tf3 = new JTextField("Hello World", 25); // With size
and default text
oﯾﻣﻛﻧكاﺳﺗرﺟﺎﻋﮭﺎ أو ﻧص ﺗﻌﯾﯾناﻟداﻟﺔ ﺧﻼل ﻣنsetText ()
tf.setText("New Text"); /* or */ tf.setText(txt);
oإﻟﻰ إﺿﺎﻓﺗﮫ وﯾﻣﻛنJFrame
frame.add(new JTextField("Hello World", 25));
// or //
frame.add(tf);
oاﻟداﻟﺔ ﺧﻼل ﻣن اﻟﻧﺻﻲ اﻟﺣﻘل ﻓﻲ اﻟﻣوﺟود اﻟﻧص ﻋﻠﻰ ﻟﻠﺣﺻولgetText ()
40. ٤٠
String Stext = JTextField1.getText();
ﻗﺎﺋﻣﺔ إﺿﺎﻓﺔcombboxﻟﻠﻔرﯾمﻋﻧﺎﺻر ﻣﺻﻔوﻓﺔ طرﯾﻖ ﻋن :
JComboBox com = new JComboBox();
s = new String []{"sasa","sasfg","dd","aa"};
com.setModel(new javax.swing.DefaultComboBoxModel(s));
Frame2.add(com);
oﻧﺻﻲ ﺣﻘل ﻣن ﻟﻠﻘﺎﺋﻣﺔ ﻋﻧﺻر إﺿﺎﻓﺔJTextFieldاﻟداﻟﺔ ﺧﻼل ﻣن
JComboBox.addItem(Object item ):
tf3 = new JTextField("Hello World", 25); // With
size and default text
Frame2.add(tf3);
com = new JComboBox<Object>();
Frame2.add(com);
com.addItem(tf3.getText()); // add to CombBox from
JTextField
oﻧوع ﻣن ﻣﺗﻐﯾر ﻻن : ﻧﺻﻲ ﻣﺗﻐﯾر ﻣن ﻟﻠﻘﺎﺋﻣﺔ ﻋﻧﺻر إﺿﺎﻓﺔStringﯾﻌﺗﺑرObjectﻣﺎ ﻛل ﻻن
ﻋن ﻋﺑﺎرة ھﻲ اﻟﺟﺎﻓﺎ ﻓﻲObjects
String comtxt="Add in Combobox";
com.addItem(comtxt);
oاﻟﻘﺎﺋﻣﺔ ﻟﺟﻌلCombBoxاﻟداﻟﺔ ﺧﻼل ﻣن ﻟﻠﺗﻌدﯾل ﻗﺎﺑﻠﺔsetEditable
com.setEditable(true);
ﻗﺎﺋﻣﺔ إﺿﺎﻓﺔlistﻟﻠﻔرﯾم
list = new JList(data); //data has type Object[]
ﻣﺻﻔوﻓﺔ ﻣن ﻟﮭﺎ ﻗﯾم إﺿﺎﻓﺔ ﻣﻊ
String[] ar = {"one", "two", "three"};
JList list = new JList(ar);
Frame2.add(list);
41. ٤١
oﻟﻠـ ﻋﻧﺎﺻر إﺿﺎﻓﺔ ﯾﻣﻛنlistاﻟﻛﻼس ﺧﻼل ﻣنListModel classاﻟـ ﺗﻌرﯾف اوﻻ ﻻﺑد
DefaultListModel
DefaultListModel listModel = new DefaultListModel();
listModel.addElement("item 1");
listModel.addElement("item 2");
oاﻟـ اﺳﺗﺧدام وﯾﻣﻛنDefaultListModelﻟﻠـ اﻟﺑﻧﺎء داﻟﺔ ﻓﻲlist
JList list = new JList(listModel);
oﺗﻧﻔﯾذ أﺛﻧﺎء وﻗت أي ﻓﻲ إﺿﺎﻓﯾﺔ ﻋﻧﺎﺻر ﻹﺿﺎﻓﺔ اﻵنﺑﺎﺳﺗﺧدامaddElement() method
listModel.addElement("new item");
oﻣوﻗﻌﮭﺎ ﺑﺗﺣدﯾد اﻟﻘﺎﺋﻣﺔ ﻓﻲ ﻋﻧﺻر إﺿﺎﻓﺔ ﯾﻣﻛن
int index=3;
listModel.add(index, object);
oاﻟـobjectﻏﯾرة أو ﻧﺻﻲ ﺣﻘل ﻣن ﻗﯾﻣﺔ أو ﻧﺻﻲ ﻣﺗﻐﯾر ﺳواء
oاﻟـ ﻣن ﻣﻌﯾن ﻋﻧﺻر ﻟﺣذفlistاﻟـ ﺣﯾثindexﺣذﻓﮫ اﻟﻣراد اﻟﻌﻧﺻر ﻋﻧوان
listModel.remove(index);
o:اﻟﻌﻨﺎﺻﺮ ﻛﻞ ﻟﺤﺬف
listModel.clear();
oاﻟـ ﻓﻲ اﻟﻣﺣدد اﻟﻌﻧﺻرlist
list.setSelectedItem(n);
oﻓﻲ ﺣﺎﻟﯾﺎ اﻟﻣﺣدد ﺳﻠﺳﻠﺔ ﻹرﺟﺎعJListاﺳﺗﺧدم ،
s = (String) list.getSelectedValue();
اﻷﺳﻠوب ھذا وﯾﻌرفﯾﻌﯾدﻛﺎﺋنobjectﻷنJListأﻧواع ﻋﻠﻰ ﺗﺣﺗوي أن ﯾﻣﻛن اﻟواﻗﻊ ﻓﻲ
اﻟرﻣوز ﺑﺎﺳم ﺗﻌرف اﻟﺻﻐﯾرة اﻟﺻور ،اﻟﻣﺛﺎل ﺳﺑﯾل )ﻋﻠﻰ ﺳﻼﺳل ﻣن اﻷﺧرى اﻟﻛﺎﺋﻧﺎت
oاﻟـ ﻓﻲ اﻟﻣﺗﻌدد ﻟﻠﺗﺣدﯾدJList
JList.setSelectionMode(ListSelectionModel.MULTIPLE_INTERV
AL_SELECTION);
42. ٤٢
اﻟﺧﺎﺻﯾﺔ ﺣﯾثListSelectionModel: ﻗﯾﻣﺔ ﻣن أﻛﺛر ﻟﮭﺎ
- MULTIPLE_INTERVAL_SELECTION //(default select) ﻣﺗﻌدد ﺗﺣدﯾد
ﻟﻠﻌﻧﺎﺻر
- SINGLE_INTERVAL_SELECTION // ﻓﻘط واﺣد ﺗﺣدﯾد
- SINGLE_SELECTION
// Create a list that allows adds and removes
DefaultListModel model = new DefaultListModel();
JList list = new JList(model);
// Initialize the list with items
String[] items = {"A", "B", "C", "D"};
for (int i=0; i<items.length; i++) {
listModel.add(i, items[i]);
}
// Append an item
int pos = list.getModel().getSize();
listModel.add(pos, "E");
// Insert an item at the beginning
pos = 0;
listModel.add(pos, "a");
oاﻟﻣﺣدد اﻟﻣوﻗﻊ ﻣﺣﺗوى ﻟﺗﻐﯾر
pos = 1; // index of item to replace it
listModel.set(pos, "b");
oاﻟـ ﺣﺳب ﻣﺣدد اﻟﻌﻧﺎﺻر ﻟﺣذفindex
43. ٤٣
// Remove the first item
pos = 0; // any index of item
listModel.remove(pos);
oاﻟﻘﺎﺋﻣﺔ ﻓﻲ ﻋﻧﺻر أﺧر ﻟﺣذف
// Remove the last item
pos = listModel.getSize()-1;
if (pos >= 0) {
listModel.remove(pos);
}
oاﻟـ ﻓﻲ اﻟﻌﻧﺎﺻر ﻛل ﻟﺣذفlist:
// Remove all items
listModel.clear();
س٥٠ﻣﺎ :ھﻲاﻟـSwing؟؟
ھﻲﻣﻛﺗﺑﺔﻷدواتاﻟواﺟﮭﺔاﻟرﺳوﻣﯾﺔ)ﻣﺛل:اﻷزرار،ﻣرﺑﻌﺎتاﻟﻧص( …ﺗﺧﺗﺻر
إﻟﻰGUIوھﻲﻣنإﻧﺗﺎجSun Microsystems،ﺗﻛونﻣﺿﻣﻧﮫﻣﻊاﻟـJavaﺑﺎﺳم
Swing.
ﺗﺗﻣﯾزﺑﺄﻧﮭﺎ:
.ﻣﺗﻌددةاﻟﻣﻧﺻﺎت،أيﺗﻌﻣلﻋﻠﻰأيﺑﯾﺋﺔﺗﺷﻐﯾل
ﻗﺎﺑﻠﮫﻟﻠﺗﻌدﯾل
ﻗﺎﺑﻠﯾﮫﻟﻠﺗﺟدﯾد
ﺧﻔﯾﻔﺔ
45. ٤٥
. RIA ﻧﻮع ﻣﻦ ﺗﻄﺒﯿﻘﺎت ﻟﺘﻄﻮﯾﺮ ﻣﺎﯾﻜﺮوﺳﯿﺴﺘﻤﺰ ﺻﻦ أﺻﺪرﺗﮭﺎ أﺧﺮى ﺗﻘﻨﯿﺔ javafx UI .5
http://docs.oracle.com/javafx/
qt-jambi وﺗﺴﻤﻲ QT .6
http://qt-jambi.org/
GTK.7
http://java-gnome.sourceforge.net/
س٥٤ھو ﻣﺎ :اﻟﻔرقﺑﯾن ﻣﺎorange 1 , orange 2؟
؟؟؟
47. ٤٧
try {
//open the default browser using the method browse which take an URI
object representing the web page
desktop.browse(new URI("http://arabteam2000-forum.com/"));
} catch (URISyntaxException ex) {
ex.printStackTrace();
}
س٥٦ﻛﯾف :أﺟﻌلواﺟﮭﺔﺑرﻧﺎﻣﺟﻲﻣﺗﻌددةاﻟﻠﻐﺎت؟
ﻣﺎﻧرﯾدهھوإظﮭﺎرﻛلرﺳﺎﺋلوﻧﺻوصاﻟواﺟﮭﺔﺣﺳباﻟﻠﻐﺔاﻟﺗﻲﯾﺗماﺧﺗﯾﺎرھﺎ.إذنﻟوﻛﻧﺎ
ﺳﻧﺟﻌلﺛﻼثﻟﻐﺎتﻣﺗوﻓرةﻓﻲ،اﻟﺑرﻧﺎﻣﺞﻓﺳﯾﻠزﻣﻧﺎﺛﻼثﻧﺳﺦﻣنﻛلﻧص،ورﺳﺎﻟﺔﻛلﻧﺳﺧﺔ
ﺑﻠﻐﺔﻣﺧﺗﻠﻔﺔ.ﺳﻧﺿﻊﻛلﻧﺳﺧﺔﻣناﻟﻧﺻوصﻓﻲﻣﻠفproperties،ﻣﺳﺗﻘلﻣﺎﯾﻌﻧﻲأن
اﻟﺑرﻧﺎﻣﺞﻟنﯾﺣﺗويﻋﻠﻰأي،ﻧصﺑلﻛلﺷﻲءﺳﯾﻛونﻓﻲاﻟﻣﻠﻔﺎتproperties.
س٥٧اﻟﻣﻠﻔﺎت ھﻲ ﻣﺎ :properties؟
ﻋﻧدﻛﺗﺎﺑﺔھذه،اﻟﻣﻠﻔﺎتﯾﺟباﺣﺗرامﻧﻣوذجﻣﺣدد:أوﻻإﺳم،اﻟﻣﻠفﻣﺛﻼ"labels"،ﻣﺗﺑوﻋﺎ
ﺑﺎﻟرﻣز"_"،ﻣﺗﺑوﻋﺎﺑﺎﻟرﻣزاﻟﺧﺎص،ﺑﺎﻟﻠﻐﺔﻣﺛﻼرﻣزاﻟﻌرﺑﯾﺔھو"ar"،رﻣزاﻟﻔرﻧﺳﯾﺔ"fr"
ورﻣزاﻹﻧﺟﻠﯾزﯾﺔھو"en."إذنﺣﺳباﻟﻧﻣوذجﻓﺈنإﺳمﻣﻠفاﻟﻠﻐﺔاﻟﻌرﺑﯾﺔﯾﺟبأنﯾﻛون
ﻛﺎﻟﺗﺎﻟﻲlabels_ar.properties
ﻣﺣﺗوىھذهاﻟﻣﻠﻔﺎتﯾﻛونﻋﻠﻰﺷﻛل
key=value
key=value
48. ٤٨
....
ﺑﺣﯾثأﻧﻧﺎﻧﺳﺗرﺟﻊاﻟﻧصاﻟذيﻧرﯾدهﺑواﺳطﺔkey.
ﻛﻣﺎأﻧﮫﺗﺟدراﻹﺷﺎرةإﻟﻰأناﻟﻣﻠﻔﺎتpropertiesﺗﻘﺑلﻓﻘطاﻟﺗرﻣﯾزISO-8859-1،أي
اﻟﺣروفاﻟﻼﺗﯾﻧﯾﺔ،ﻓﻘطإذاأردﻧﺎإﺿﺎﻓﺔﺣروف،ﻋرﺑﯾﺔﯾﺟبأنﻧﻛﺗباﻟرﻣزunicode
اﻟﻣرادفﻟﻛلﺣرف.
س٥٨ﻓﺋﺔ ھﻲ ﻣﺎ :اﻟـjava.util.Locale؟
ھذهاﻟﻔﺋﺔﺗﻣﻛﻧﻧﺎﻣنﺗﺣدﯾداﻟﻣﻧطﻘﺔاﻟﺟﻐراﻓﯾﺔأواﻟﺛﻘﺎﻓﯾﺔاﻟﺗﻲﻧرﯾد.ﻓﺑﻣﺎأﻧﻧﺎﻧرﯾدأنﻧﻐﯾرﻟﻐﺔ
واﺟﮭﺔ،ﺑرﻧﺎﻣﺟﻧﺎﻓﯾﻠزﻣﻧﺎوﺳﯾﻠﺔﻟﺗﺣدﯾدھذه،اﻟﻠﻐﺔوھﻧﺎﺗظﮭرﻓﺎﺋدةاﻟﻔﺋﺔLocale.ﻣﺛﻼإذاأردﻧﺎ
إﻧﺷﺎءLocaleﺧﺎص،ﺑﺎﻟﻌرﺑﯾﺔﻓﺈﻧﻧﺎﻧﻣرررﻣزاﻟﻠﻐﺔاﻟﻌرﺑﯾﺔﻟلconstructor.
Locale arLocale = new Locale("ar");
ﻟﻐﺔ ﺑﻜﻞ اﻟﺨﺎص اﻟﺮﻣﺰ ﻟﻤﻌﺮﻓﺔ2/php/code_list.php-h p://www.loc.gov/standards/iso639>--
س٥٩ﻓﺋﺔ ھﻲ ﻣﺎ :اﻟـjava.util.ResourceBundle؟
ھذهاﻟﻔﺋﺔھﻲاﻟﺗﻲﺗﻘومﺑﺗﺣﻣﯾلﻣﻠفالpropertiesاﻟﺧﺎصﺑﺎﻟﻠﻐﺔاﻟﺗﻲ،ﻧﺣددھﺎوﺑﺎﻟطﺑﻊﺗﺣدﯾد
اﻟﻠﻐﺔﯾﻌﻧﻲإﻧﺷﺎءﻛﺎﺋنLocaleﺧﺎصﺑﮭﺎﺗﮫاﻟﻠﻐﺔ.ﺑﻌدﺗﺣﻣﯾلاﻟﻣﻠفﻓﺈﻧﻧﺎﻧﺳﺗطﯾﻊاﻟوﺻولﻟﻠﻘﯾم
اﻟﻣوﺟودةﺑداﺧﻠﮫﻋنطرﯾﻖgetStringاﻟﺗﻲﻧﻣررﻟﮭﺎﻗﯾﻣﺔالkey.
ﻟﻠﺣﺻولﻋﻠﻰﻛﺎﺋنResourceBundleﻓﺈﻧﻧﺎﻧﻧﺎديﻋﻠﻰاﻟطرﯾﻘﺔgetBundle،وﻧﻣررﻟﮭﺎ
إﺳماﻟﻣﻠفproperties،ﻟﻛنﻟﯾسﻛل،اﻹﺳمﻟﻛنﻓﻘطاﻟﺟزءاﻟﻣوﺟودﻗﺑل،اﻟﻠﻐﺔﻣﺛﻼإذاﻛﺎن
ﻟدﯾﻧﺎاﻟﻣﻠفlabels_en.properties،ﻓﺈﻧﻧﺎﻧﻣرر"labels"ﻓﻘطﻟﻠطرﯾﻘﺔgetBundle.ھذه
اﻟطرﯾﻘﺔﺗﻧﺗظرﻣﻌطﻰ،آﺧروھوﻛﺎﺋنLocaleﯾﻣﺛلاﻟﻠﻐﺔاﻟﺗﻲﻧرﯾداﺳﺗﻌﻣﺎﻟﮭﺎ.
49. ٤٩
Locale currentLocale = new Locale("ar");
ResourceBundle myResources = ResourceBundle.getBundle("labels", currentLocale);
String someValue = myResources.getString("someKey");
Java I/O
س٦٠:ﻛﯾفأﻗرأﻣﺣﺗوىﻣﻠفﻧﺻﻲﺳطراﺑﺳطر؟
ﻟﻘراءةﻣﻠفﻧﺻﻲﺳطرا،ﺑﺳطرﯾﻣﻛﻧﻧﺎاﺳﺗﻌﻣﺎلاﻟﻔﺋﺔBufferedReaderأواﻟﻔﺋﺔ
Scanner:
ﺑﺎﺳﺗﻌﻣﺎلاﻟﻔﺋﺔBufferedReaderواﻟطرﯾﻘﺔreadLine:
أوﻻﻧﻧﺷﺊﻛﺎﺋنBufferedReaderوﻧﻣررﻟلconstructorﻛﺎﺋنﻣنﻓﺋﺔFileReaderاﻟذي
ﻧﻣررﻟﮫﺑدورهﻣﺳﺎراﻟﻣﻠفاﻟذيﻧرﯾدﻗراءﺗﮫ
BufferedReader reader = null;
//...
reader = new BufferedReader(new FileReader("myfile.txt"));
51. ٥١
}
} catch (IOException ex) {
System.out.println("Closing stream failed.");
}
}
س٦١ﻣﺎذا :وﺿﻌﻧﺎأﻣرإﻗﻔﺎلreaderداﺧلfinally؟ﻣﺎذاﺳﯾﺣﺻلﻟووﺿﻌﻧﺎأﻣر
اﻹﻏﻼقداﺧلالtry block،ﺑﻌداﻹﻧﺗﮭﺎءﻣنالloop،ﻛﻣﺎاﻟﻛوداﻟﺗﺎﻟﻲ؟
//...
String line;
while ((line = reader.readLine()) != null) {
System.out.println(line);
}
reader.close()
//...
ﻟﻧﻔﺗرضﻣﺛﻼأناﻟﺑرﻧﺎﻣﺞﻋﻧدﺗﻧﻔﯾذاﻷﻣرreadLineواﺟﮫﻣﺷﻛﻠﺔﻓﻲﻗراءة،اﻟﻣﻠفﻣﻣﺎﺟﻌﻠﮫ
ﯾرﻓﻊIOException،ھذاﯾﻌﻧﻲأﻧﮫﺳﯾﺗﺟﺎھلﻛلاﻟﻛوداﻟﻣوﺟودﺑﻌداﻟﺳطراﻟذيرﻓﻊاﻹﺳﺗﺛﻧﺎء
وﺳﯾﻧﻔذﻣﺑﺎﺷرةاﻟﻛوداﻟﻣوﺟودﻓﻲcatch bloc،وﺑﺎﻟﺗﺎﻟﻲﻟنﯾﻧﻔذأﻣر،اﻹﻏﻼقوﺳﯾﺑﻘﻰ
الreader،ﻣﻔﺗوﺣﺎوﺑﺎﻟﺗﺎﻟﻲﻟنﯾﺗمﺗﺣرﯾراﻟذاﻛرةاﻟﺗﻲﯾﺳﺗﻌﻣﻠﮭﺎ.
اﻟﺣلإذنھووﺿﻊإﻣراﻹﻏﻼقداﺧلfinally bloc،ﻷناﻟﻛوداﻟﻣوﺟودداﺧﻠﮫﯾﺗمﺗﻧﻔﯾذه،داﺋﻣﺎ
ﺳواءﺗمرﻓﻊexceptionأوﻻ.
52. ٥٢
س٦٢اﻟﻣﻠف ﻧﻘرأ ﻛﯾف :ﺑﺎﺳﺗﻌﻣﺎلاﻟﻔﺋﺔScanner؟
أوﻻﻧﻧﺷﺊﻛﺎﺋنScannerوﻧﻣررﻟﮫاﻟﻣﻠفاﻟذيﺳﻧﻘرأه
Scanner scanner = new Scanner(new File("myfile.txt"));
ﺛمﻧﻘومداﺧلloopﺑﻘراءةاﻟﻣﻠفﺳطراﺳطراﺑواﺳطﺔاﻟطرﯾﻘﺔnexLine()،ﻟﻛنأوﻻﯾﺟبأن
ﻧﺗﺣﻘﻖأﻧﻧﺎﻟمﻧﺻلإﻟﻰﻧﮭﺎﯾﺔاﻟﻣﻠف.
while (scanner.hasNextLine()) {
String line = scanner.nextLine();
System.out.println(line);
}
ﺛمﻧﻘﻔلالscanner
scanner.close();
: ﻛﺎﻣﻼ اﻟﻛود
Scanner scanner = new Scanner(new File("myfile.txt"));
while (scanner.hasNextLine()) {
String line = scanner.nextLine();
System.out.println(line);
}
scanner.close();