SlideShare a Scribd company logo
‫ز‬‫ض‬‫ا‬‫ح‬ً‫ن‬‫ا‬:ً‫ق‬ٔ‫ر‬‫ذ‬‫ن‬‫ا‬ ‫د‬ٕ‫ع‬‫س‬‫ي‬ ‫ى‬‫ن‬‫ا‬‫س‬
‫اساسيات‬‫اجلافا‬ ‫بلغة‬ ‫الربجمة‬
‫المحاضرة‬:‫العاشرة‬
‫الدوال‬‫الجافا‬ ‫لغت‬ ‫في‬
Java Methods
‫املرقب‬ ‫جامعة‬/‫اخلمس‬
‫الرتبية‬ ‫كلية‬-‫اخلمس‬/‫سوق‬‫اخلميس‬
Out lines
‫فٕائذْب‬ ْٙ ‫ٔيب‬ ‫انذٔال‬ ْٙ‫يب‬(MethodsWhat’s Methods & Why.)
‫انغبفب‬ ‫نغخ‬ ٙ‫ف‬ ‫انذٔال‬ ‫إَاع‬(Built-in-Programmer –defined.)
‫ػُٓب‬ ٌ‫االػال‬ ‫ٔطشق‬ ، ‫انًجشيظ‬ ‫لجم‬ ٍ‫ي‬ ‫انًؼشفخ‬ ‫انذٔال‬ ‫رصُٛف‬(Method Structure.)
‫نهذانخ‬ ‫انًؼبيالد‬ ‫ٔرًشٚش‬ ‫انذٔال‬ ‫اعزذػبء‬Passing Parameters&.Method invocation
‫ٔانًصفٕفبد‬ ‫انذٔال‬(‫انٕاحذ‬ ‫انجؼذ‬ ‫راد‬/ٍٚ‫انجؼذ‬ ‫راد‬)Arrays & Methods.
‫نهذٔال‬ ‫انضائذ‬ ‫انزحًٛم‬Method Overlooding
04/12/201502:27‫و‬
2
‫انًحبضش‬:ٙ‫انذسٔل‬ ‫عبنى‬
‫فوائدها‬ ‫هي‬ ‫وما‬ ‫الدوال‬ ‫هي‬ ‫ما‬
What is Methods & Why Methods
‫انذانخ‬ْٙ‫ػجبسح‬ٍ‫ػ‬‫يغًٕػخ‬ٍ‫ي‬‫انزؼهًٛبد‬‫انًغًؼخ‬‫رحذ‬‫اعى‬‫ٔاحذ‬‫،ركزت‬‫داخم‬‫انفئخ‬‫ٔخبسط‬‫انذانخ‬main.
ٍ‫ًٚك‬‫اعزذػبئٓب‬ٙ‫ف‬٘‫ا‬‫َمطخ‬ٙ‫ف‬‫انجشَبيظ‬ٍ‫ي‬(‫خالل‬‫كزبثخ‬‫اعًٓب‬ٙ‫ف‬‫انذانخ‬‫انشئٛغٛخ‬).
‫ٔثؼذ‬‫رُفٛزْب‬‫ٚزى‬‫انشعٕع‬ٗ‫ان‬‫َمطخ‬‫االعزذػبء‬ٙ‫ف‬‫انذانخ‬‫انشئٛغٛخ‬.
‫ْٛكهٛخ‬ ‫ٔرُغٛك‬ ‫رُظٛى‬ ٙ‫ف‬ ‫انذٔال‬ ‫رغبػذ‬‫انجشَبيظ‬‫ٔعٕٓنخ‬ ‫ٔضٕحب‬ ‫اكضش‬ ٌٕ‫نٛك‬.
‫انجشَبيظ‬ ‫رمغٛى‬ٗ‫ان‬‫يغًٕػخ‬‫فشػٛخ‬ ‫ثشايظ‬(‫دٔال‬)‫يُٓب‬ ‫نكم‬ ٌٕ‫ٚك‬ ‫ثحٛش‬‫ٔظٛفخ‬‫يحذدح‬.
‫عٕٓنخ‬ ‫اكضش‬ ‫نهجشَبيظ‬ ‫انًصذسٚخ‬ ‫انشفشح‬ ‫ٔصٛبَخ‬ ‫يزبثؼخ‬ ‫ػًهٛخ‬ ‫ٚغؼم‬ ‫انذٔال‬ ‫اعزخذاو‬.
‫كزبثخ‬ ‫ركشاس‬ ٍ‫ي‬ ‫انزمهٛم‬ ٙ‫ف‬ ‫رغبػذ‬‫االكٕاد‬.
04/12/201502:27‫و‬
3
‫انًحبضش‬:ٙ‫انذسٔل‬ ‫عبنى‬
‫الجافا‬ ‫لغت‬ ‫في‬ ‫الدوال‬ ‫انواع‬(Types of Methods in Java)

Build-in
User-defined:ٍ‫ي‬ ‫اَشبئٓب‬ ‫ٚزى‬ ٙ‫انز‬ ‫انذٔال‬ ‫يغًٕػخ‬ ْٙٔ
ٌٕ‫ٔرزك‬ ‫يؼُٛخ‬ ‫ٔظٛفخ‬ ‫الداء‬ ‫انًجشيظ‬ ‫لجم‬ٍٛ‫عضئ‬‫ًْب‬ ٍٛٛ‫سئٛغ‬:
‫ساط‬‫انذانخ‬(Method Header)
‫عغى‬‫انذانخ‬(Method Body)
04/12/201502:27‫و‬
4
‫انًحبضش‬:ٙ‫انذسٔل‬ ‫عبنى‬
‫المبرمج‬ ‫قبل‬ ‫من‬ ‫المعرفت‬ ‫الدوال‬ ‫تصنيف‬ ‫معايير‬
‫انٕصٕل‬ ‫قاتهٍح‬Access Modifier:
‫عايح‬Public:‫انفئبد‬ ‫كبفخ‬ ٍ‫ي‬ ‫انٛٓب‬ ‫انٕصٕل‬ ٍ‫ًٚك‬‫انًششٔع‬ ٙ‫ف‬.
‫خاصح‬Private:‫انًؼشفخ‬ ‫انفئخ‬ ‫داخم‬ ٍ‫ي‬ ‫اال‬ ‫انٛٓب‬ ‫انٕصٕل‬ ٍ‫ًٚك‬ ‫ال‬‫فٛٓب‬.
‫يحًٍح‬Protected:‫ال‬ٍ‫ًٚك‬‫انٕصٕل‬‫انٛٓب‬‫اال‬ٍ‫ي‬‫خالل‬ٍ‫ي‬‫انفئخ‬‫انًؼشفخ‬‫فٛٓب‬‫انفئبد‬ّ‫انًٕسٔص‬
‫يُٓب‬
04/12/201502:27‫و‬
5
‫انًحبضش‬:ٙ‫انذسٔل‬ ‫عبنى‬
‫قبل‬ ‫من‬ ‫المعرفت‬ ‫الدوال‬ ‫تصنيف‬ ‫معايير‬‫المبرمجذييؤؤؤ‬
ٍٍ‫ت‬ ‫انًشاركح‬‫انكائُاخ‬(Static , non static:)
‫ُْبنك‬ ‫رٕعذ‬ ‫انحبنخ‬ ِ‫ْز‬ ٙ‫ٔف‬ ‫انكبئُبد‬ ٍ‫ي‬ ‫يغًٕػخ‬ ‫يُٓب‬ ‫َشزك‬ ٌ‫ا‬ ٍ‫ًٚك‬ ٙ‫ٔانز‬ ‫انفئبد‬ ‫داخم‬ ‫رؼشٚفٓب‬ ‫ٚزى‬ ‫انذٔال‬
‫انذٔال‬ ٍ‫ي‬ ٍٛ‫َٕػ‬:
‫غٍز‬‫يشتزكح‬Non Static(instance member):٘‫ا‬َّ‫ا‬‫نكم‬ٍ‫كبئ‬‫يشزك‬ٍ‫ي‬‫انفئخ‬‫لًٛب‬
‫خبصخ‬‫نكبفخ‬‫يزغٛشاد‬‫انذانخ‬ٙ‫ٔف‬‫يٕالغ‬‫يخزهفخ‬ٍ‫ي‬ِ‫انزاكش‬‫ٔال‬‫عزذػبء‬ِ‫ْز‬‫انذانخ‬‫ٚغت‬‫أال‬‫اشزمبق‬
ٍ‫كبئ‬(object)ٍ‫ي‬‫انفئخ‬ّٕٚ‫انًحز‬ٗ‫ػه‬‫انذانخ‬.
‫يشتزكح‬Static(Class member: )‫يشزشكخ‬ ‫انذانخ‬ ِ‫ْز‬ ٌ‫ا‬ ٘‫ا‬(‫انزاكشح‬ ٙ‫ف‬ ‫ٔاحذح‬ ‫يٕلغ‬ ‫نٓب‬)ٍٛ‫ث‬
‫اشزمبق‬ ٗ‫ان‬ ‫الَحزبػ‬ ‫انذٔال‬ ٍ‫ي‬ ‫انُٕع‬ ‫ْزا‬ ‫اعزؼبء‬ ‫ٔػُذ‬ ‫انذانخ‬ ٗ‫ػه‬ ‫انًحزٕٚخ‬ ‫انفئخ‬ ٍ‫ي‬ ‫انًشزمخ‬ ‫انكبئُبد‬ ‫كبفخ‬
‫انذانخ‬ ٗ‫ػه‬ ‫انًحزٕٚخ‬ ‫انفئخ‬ ٍ‫ي‬ ٍ‫كبئ‬.
04/12/201502:27‫و‬
6
‫انًحاضز‬:ً‫انذرٔق‬ ‫سانى‬
‫المبرمج‬ ‫قبل‬ ‫من‬ ‫المعرفت‬ ‫الدوال‬ ‫تصنيف‬ ‫معايير‬
‫انًزخعح‬ ‫انقًٍح‬‫االستذعاء‬ ‫نسطز‬to calling codeReturned Value:
‫دٔال‬‫تزخع‬‫قًٍح‬(Getter)Return Value:‫ْزا‬‫انُٕع‬ٍ‫ي‬‫انذٔال‬‫ٚمٕو‬‫ثزُفٛز‬‫رؼهًٛبد‬‫يحذدح‬‫صى‬
‫ٚمٕو‬‫ثبسعبع‬‫لًٛخ‬(‫ٚزى‬‫رحذٚذ‬‫َٕػٓب‬‫اصُبء‬‫رؼشٚف‬‫انذانخ‬)ٗ‫ان‬‫عطش‬‫االعزذػبء‬‫ثؼذ‬‫اَزٓبء‬‫انزُفٛز‬‫ٔٚغت‬ٌ‫ا‬
ٕ٘‫ٚحز‬‫عغى‬‫انذانخ‬‫ػهٖبنكهًخ‬‫انًحغٕصح‬return.
‫قًٍح‬ ‫تزخع‬ ‫ال‬ ‫دٔال‬(Setter)Return no Value(Void):‫رمٕو‬ ‫انذٔال‬ ٍ‫ي‬ ‫انُٕع‬ ‫ْزا‬‫ثزُفٛز‬
‫رؼهًٛبد‬ٌٔ‫د‬ ‫يحذدح‬‫االعزذػبء‬ ‫عطش‬ ٗ‫ان‬ ‫لًٛخ‬ ‫ثبسعبع‬ ‫رمٕو‬ ٌ‫ا‬(Calling code)‫اَزٓبء‬ ‫ثؼذ‬‫انزُفٛز‬.
‫االعزذػبء‬ ‫عطش‬Calling Code:‫انشئٛغٛخ‬ ‫انذانخ‬ ٙ‫ف‬ ‫انذانخ‬ ‫اعزذػبء‬ ‫ػُذح‬ ‫رى‬ ٘‫انز‬ ‫انغطش‬ ْٕ(Main Method)
04/12/201502:27‫و‬
7
‫انًحبضش‬:ٙ‫انذسٔل‬ ‫عبنى‬
‫المبرمج‬ ‫قبل‬ ‫من‬ ‫المعرفت‬ ‫الدوال‬ ‫تصنيف‬ ‫معايير‬
‫انًعًالخ‬ ‫عهى‬ ‫احتٕئٓا‬With or without Parameters:
‫دٔال‬‫ال‬‫تحتاج‬‫انى‬‫تًزٌز‬‫يعايالخ‬Have no Parameter:ْٙٔ‫دٔال‬‫ال‬‫رحزبط‬ٗ‫ان‬‫رًشٚش‬
‫لٛى‬‫اصُبء‬‫اعزذػبئٓب‬‫حٛش‬‫ال‬‫ٚزى‬‫كزبثخ‬٘‫ا‬‫لٛى‬ٍٛ‫ث‬ٙ‫لٕع‬‫انذانخ‬.
‫دٔال‬‫تحتاج‬‫تًزٌز‬‫انى‬‫يعايالخ‬Have Parameter:ْٙٔ‫دٔال‬‫رحزبط‬ٗ‫ان‬‫رًشٚش‬(‫اسعبل‬)
‫يؼبيالد‬(‫رٕاثذ‬ٔ‫ا‬‫يزغٛشاد‬)‫اصُبء‬‫اعزذػبئٓب‬.
‫كزبثخ‬ ‫ٚزى‬‫انًؼبيالد‬‫انذانخ‬ ‫اعزذػبء‬ ‫اصُبء‬ ‫انذانخ‬ ‫اعى‬ ‫ايبو‬ ٍٛ‫لٕع‬ ٍٛ‫ث‬ ً‫ب‬ًٛ‫ل‬ ‫رحًم‬ ‫يزغٛشاد‬ ٔ‫ا‬ ‫صبثضخ‬ ‫كمٛى‬.
04/12/201502:27‫و‬
8
‫انًحبضش‬:ٙ‫انذسٔل‬ ‫عبنى‬
‫انجافا‬ ‫نغة‬ ‫في‬ ‫اندوال‬ ‫تصنيف‬ ‫يىضح‬ ‫مخطط‬
04/12/201502:27‫و‬‫انًحبضش‬:ٙ‫انذسٔل‬ ‫عبنى‬
9
‫اندوال‬ ‫عه‬ ‫نالعالن‬ ‫انعاو‬ ‫انشكم‬
‫انذانخ‬ ‫ساط‬ ٙ‫ف‬ ‫انزكش‬ ‫عبثمخ‬ ‫انًؼبٚش‬ ‫كبفخ‬ ‫لٛى‬ ‫رحذٚذ‬ ‫ٚغت‬ ‫انذانخ‬ ‫رؼشٚف‬ ‫ػُذ‬.
 [visibility] [static] return_type method_name ([parameter_list])
{
statements
...
}
1 2
04/12/201502:27‫و‬
10
‫انًحبضش‬:ٙ‫انذسٔل‬ ‫عبنى‬
‫انمعامالت‬ ‫وتمرير‬ ‫اندوال‬ ‫استدعاء‬
‫طشٚك‬ ٍ‫ػ‬ ‫انذانخ‬ ‫اعزذػبء‬ ‫ٚزى‬ٙ‫ف‬ ‫اعًٓب‬ ‫كزبثخ‬‫يزجٕػب‬ ‫انشئٛغٛخ‬ ‫انذانخ‬‫انًؼبيالد‬ ‫لٛى‬ ‫كزبثخ‬ ‫ثًُٛٓب‬ ‫ٚزى‬ ٍٛ‫ثمٕع‬
ٌ‫إ‬ ‫انذانخ‬ ٗ‫ان‬ ‫رًشٚشْب‬ ‫انًطهٕة‬‫ٔعذد‬.
 Method_name(Parameter_list)
 Variable=Method_name(Parameter_list)
‫انغبثك‬ ‫انًضبل‬ ٙ‫ف‬ ‫انذانخ‬ ‫عزذػبء‬ ‫ال‬ ‫يضبل‬:
 maxm(5,7,3); ‫سلى‬ ‫انذانخ‬ ‫اعزذػبء‬1
 X=maxm(5,7,3); ‫اعزذػبء‬‫انذانخ‬‫سلى‬2
04/12/201502:28‫و‬
11
‫انًحبضش‬:ٙ‫انذسٔل‬ ‫عبنى‬
‫نهدانة‬ ‫انمعامالت‬ ‫تمرير‬ ‫طرق‬
‫انًؼبيالد‬ْٙ‫ػجبسح‬ٍ‫ػ‬‫لٛى‬(‫يزغٛشاد‬ٔ‫ا‬‫صٕاثذ‬)‫ٚزى‬‫رًشٚشْب‬ٗ‫ان‬‫انذانخ‬‫اصُبء‬‫اعزذػبئٓب‬ٍ‫ي‬‫خالل‬‫كزبثخ‬‫لٛى‬
ٔ‫ا‬‫يزغٛشاد‬‫يُبظشح‬‫نهًزغٛشاد‬‫انًؼشفخ‬ٙ‫ف‬‫ساط‬‫انذانخ‬ٙ‫ف‬‫عًهخ‬‫االعزذػبء‬.
ًٙ‫رغ‬‫انًؼبيالد‬‫انًٕعٕدح‬ٙ‫ف‬‫انذانخ‬‫انشئٛغٛخ‬(‫انًكزٕثخ‬‫ايبو‬‫عًهخ‬‫االعزذػبء‬)‫ثبنًؼبيالد‬‫انفؼهٛخ‬‫ثًُٛب‬ًٗ‫رغ‬
‫انًؼبيالد‬‫انًُبظشح‬‫نٓب‬(‫انًكزٕثخ‬ٙ‫ف‬‫ساط‬‫انذانخ‬)ٙ‫ف‬‫انذانخ‬‫انًغزذػبح‬‫ثبنًؼبيالد‬‫انصٕسٚخ‬ٔ‫ا‬‫انشكهٛخ‬.
‫ٚغت‬ٌ‫ا‬‫رزطبثك‬‫انًؼبيالد‬‫انفؼهٛخ‬‫ٔانًؼبيالد‬‫انصٕسٚخ‬ٍ‫ي‬‫حٛش‬‫إَاػٓب‬‫ٔػذدْب‬‫ٔرشرٛجٓب‬.
04/12/201502:27‫و‬
12
‫انًحبضش‬:ٙ‫انذسٔل‬ ‫عبنى‬
‫بانقيمة‬ ‫انمعامالت‬ ‫تمرير‬Pass-By-Value
‫انطشٚمخ‬ ‫ْزا‬ ٙ‫ف‬‫انًؼبيم‬ ٗ‫ان‬ ٗ‫انفؼه‬ ‫انًؼبيم‬ ٍ‫ي‬ ‫َغخخ‬ ‫اسعبل‬ ‫ٚزى‬٘‫انصٕس‬.
‫كال‬ٍٛ‫انًؼبيه‬(ٗ‫ٔانشكه‬ ٙ‫انفؼه‬)ٙ‫ف‬ ‫ٔاحذ‬ ‫يٕلغ‬ ٙ‫ف‬ ٌ‫ٚشزشكب‬ ‫ال‬‫انزاكشح‬.
٘‫انصٕس‬ ‫انًؼبيم‬ ٗ‫ػه‬ ‫رحذس‬ ٙ‫انز‬ ‫ثبنزغٛشاد‬ ‫ٚزأصش‬ ‫ال‬ ٙ‫انفؼه‬ ‫انًؼبيم‬.
‫ْزا‬‫انجٛبَبد‬ ‫إَاع‬ ٍ‫ي‬ ‫انفؼهٛخ‬ ‫انًؼبيالد‬ ‫َٕع‬ ٌٕ‫ٚك‬ ‫ػُذيب‬ ‫رهمبئٛب‬ ّ‫رطجٛم‬ ‫ٚزى‬ ‫انًؼبيالد‬ ‫رًشٚش‬ ٍ‫ي‬ ‫انُٕع‬
‫انجذائٛخ‬((Primitive Data Types‫يضم‬int,double,float.
‫يضبل‬:
04/12/201502:27‫و‬
13
‫انًحبضش‬:ٙ‫انذسٔل‬ ‫عبنى‬
‫بانعنىان‬ ‫انمعامالت‬ ‫تمرير‬(‫انمرجع‬( )‫باالشارة‬)
Pass-By-Reference:
‫فٛٓب‬‫ٚزى‬‫اسعبل‬ٌ‫ػُٕا‬‫انًؼبيم‬ٗ‫انفؼه‬ٙ‫ف‬ِ‫انزاكش‬ٗ‫ان‬‫انًؼبيم‬٘‫انصٕس‬‫انًُبظش‬ّ‫ن‬ٙ‫ف‬‫انذانخ‬‫انًغزذػبح‬.
ٙ‫ف‬ِ‫ْز‬‫انحبنخ‬‫انًؼبيم‬ٙ‫انفؼه‬ٔٙ‫انشكه‬ٌ‫ٚشٛشا‬ٗ‫ان‬‫َفظ‬‫يٕلغ‬‫انزاكشح‬(ٌ‫ٚشزشكب‬ٙ‫ف‬‫يٕلغ‬‫انزاكشح‬)
٘‫ا‬‫رغٛش‬‫ٚحذس‬ٙ‫ف‬‫لًٛخ‬‫انًؼبيم‬ٗ‫انشكه‬‫عٛزى‬ّ‫رطجٛم‬ٗ‫ػه‬‫انًؼبيم‬ٗ‫انفؼه‬ٙ‫ف‬‫انذانخ‬‫انشئٛغٛخ‬.
‫ْزا‬‫انُٕع‬ٍ‫ي‬‫رًشٚش‬‫انًؼبيالد‬‫ٚزى‬ّ‫رطجٛم‬‫رهمبئٛب‬‫ػُذيب‬ٌٕ‫رك‬‫انًؼبيالد‬‫انفؼهٛخ‬ٍ‫ي‬‫َٕع‬ٍ‫كبئ‬
(Object)‫يضم‬‫انًصٕفبد‬.
‫يضبل‬:
04/12/201502:27‫و‬
14
‫انًحبضش‬:ٙ‫انذسٔل‬ ‫عبنى‬
‫وانمصفىفات‬ ‫اندوال‬
Methods & Arrays
‫انشكم‬‫انؼبو‬‫نزؼشٚف‬‫دانخ‬‫رغزمجم‬‫يصفٕفخ‬ٍ‫ي‬‫انجبسيزشاد‬‫ٔال‬‫رؼٛذ‬‫لًٛخ‬
Access_modifier returen_type method_name (array_type array_name[])
{
}
‫انشكم‬‫انؼبو‬‫نزؼشٚف‬‫دانخ‬‫رغزمجم‬‫يصفٕفخ‬ٍ‫ي‬‫انجبسيزشاد‬‫ٔرشعغ‬‫يصفٕفخ‬ٍ‫ي‬‫انمٛى‬
Access_modifier returen_type[] method_name (array_type array_name[])
{
}
:‫يضبل‬
04/12/201502:27‫و‬
15
‫انًحبضش‬:ٙ‫انذسٔل‬ ‫عبنى‬
‫نهدوال‬ ‫انزائد‬ ‫انتحميم‬
Methods Overloading
04/12/201502:27‫و‬‫انًحبضش‬:ٙ‫انذسٔل‬ ‫عبنى‬
16
ْٕ‫ػجبسح‬ٍ‫ػ‬‫كزبثخ‬‫اكضش‬ٍ‫ي‬‫دانخ‬‫رحًم‬‫َفظ‬‫االعى‬ٙ‫ف‬‫فئخ‬‫ٔاحذح‬‫يغ‬‫اخزالف‬‫رٕلٛغ‬‫كم‬‫دانخ‬(Method
signature)ٙ‫نك‬‫ٚزى‬‫انزًٛض‬‫ثُٛٓب‬.
‫رٕلٛغ‬‫انذانخ‬Method signature:‫ٚزًضم‬‫رٕلٛغ‬‫انذانخ‬ٙ‫ف‬‫لبئًخ‬‫انجبسيزشاد‬‫انًٕعٕدح‬ٍٛ‫ث‬ٙ‫لٕع‬‫انذانخ‬
ٙ‫ٔنك‬‫َغزطٛغ‬‫رؼشٚف‬‫اكضش‬ٍ‫ي‬‫دانخ‬‫ثُفظ‬‫االعى‬‫داخم‬‫فئخ‬‫ٔاحذح‬ٌ‫فب‬ِ‫ْز‬‫انذٔال‬‫انًؼشفخ‬‫ٚغت‬ٌ‫ا‬‫رخزهف‬ٙ‫ف‬
ٖ‫احذ‬‫صالصخ‬‫اشٛبء‬:
‫ػذد‬‫انًؼاليالد‬Number of parameters
‫َٕع‬‫انًؼاليالد‬Data type of parameters
‫رشرٛت‬‫َٕع‬‫انًؼبيالد‬Sequence of Data type of parameters
‫نهدانة‬ ‫انزائد‬ ‫انتحميم‬ ‫عه‬ ‫امثهة‬
04/12/201502:27‫و‬‫انًحبضش‬:ٙ‫انذسٔل‬ ‫عبنى‬
17
public static int max(int x , int y)
{
// Method body
}
public static int max(int x , int y)
{
// Method body
}
‫انًعايالخ‬ ‫عذد‬ ً‫ف‬ ٍٍ‫يختهفت‬ ٍٍ‫دانت‬
public static int max(int x , int y,int z)
{
// Method body
}
‫انًعايالخ‬ ‫َٕع‬ ً‫ف‬ ٍٍ‫يختهفت‬ ٍٍ‫دانت‬
public static int max(double x , double y)
{
// Method body
}
ً‫ف‬ ٍٍ‫يختهفت‬ ٍٍ‫دانت‬‫َٕع‬ ‫تزتٍة‬‫انًعايالخ‬
public static int max(double x , int y)
{
// Method body
}
public static int max(int x , double y)
{
// Method body
}
‫يثهث‬ ‫يساحح‬ ‫تحساب‬ ‫تقٕو‬ ‫دانح‬ ‫تاستذعاء‬ ‫ٌقٕو‬ ‫تزَايح‬ ‫اكتة‬ٌ‫تا‬ ‫عهًا‬
‫قاعذج‬‫انًثهث‬=‫تسأي‬4.5ّ‫ٔارتفاع‬ ‫يتز‬6.6‫انذانح‬ ً‫ف‬ ‫انًساحح‬ ‫طثاعح‬ ‫ٌتى‬ ٌ‫ا‬ ‫عهى‬ ‫يتز‬.
public static void main(String[] args)
{
double B=4.5,H=6.6;
triangle_area(B,H);
}
public static void triangle_area(double x,double y)
{
double area;
area=(0.5*x)*y;
System.out.println("Area="+area );
}
04/12/201502:27‫و‬
18
‫انًحبضش‬:ٙ‫انذسٔل‬ ‫عبنى‬
‫انزئٍسٍح‬ ‫انذانح‬ ً‫ف‬ ‫انطثاعح‬ ‫تتى‬ ٌ‫ا‬ ‫عهى‬ ‫انساتق‬ ‫انًثال‬ ‫َفس‬
public class JavaApplication1 {
public static void main(String[] args)
{
double B=4.5; H=6.6; double area;
area= triangle_area(B,H);
System.out.println("Area="+area );
}
public static double triangle_area(double x,double y)
{
return (0.5*x)*y;
} }
04/12/201502:27‫و‬
19
‫انًحبضش‬:ٙ‫انذسٔل‬ ‫عبنى‬
‫انقٍى‬ ِ‫ْذ‬ ‫تطثاعح‬ ‫تقٕو‬ ‫دانح‬ ‫تاستذعاء‬ ‫ٌقٕو‬ ‫ثى‬ ‫يصفٕفح‬ ‫نعُاصز‬ ‫قٍى‬ ٌٍ‫تتخز‬ ‫ٌقٕو‬ ‫تزَايح‬ ‫اكتة‬.
public static void main(String[] args)
{
int m[]= new int[5];
m[0]=5; m[1]=15; m[2]=55; m[3]=3; m[4]=7;
print_arr(m);
}
public static void print_arr(int arr[])
{
for (int i =0 ;i <5;i++)
System.out.print(arr[i]+" ");
}
}
04/12/201502:27‫و‬
20
‫انًحبضش‬:ٙ‫انذسٔل‬ ‫عبنى‬
ٍ‫ي‬ ‫يكَٕح‬ ٌٍ‫تعذ‬ ‫داخ‬ ‫يصفٕفح‬ ‫تاستقثال‬ ‫ٌقٕو‬ ‫تزَايح‬ ‫اكتة‬10‫عُاصز‬2*5‫انصحٍح‬ ‫انُٕع‬ ٍ‫ي‬
‫قًٍح‬ ‫اصغز‬ ‫نحساب‬ ‫دانح‬ ‫ٔكذنك‬ ‫انًصفٕفح‬ ً‫ف‬ ‫قًٍح‬ ‫اكثز‬ ‫تحساب‬ ‫تقٕو‬ ‫دانح‬ ‫تاستذعاء‬ ‫ٌقٕو‬ ‫ثى‬.
04/12/201502:27‫و‬‫انًحبضش‬:ٙ‫انذسٔل‬ ‫عبنى‬
21
‫انزئٍسٍح‬ ‫انذانح‬
public static void main(String[] args)
{
Scanner input = new Scanner(System.in);
int m[][]= new int[2][5];
for (int i =0 ;i <2;i++)
for (int j =0 ;j <5;j++)
m[i][j]=input.nextInt();
int max_element= max(m);
int min_element= min(m);
System.out.println("max="+max_element);
System.out.println("min="+min_element);
}
‫انساتقح‬ ‫انشزٌحح‬ ً‫ف‬ ‫انًثال‬ ‫تاتع‬
04/12/201502:27‫و‬‫انًحبضش‬:ٙ‫انذسٔل‬ ‫عبنى‬
22
‫قًٍح‬ ‫اكثز‬ ‫حساب‬ ‫دانح‬
public static int max(int arr1[][])
{
int max=arr1[0][0];
for (int i =0 ;i <2;i++)
for (int j =0 ;j <5;j++)
if (arr1[i][j]>max)
max=arr1[i][j];
return max;
}
‫انساتقح‬ ‫انشزٌحح‬ ً‫ف‬ ‫انًثال‬ ‫تاتع‬
04/12/201502:27‫و‬‫انًحاضز‬:ً‫انذرٔق‬ ‫سانى‬
23
‫قًٍح‬ ‫اقم‬ ‫حساب‬ ‫دانح‬
public static int min(int arr2[][])
{
int min=arr2[0][0];
for (int i =0 ;i <2;i++)
for (int j =0 ;j <5;j++)
if (arr2[i][j]<min)
min=arr2[i][j];
return min;
}
: ‫يضبل‬
‫اننهاية‬
‫استًاعكى‬ ٍ‫نحس‬ ‫شكز‬
‫انًحبضش‬:ٙ‫انذسٔل‬ ‫يغؼٕد‬ ‫عبنى‬
Salemaldrugi@gmail.com
Salemaldrugi@yahoo.com
04/12/201502:27‫و‬
24
‫انًحبضش‬:ٙ‫انذسٔل‬ ‫عبنى‬

More Related Content

PDF
java input & output Statments
PDF
Lect5 / switch Statement/ By:Salem Adrugi
PPTX
البرمجة (2) - اللقاء الافتراضي الثاني
DOCX
مقرر معالجة البيانات
PDF
PDF
Java arrays/ By : Salem_Adrugi
PPS
NetBeans Tut CH1
PPTX
الدرس 3 من #دورة_الجافا - الادوات اللازمة للبرمجة وطريقة عمل الجافا
java input & output Statments
Lect5 / switch Statement/ By:Salem Adrugi
البرمجة (2) - اللقاء الافتراضي الثاني
مقرر معالجة البيانات
Java arrays/ By : Salem_Adrugi
NetBeans Tut CH1
الدرس 3 من #دورة_الجافا - الادوات اللازمة للبرمجة وطريقة عمل الجافا

Viewers also liked (20)

PPT
شرح مقرر البرمجة 2 لغة جافا - الوحدة الرابعة
PDF
Java fundamentals/By:Salem_Adrugi
PPTX
Java 8 lambda expression
PPT
شرح مقرر البرمجة 2 لغة جافا - الوحدة الخامسة
PPTX
مقدمة الي الجافا
PPT
Gem1st answer2015
PDF
Java oop by_salem_adrugi
PPT
شرح مقرر البرمجة 2 لغة جافا - الوحدة الثامنة
PDF
كتاب: Simply AVR مقدمة مبسطة عن النظم المدمجة
PPT
Dynamic Routing IGRP
PPS
Packages and inbuilt classes of java
PPT
Integrated Service Digital Network
PPT
PPT
مساق الخوارزميات والبرمجة بلغة جافا (1) مفاهيم الخوارزميات ج1
PPT
Switching 1
PPT
Password Recovery
PDF
شرح مبسط عن الخوارزميات الجينية باستخدام الحاسبات
ODP
OOP java
PPT
Object Oriented Programming with Java
PDF
Chapter 2 part3-Least-Squares Regression
شرح مقرر البرمجة 2 لغة جافا - الوحدة الرابعة
Java fundamentals/By:Salem_Adrugi
Java 8 lambda expression
شرح مقرر البرمجة 2 لغة جافا - الوحدة الخامسة
مقدمة الي الجافا
Gem1st answer2015
Java oop by_salem_adrugi
شرح مقرر البرمجة 2 لغة جافا - الوحدة الثامنة
كتاب: Simply AVR مقدمة مبسطة عن النظم المدمجة
Dynamic Routing IGRP
Packages and inbuilt classes of java
Integrated Service Digital Network
مساق الخوارزميات والبرمجة بلغة جافا (1) مفاهيم الخوارزميات ج1
Switching 1
Password Recovery
شرح مبسط عن الخوارزميات الجينية باستخدام الحاسبات
OOP java
Object Oriented Programming with Java
Chapter 2 part3-Least-Squares Regression
Ad

Similar to Java methods/by Salem_Adrugi (20)

PDF
الفصل الاول
PDF
الفصل الاول
PDF
Matlab 06-Data Types of MATLAB Programming and Applications
PDF
الفصل 1الاول
PPT
Chapter 2: array and array list data structure
PDF
Algorithms and Data Structure 2020
PPTX
المؤشرات .pptx
PDF
C# languge(ar)C#.netالابحار في لغة
PPTX
البرمجة غرضية التوجه بلغة البايثون
PDF
java programming language - Lecture7.pdf
PPTX
Algorithms_Design_powerPoint_slide9.pptx
PPTX
4- Arrays
PDF
Uml class diagram
PPTX
[C++ Tutorial] #6- Pointers
PDF
أسئلة وإجابتها علي منهج الصف الثالث الاعدادي فصل دراسي ثاني
PPTX
Java_Programming_language in Yemen lec2.pptx
PPTX
Searching Techniques تقنيات البحث
PDF
Computer 2nd-preparatory-second-term- (10)
الفصل الاول
الفصل الاول
Matlab 06-Data Types of MATLAB Programming and Applications
الفصل 1الاول
Chapter 2: array and array list data structure
Algorithms and Data Structure 2020
المؤشرات .pptx
C# languge(ar)C#.netالابحار في لغة
البرمجة غرضية التوجه بلغة البايثون
java programming language - Lecture7.pdf
Algorithms_Design_powerPoint_slide9.pptx
4- Arrays
Uml class diagram
[C++ Tutorial] #6- Pointers
أسئلة وإجابتها علي منهج الصف الثالث الاعدادي فصل دراسي ثاني
Java_Programming_language in Yemen lec2.pptx
Searching Techniques تقنيات البحث
Computer 2nd-preparatory-second-term- (10)
Ad

Recently uploaded (15)

PPT
اعداد التقاريرعملية جمع وتحليل البيانات وتنظيمها في شكل مكتوب .ppt
PDF
الكامل في أسانيد وتصحيح حديث للسائل حقٌّ وإن جاء علي فَرَس من إحدي عشرة ( 11 ...
PPT
التفكير الإبداعي هو القدرة على توليد أفكار جديدة ومبتكرة، والنظر إلى المشكلات...
PDF
الكامل في أسانيد وتصحيح حديث من ضحك في الصلاة يعيد الوضوء والصلاة من سبعة طرق...
PDF
الكامل في أسانيد وتصحيح حديث من تعلم العلم ليجاري به العلماء أو ليماري به الس...
PDF
‎⁨نظريات ونماذج لتبني التقنية في التعليم.
PDF
خطة دورة الرخصة المهنية للدراسات الإسلامية
PPTX
Hukum Siwak&Dan Wudhu Dalam Kitab Fathul
PDF
ادارة علاقات الموردين-الشهادة الدولية في المشتريات والامداد
PDF
الكامل في آيات وأحاديث وصف من لم يؤمن بالله ورسوله بالكافرين والمشركين والظال...
PDF
الكامل في تقريب كتاب ( القَدَر لابن وهب ) بحذف الأسانيد مع بيان حكم كل حديث /...
PPTX
jgiiiiiijoj yojjyojdbbojybojojyjdobjjjyh
PDF
الكامل في تقريب كتاب ( القَدَر للفريابي ) بحذف الأسانيد مع بيان حكم كل حديث /...
PPTX
_______ ______ _ 1 _____________ _______ -___ - _______.pptx
PDF
قضية؟ للمناقشة هل توافق علي إلغاء كليات التربية
اعداد التقاريرعملية جمع وتحليل البيانات وتنظيمها في شكل مكتوب .ppt
الكامل في أسانيد وتصحيح حديث للسائل حقٌّ وإن جاء علي فَرَس من إحدي عشرة ( 11 ...
التفكير الإبداعي هو القدرة على توليد أفكار جديدة ومبتكرة، والنظر إلى المشكلات...
الكامل في أسانيد وتصحيح حديث من ضحك في الصلاة يعيد الوضوء والصلاة من سبعة طرق...
الكامل في أسانيد وتصحيح حديث من تعلم العلم ليجاري به العلماء أو ليماري به الس...
‎⁨نظريات ونماذج لتبني التقنية في التعليم.
خطة دورة الرخصة المهنية للدراسات الإسلامية
Hukum Siwak&Dan Wudhu Dalam Kitab Fathul
ادارة علاقات الموردين-الشهادة الدولية في المشتريات والامداد
الكامل في آيات وأحاديث وصف من لم يؤمن بالله ورسوله بالكافرين والمشركين والظال...
الكامل في تقريب كتاب ( القَدَر لابن وهب ) بحذف الأسانيد مع بيان حكم كل حديث /...
jgiiiiiijoj yojjyojdbbojybojojyjdobjjjyh
الكامل في تقريب كتاب ( القَدَر للفريابي ) بحذف الأسانيد مع بيان حكم كل حديث /...
_______ ______ _ 1 _____________ _______ -___ - _______.pptx
قضية؟ للمناقشة هل توافق علي إلغاء كليات التربية

Java methods/by Salem_Adrugi

  • 1. ‫ز‬‫ض‬‫ا‬‫ح‬ً‫ن‬‫ا‬:ً‫ق‬ٔ‫ر‬‫ذ‬‫ن‬‫ا‬ ‫د‬ٕ‫ع‬‫س‬‫ي‬ ‫ى‬‫ن‬‫ا‬‫س‬ ‫اساسيات‬‫اجلافا‬ ‫بلغة‬ ‫الربجمة‬ ‫المحاضرة‬:‫العاشرة‬ ‫الدوال‬‫الجافا‬ ‫لغت‬ ‫في‬ Java Methods ‫املرقب‬ ‫جامعة‬/‫اخلمس‬ ‫الرتبية‬ ‫كلية‬-‫اخلمس‬/‫سوق‬‫اخلميس‬
  • 2. Out lines ‫فٕائذْب‬ ْٙ ‫ٔيب‬ ‫انذٔال‬ ْٙ‫يب‬(MethodsWhat’s Methods & Why.) ‫انغبفب‬ ‫نغخ‬ ٙ‫ف‬ ‫انذٔال‬ ‫إَاع‬(Built-in-Programmer –defined.) ‫ػُٓب‬ ٌ‫االػال‬ ‫ٔطشق‬ ، ‫انًجشيظ‬ ‫لجم‬ ٍ‫ي‬ ‫انًؼشفخ‬ ‫انذٔال‬ ‫رصُٛف‬(Method Structure.) ‫نهذانخ‬ ‫انًؼبيالد‬ ‫ٔرًشٚش‬ ‫انذٔال‬ ‫اعزذػبء‬Passing Parameters&.Method invocation ‫ٔانًصفٕفبد‬ ‫انذٔال‬(‫انٕاحذ‬ ‫انجؼذ‬ ‫راد‬/ٍٚ‫انجؼذ‬ ‫راد‬)Arrays & Methods. ‫نهذٔال‬ ‫انضائذ‬ ‫انزحًٛم‬Method Overlooding 04/12/201502:27‫و‬ 2 ‫انًحبضش‬:ٙ‫انذسٔل‬ ‫عبنى‬
  • 3. ‫فوائدها‬ ‫هي‬ ‫وما‬ ‫الدوال‬ ‫هي‬ ‫ما‬ What is Methods & Why Methods ‫انذانخ‬ْٙ‫ػجبسح‬ٍ‫ػ‬‫يغًٕػخ‬ٍ‫ي‬‫انزؼهًٛبد‬‫انًغًؼخ‬‫رحذ‬‫اعى‬‫ٔاحذ‬‫،ركزت‬‫داخم‬‫انفئخ‬‫ٔخبسط‬‫انذانخ‬main. ٍ‫ًٚك‬‫اعزذػبئٓب‬ٙ‫ف‬٘‫ا‬‫َمطخ‬ٙ‫ف‬‫انجشَبيظ‬ٍ‫ي‬(‫خالل‬‫كزبثخ‬‫اعًٓب‬ٙ‫ف‬‫انذانخ‬‫انشئٛغٛخ‬). ‫ٔثؼذ‬‫رُفٛزْب‬‫ٚزى‬‫انشعٕع‬ٗ‫ان‬‫َمطخ‬‫االعزذػبء‬ٙ‫ف‬‫انذانخ‬‫انشئٛغٛخ‬. ‫ْٛكهٛخ‬ ‫ٔرُغٛك‬ ‫رُظٛى‬ ٙ‫ف‬ ‫انذٔال‬ ‫رغبػذ‬‫انجشَبيظ‬‫ٔعٕٓنخ‬ ‫ٔضٕحب‬ ‫اكضش‬ ٌٕ‫نٛك‬. ‫انجشَبيظ‬ ‫رمغٛى‬ٗ‫ان‬‫يغًٕػخ‬‫فشػٛخ‬ ‫ثشايظ‬(‫دٔال‬)‫يُٓب‬ ‫نكم‬ ٌٕ‫ٚك‬ ‫ثحٛش‬‫ٔظٛفخ‬‫يحذدح‬. ‫عٕٓنخ‬ ‫اكضش‬ ‫نهجشَبيظ‬ ‫انًصذسٚخ‬ ‫انشفشح‬ ‫ٔصٛبَخ‬ ‫يزبثؼخ‬ ‫ػًهٛخ‬ ‫ٚغؼم‬ ‫انذٔال‬ ‫اعزخذاو‬. ‫كزبثخ‬ ‫ركشاس‬ ٍ‫ي‬ ‫انزمهٛم‬ ٙ‫ف‬ ‫رغبػذ‬‫االكٕاد‬. 04/12/201502:27‫و‬ 3 ‫انًحبضش‬:ٙ‫انذسٔل‬ ‫عبنى‬
  • 4. ‫الجافا‬ ‫لغت‬ ‫في‬ ‫الدوال‬ ‫انواع‬(Types of Methods in Java)  Build-in User-defined:ٍ‫ي‬ ‫اَشبئٓب‬ ‫ٚزى‬ ٙ‫انز‬ ‫انذٔال‬ ‫يغًٕػخ‬ ْٙٔ ٌٕ‫ٔرزك‬ ‫يؼُٛخ‬ ‫ٔظٛفخ‬ ‫الداء‬ ‫انًجشيظ‬ ‫لجم‬ٍٛ‫عضئ‬‫ًْب‬ ٍٛٛ‫سئٛغ‬: ‫ساط‬‫انذانخ‬(Method Header) ‫عغى‬‫انذانخ‬(Method Body) 04/12/201502:27‫و‬ 4 ‫انًحبضش‬:ٙ‫انذسٔل‬ ‫عبنى‬
  • 5. ‫المبرمج‬ ‫قبل‬ ‫من‬ ‫المعرفت‬ ‫الدوال‬ ‫تصنيف‬ ‫معايير‬ ‫انٕصٕل‬ ‫قاتهٍح‬Access Modifier: ‫عايح‬Public:‫انفئبد‬ ‫كبفخ‬ ٍ‫ي‬ ‫انٛٓب‬ ‫انٕصٕل‬ ٍ‫ًٚك‬‫انًششٔع‬ ٙ‫ف‬. ‫خاصح‬Private:‫انًؼشفخ‬ ‫انفئخ‬ ‫داخم‬ ٍ‫ي‬ ‫اال‬ ‫انٛٓب‬ ‫انٕصٕل‬ ٍ‫ًٚك‬ ‫ال‬‫فٛٓب‬. ‫يحًٍح‬Protected:‫ال‬ٍ‫ًٚك‬‫انٕصٕل‬‫انٛٓب‬‫اال‬ٍ‫ي‬‫خالل‬ٍ‫ي‬‫انفئخ‬‫انًؼشفخ‬‫فٛٓب‬‫انفئبد‬ّ‫انًٕسٔص‬ ‫يُٓب‬ 04/12/201502:27‫و‬ 5 ‫انًحبضش‬:ٙ‫انذسٔل‬ ‫عبنى‬
  • 6. ‫قبل‬ ‫من‬ ‫المعرفت‬ ‫الدوال‬ ‫تصنيف‬ ‫معايير‬‫المبرمجذييؤؤؤ‬ ٍٍ‫ت‬ ‫انًشاركح‬‫انكائُاخ‬(Static , non static:) ‫ُْبنك‬ ‫رٕعذ‬ ‫انحبنخ‬ ِ‫ْز‬ ٙ‫ٔف‬ ‫انكبئُبد‬ ٍ‫ي‬ ‫يغًٕػخ‬ ‫يُٓب‬ ‫َشزك‬ ٌ‫ا‬ ٍ‫ًٚك‬ ٙ‫ٔانز‬ ‫انفئبد‬ ‫داخم‬ ‫رؼشٚفٓب‬ ‫ٚزى‬ ‫انذٔال‬ ‫انذٔال‬ ٍ‫ي‬ ٍٛ‫َٕػ‬: ‫غٍز‬‫يشتزكح‬Non Static(instance member):٘‫ا‬َّ‫ا‬‫نكم‬ٍ‫كبئ‬‫يشزك‬ٍ‫ي‬‫انفئخ‬‫لًٛب‬ ‫خبصخ‬‫نكبفخ‬‫يزغٛشاد‬‫انذانخ‬ٙ‫ٔف‬‫يٕالغ‬‫يخزهفخ‬ٍ‫ي‬ِ‫انزاكش‬‫ٔال‬‫عزذػبء‬ِ‫ْز‬‫انذانخ‬‫ٚغت‬‫أال‬‫اشزمبق‬ ٍ‫كبئ‬(object)ٍ‫ي‬‫انفئخ‬ّٕٚ‫انًحز‬ٗ‫ػه‬‫انذانخ‬. ‫يشتزكح‬Static(Class member: )‫يشزشكخ‬ ‫انذانخ‬ ِ‫ْز‬ ٌ‫ا‬ ٘‫ا‬(‫انزاكشح‬ ٙ‫ف‬ ‫ٔاحذح‬ ‫يٕلغ‬ ‫نٓب‬)ٍٛ‫ث‬ ‫اشزمبق‬ ٗ‫ان‬ ‫الَحزبػ‬ ‫انذٔال‬ ٍ‫ي‬ ‫انُٕع‬ ‫ْزا‬ ‫اعزؼبء‬ ‫ٔػُذ‬ ‫انذانخ‬ ٗ‫ػه‬ ‫انًحزٕٚخ‬ ‫انفئخ‬ ٍ‫ي‬ ‫انًشزمخ‬ ‫انكبئُبد‬ ‫كبفخ‬ ‫انذانخ‬ ٗ‫ػه‬ ‫انًحزٕٚخ‬ ‫انفئخ‬ ٍ‫ي‬ ٍ‫كبئ‬. 04/12/201502:27‫و‬ 6 ‫انًحاضز‬:ً‫انذرٔق‬ ‫سانى‬
  • 7. ‫المبرمج‬ ‫قبل‬ ‫من‬ ‫المعرفت‬ ‫الدوال‬ ‫تصنيف‬ ‫معايير‬ ‫انًزخعح‬ ‫انقًٍح‬‫االستذعاء‬ ‫نسطز‬to calling codeReturned Value: ‫دٔال‬‫تزخع‬‫قًٍح‬(Getter)Return Value:‫ْزا‬‫انُٕع‬ٍ‫ي‬‫انذٔال‬‫ٚمٕو‬‫ثزُفٛز‬‫رؼهًٛبد‬‫يحذدح‬‫صى‬ ‫ٚمٕو‬‫ثبسعبع‬‫لًٛخ‬(‫ٚزى‬‫رحذٚذ‬‫َٕػٓب‬‫اصُبء‬‫رؼشٚف‬‫انذانخ‬)ٗ‫ان‬‫عطش‬‫االعزذػبء‬‫ثؼذ‬‫اَزٓبء‬‫انزُفٛز‬‫ٔٚغت‬ٌ‫ا‬ ٕ٘‫ٚحز‬‫عغى‬‫انذانخ‬‫ػهٖبنكهًخ‬‫انًحغٕصح‬return. ‫قًٍح‬ ‫تزخع‬ ‫ال‬ ‫دٔال‬(Setter)Return no Value(Void):‫رمٕو‬ ‫انذٔال‬ ٍ‫ي‬ ‫انُٕع‬ ‫ْزا‬‫ثزُفٛز‬ ‫رؼهًٛبد‬ٌٔ‫د‬ ‫يحذدح‬‫االعزذػبء‬ ‫عطش‬ ٗ‫ان‬ ‫لًٛخ‬ ‫ثبسعبع‬ ‫رمٕو‬ ٌ‫ا‬(Calling code)‫اَزٓبء‬ ‫ثؼذ‬‫انزُفٛز‬. ‫االعزذػبء‬ ‫عطش‬Calling Code:‫انشئٛغٛخ‬ ‫انذانخ‬ ٙ‫ف‬ ‫انذانخ‬ ‫اعزذػبء‬ ‫ػُذح‬ ‫رى‬ ٘‫انز‬ ‫انغطش‬ ْٕ(Main Method) 04/12/201502:27‫و‬ 7 ‫انًحبضش‬:ٙ‫انذسٔل‬ ‫عبنى‬
  • 8. ‫المبرمج‬ ‫قبل‬ ‫من‬ ‫المعرفت‬ ‫الدوال‬ ‫تصنيف‬ ‫معايير‬ ‫انًعًالخ‬ ‫عهى‬ ‫احتٕئٓا‬With or without Parameters: ‫دٔال‬‫ال‬‫تحتاج‬‫انى‬‫تًزٌز‬‫يعايالخ‬Have no Parameter:ْٙٔ‫دٔال‬‫ال‬‫رحزبط‬ٗ‫ان‬‫رًشٚش‬ ‫لٛى‬‫اصُبء‬‫اعزذػبئٓب‬‫حٛش‬‫ال‬‫ٚزى‬‫كزبثخ‬٘‫ا‬‫لٛى‬ٍٛ‫ث‬ٙ‫لٕع‬‫انذانخ‬. ‫دٔال‬‫تحتاج‬‫تًزٌز‬‫انى‬‫يعايالخ‬Have Parameter:ْٙٔ‫دٔال‬‫رحزبط‬ٗ‫ان‬‫رًشٚش‬(‫اسعبل‬) ‫يؼبيالد‬(‫رٕاثذ‬ٔ‫ا‬‫يزغٛشاد‬)‫اصُبء‬‫اعزذػبئٓب‬. ‫كزبثخ‬ ‫ٚزى‬‫انًؼبيالد‬‫انذانخ‬ ‫اعزذػبء‬ ‫اصُبء‬ ‫انذانخ‬ ‫اعى‬ ‫ايبو‬ ٍٛ‫لٕع‬ ٍٛ‫ث‬ ً‫ب‬ًٛ‫ل‬ ‫رحًم‬ ‫يزغٛشاد‬ ٔ‫ا‬ ‫صبثضخ‬ ‫كمٛى‬. 04/12/201502:27‫و‬ 8 ‫انًحبضش‬:ٙ‫انذسٔل‬ ‫عبنى‬
  • 9. ‫انجافا‬ ‫نغة‬ ‫في‬ ‫اندوال‬ ‫تصنيف‬ ‫يىضح‬ ‫مخطط‬ 04/12/201502:27‫و‬‫انًحبضش‬:ٙ‫انذسٔل‬ ‫عبنى‬ 9
  • 10. ‫اندوال‬ ‫عه‬ ‫نالعالن‬ ‫انعاو‬ ‫انشكم‬ ‫انذانخ‬ ‫ساط‬ ٙ‫ف‬ ‫انزكش‬ ‫عبثمخ‬ ‫انًؼبٚش‬ ‫كبفخ‬ ‫لٛى‬ ‫رحذٚذ‬ ‫ٚغت‬ ‫انذانخ‬ ‫رؼشٚف‬ ‫ػُذ‬.  [visibility] [static] return_type method_name ([parameter_list]) { statements ... } 1 2 04/12/201502:27‫و‬ 10 ‫انًحبضش‬:ٙ‫انذسٔل‬ ‫عبنى‬
  • 11. ‫انمعامالت‬ ‫وتمرير‬ ‫اندوال‬ ‫استدعاء‬ ‫طشٚك‬ ٍ‫ػ‬ ‫انذانخ‬ ‫اعزذػبء‬ ‫ٚزى‬ٙ‫ف‬ ‫اعًٓب‬ ‫كزبثخ‬‫يزجٕػب‬ ‫انشئٛغٛخ‬ ‫انذانخ‬‫انًؼبيالد‬ ‫لٛى‬ ‫كزبثخ‬ ‫ثًُٛٓب‬ ‫ٚزى‬ ٍٛ‫ثمٕع‬ ٌ‫إ‬ ‫انذانخ‬ ٗ‫ان‬ ‫رًشٚشْب‬ ‫انًطهٕة‬‫ٔعذد‬.  Method_name(Parameter_list)  Variable=Method_name(Parameter_list) ‫انغبثك‬ ‫انًضبل‬ ٙ‫ف‬ ‫انذانخ‬ ‫عزذػبء‬ ‫ال‬ ‫يضبل‬:  maxm(5,7,3); ‫سلى‬ ‫انذانخ‬ ‫اعزذػبء‬1  X=maxm(5,7,3); ‫اعزذػبء‬‫انذانخ‬‫سلى‬2 04/12/201502:28‫و‬ 11 ‫انًحبضش‬:ٙ‫انذسٔل‬ ‫عبنى‬
  • 12. ‫نهدانة‬ ‫انمعامالت‬ ‫تمرير‬ ‫طرق‬ ‫انًؼبيالد‬ْٙ‫ػجبسح‬ٍ‫ػ‬‫لٛى‬(‫يزغٛشاد‬ٔ‫ا‬‫صٕاثذ‬)‫ٚزى‬‫رًشٚشْب‬ٗ‫ان‬‫انذانخ‬‫اصُبء‬‫اعزذػبئٓب‬ٍ‫ي‬‫خالل‬‫كزبثخ‬‫لٛى‬ ٔ‫ا‬‫يزغٛشاد‬‫يُبظشح‬‫نهًزغٛشاد‬‫انًؼشفخ‬ٙ‫ف‬‫ساط‬‫انذانخ‬ٙ‫ف‬‫عًهخ‬‫االعزذػبء‬. ًٙ‫رغ‬‫انًؼبيالد‬‫انًٕعٕدح‬ٙ‫ف‬‫انذانخ‬‫انشئٛغٛخ‬(‫انًكزٕثخ‬‫ايبو‬‫عًهخ‬‫االعزذػبء‬)‫ثبنًؼبيالد‬‫انفؼهٛخ‬‫ثًُٛب‬ًٗ‫رغ‬ ‫انًؼبيالد‬‫انًُبظشح‬‫نٓب‬(‫انًكزٕثخ‬ٙ‫ف‬‫ساط‬‫انذانخ‬)ٙ‫ف‬‫انذانخ‬‫انًغزذػبح‬‫ثبنًؼبيالد‬‫انصٕسٚخ‬ٔ‫ا‬‫انشكهٛخ‬. ‫ٚغت‬ٌ‫ا‬‫رزطبثك‬‫انًؼبيالد‬‫انفؼهٛخ‬‫ٔانًؼبيالد‬‫انصٕسٚخ‬ٍ‫ي‬‫حٛش‬‫إَاػٓب‬‫ٔػذدْب‬‫ٔرشرٛجٓب‬. 04/12/201502:27‫و‬ 12 ‫انًحبضش‬:ٙ‫انذسٔل‬ ‫عبنى‬
  • 13. ‫بانقيمة‬ ‫انمعامالت‬ ‫تمرير‬Pass-By-Value ‫انطشٚمخ‬ ‫ْزا‬ ٙ‫ف‬‫انًؼبيم‬ ٗ‫ان‬ ٗ‫انفؼه‬ ‫انًؼبيم‬ ٍ‫ي‬ ‫َغخخ‬ ‫اسعبل‬ ‫ٚزى‬٘‫انصٕس‬. ‫كال‬ٍٛ‫انًؼبيه‬(ٗ‫ٔانشكه‬ ٙ‫انفؼه‬)ٙ‫ف‬ ‫ٔاحذ‬ ‫يٕلغ‬ ٙ‫ف‬ ٌ‫ٚشزشكب‬ ‫ال‬‫انزاكشح‬. ٘‫انصٕس‬ ‫انًؼبيم‬ ٗ‫ػه‬ ‫رحذس‬ ٙ‫انز‬ ‫ثبنزغٛشاد‬ ‫ٚزأصش‬ ‫ال‬ ٙ‫انفؼه‬ ‫انًؼبيم‬. ‫ْزا‬‫انجٛبَبد‬ ‫إَاع‬ ٍ‫ي‬ ‫انفؼهٛخ‬ ‫انًؼبيالد‬ ‫َٕع‬ ٌٕ‫ٚك‬ ‫ػُذيب‬ ‫رهمبئٛب‬ ّ‫رطجٛم‬ ‫ٚزى‬ ‫انًؼبيالد‬ ‫رًشٚش‬ ٍ‫ي‬ ‫انُٕع‬ ‫انجذائٛخ‬((Primitive Data Types‫يضم‬int,double,float. ‫يضبل‬: 04/12/201502:27‫و‬ 13 ‫انًحبضش‬:ٙ‫انذسٔل‬ ‫عبنى‬
  • 14. ‫بانعنىان‬ ‫انمعامالت‬ ‫تمرير‬(‫انمرجع‬( )‫باالشارة‬) Pass-By-Reference: ‫فٛٓب‬‫ٚزى‬‫اسعبل‬ٌ‫ػُٕا‬‫انًؼبيم‬ٗ‫انفؼه‬ٙ‫ف‬ِ‫انزاكش‬ٗ‫ان‬‫انًؼبيم‬٘‫انصٕس‬‫انًُبظش‬ّ‫ن‬ٙ‫ف‬‫انذانخ‬‫انًغزذػبح‬. ٙ‫ف‬ِ‫ْز‬‫انحبنخ‬‫انًؼبيم‬ٙ‫انفؼه‬ٔٙ‫انشكه‬ٌ‫ٚشٛشا‬ٗ‫ان‬‫َفظ‬‫يٕلغ‬‫انزاكشح‬(ٌ‫ٚشزشكب‬ٙ‫ف‬‫يٕلغ‬‫انزاكشح‬) ٘‫ا‬‫رغٛش‬‫ٚحذس‬ٙ‫ف‬‫لًٛخ‬‫انًؼبيم‬ٗ‫انشكه‬‫عٛزى‬ّ‫رطجٛم‬ٗ‫ػه‬‫انًؼبيم‬ٗ‫انفؼه‬ٙ‫ف‬‫انذانخ‬‫انشئٛغٛخ‬. ‫ْزا‬‫انُٕع‬ٍ‫ي‬‫رًشٚش‬‫انًؼبيالد‬‫ٚزى‬ّ‫رطجٛم‬‫رهمبئٛب‬‫ػُذيب‬ٌٕ‫رك‬‫انًؼبيالد‬‫انفؼهٛخ‬ٍ‫ي‬‫َٕع‬ٍ‫كبئ‬ (Object)‫يضم‬‫انًصٕفبد‬. ‫يضبل‬: 04/12/201502:27‫و‬ 14 ‫انًحبضش‬:ٙ‫انذسٔل‬ ‫عبنى‬
  • 15. ‫وانمصفىفات‬ ‫اندوال‬ Methods & Arrays ‫انشكم‬‫انؼبو‬‫نزؼشٚف‬‫دانخ‬‫رغزمجم‬‫يصفٕفخ‬ٍ‫ي‬‫انجبسيزشاد‬‫ٔال‬‫رؼٛذ‬‫لًٛخ‬ Access_modifier returen_type method_name (array_type array_name[]) { } ‫انشكم‬‫انؼبو‬‫نزؼشٚف‬‫دانخ‬‫رغزمجم‬‫يصفٕفخ‬ٍ‫ي‬‫انجبسيزشاد‬‫ٔرشعغ‬‫يصفٕفخ‬ٍ‫ي‬‫انمٛى‬ Access_modifier returen_type[] method_name (array_type array_name[]) { } :‫يضبل‬ 04/12/201502:27‫و‬ 15 ‫انًحبضش‬:ٙ‫انذسٔل‬ ‫عبنى‬
  • 16. ‫نهدوال‬ ‫انزائد‬ ‫انتحميم‬ Methods Overloading 04/12/201502:27‫و‬‫انًحبضش‬:ٙ‫انذسٔل‬ ‫عبنى‬ 16 ْٕ‫ػجبسح‬ٍ‫ػ‬‫كزبثخ‬‫اكضش‬ٍ‫ي‬‫دانخ‬‫رحًم‬‫َفظ‬‫االعى‬ٙ‫ف‬‫فئخ‬‫ٔاحذح‬‫يغ‬‫اخزالف‬‫رٕلٛغ‬‫كم‬‫دانخ‬(Method signature)ٙ‫نك‬‫ٚزى‬‫انزًٛض‬‫ثُٛٓب‬. ‫رٕلٛغ‬‫انذانخ‬Method signature:‫ٚزًضم‬‫رٕلٛغ‬‫انذانخ‬ٙ‫ف‬‫لبئًخ‬‫انجبسيزشاد‬‫انًٕعٕدح‬ٍٛ‫ث‬ٙ‫لٕع‬‫انذانخ‬ ٙ‫ٔنك‬‫َغزطٛغ‬‫رؼشٚف‬‫اكضش‬ٍ‫ي‬‫دانخ‬‫ثُفظ‬‫االعى‬‫داخم‬‫فئخ‬‫ٔاحذح‬ٌ‫فب‬ِ‫ْز‬‫انذٔال‬‫انًؼشفخ‬‫ٚغت‬ٌ‫ا‬‫رخزهف‬ٙ‫ف‬ ٖ‫احذ‬‫صالصخ‬‫اشٛبء‬: ‫ػذد‬‫انًؼاليالد‬Number of parameters ‫َٕع‬‫انًؼاليالد‬Data type of parameters ‫رشرٛت‬‫َٕع‬‫انًؼبيالد‬Sequence of Data type of parameters
  • 17. ‫نهدانة‬ ‫انزائد‬ ‫انتحميم‬ ‫عه‬ ‫امثهة‬ 04/12/201502:27‫و‬‫انًحبضش‬:ٙ‫انذسٔل‬ ‫عبنى‬ 17 public static int max(int x , int y) { // Method body } public static int max(int x , int y) { // Method body } ‫انًعايالخ‬ ‫عذد‬ ً‫ف‬ ٍٍ‫يختهفت‬ ٍٍ‫دانت‬ public static int max(int x , int y,int z) { // Method body } ‫انًعايالخ‬ ‫َٕع‬ ً‫ف‬ ٍٍ‫يختهفت‬ ٍٍ‫دانت‬ public static int max(double x , double y) { // Method body } ً‫ف‬ ٍٍ‫يختهفت‬ ٍٍ‫دانت‬‫َٕع‬ ‫تزتٍة‬‫انًعايالخ‬ public static int max(double x , int y) { // Method body } public static int max(int x , double y) { // Method body }
  • 18. ‫يثهث‬ ‫يساحح‬ ‫تحساب‬ ‫تقٕو‬ ‫دانح‬ ‫تاستذعاء‬ ‫ٌقٕو‬ ‫تزَايح‬ ‫اكتة‬ٌ‫تا‬ ‫عهًا‬ ‫قاعذج‬‫انًثهث‬=‫تسأي‬4.5ّ‫ٔارتفاع‬ ‫يتز‬6.6‫انذانح‬ ً‫ف‬ ‫انًساحح‬ ‫طثاعح‬ ‫ٌتى‬ ٌ‫ا‬ ‫عهى‬ ‫يتز‬. public static void main(String[] args) { double B=4.5,H=6.6; triangle_area(B,H); } public static void triangle_area(double x,double y) { double area; area=(0.5*x)*y; System.out.println("Area="+area ); } 04/12/201502:27‫و‬ 18 ‫انًحبضش‬:ٙ‫انذسٔل‬ ‫عبنى‬
  • 19. ‫انزئٍسٍح‬ ‫انذانح‬ ً‫ف‬ ‫انطثاعح‬ ‫تتى‬ ٌ‫ا‬ ‫عهى‬ ‫انساتق‬ ‫انًثال‬ ‫َفس‬ public class JavaApplication1 { public static void main(String[] args) { double B=4.5; H=6.6; double area; area= triangle_area(B,H); System.out.println("Area="+area ); } public static double triangle_area(double x,double y) { return (0.5*x)*y; } } 04/12/201502:27‫و‬ 19 ‫انًحبضش‬:ٙ‫انذسٔل‬ ‫عبنى‬
  • 20. ‫انقٍى‬ ِ‫ْذ‬ ‫تطثاعح‬ ‫تقٕو‬ ‫دانح‬ ‫تاستذعاء‬ ‫ٌقٕو‬ ‫ثى‬ ‫يصفٕفح‬ ‫نعُاصز‬ ‫قٍى‬ ٌٍ‫تتخز‬ ‫ٌقٕو‬ ‫تزَايح‬ ‫اكتة‬. public static void main(String[] args) { int m[]= new int[5]; m[0]=5; m[1]=15; m[2]=55; m[3]=3; m[4]=7; print_arr(m); } public static void print_arr(int arr[]) { for (int i =0 ;i <5;i++) System.out.print(arr[i]+" "); } } 04/12/201502:27‫و‬ 20 ‫انًحبضش‬:ٙ‫انذسٔل‬ ‫عبنى‬
  • 21. ٍ‫ي‬ ‫يكَٕح‬ ٌٍ‫تعذ‬ ‫داخ‬ ‫يصفٕفح‬ ‫تاستقثال‬ ‫ٌقٕو‬ ‫تزَايح‬ ‫اكتة‬10‫عُاصز‬2*5‫انصحٍح‬ ‫انُٕع‬ ٍ‫ي‬ ‫قًٍح‬ ‫اصغز‬ ‫نحساب‬ ‫دانح‬ ‫ٔكذنك‬ ‫انًصفٕفح‬ ً‫ف‬ ‫قًٍح‬ ‫اكثز‬ ‫تحساب‬ ‫تقٕو‬ ‫دانح‬ ‫تاستذعاء‬ ‫ٌقٕو‬ ‫ثى‬. 04/12/201502:27‫و‬‫انًحبضش‬:ٙ‫انذسٔل‬ ‫عبنى‬ 21 ‫انزئٍسٍح‬ ‫انذانح‬ public static void main(String[] args) { Scanner input = new Scanner(System.in); int m[][]= new int[2][5]; for (int i =0 ;i <2;i++) for (int j =0 ;j <5;j++) m[i][j]=input.nextInt(); int max_element= max(m); int min_element= min(m); System.out.println("max="+max_element); System.out.println("min="+min_element); }
  • 22. ‫انساتقح‬ ‫انشزٌحح‬ ً‫ف‬ ‫انًثال‬ ‫تاتع‬ 04/12/201502:27‫و‬‫انًحبضش‬:ٙ‫انذسٔل‬ ‫عبنى‬ 22 ‫قًٍح‬ ‫اكثز‬ ‫حساب‬ ‫دانح‬ public static int max(int arr1[][]) { int max=arr1[0][0]; for (int i =0 ;i <2;i++) for (int j =0 ;j <5;j++) if (arr1[i][j]>max) max=arr1[i][j]; return max; }
  • 23. ‫انساتقح‬ ‫انشزٌحح‬ ً‫ف‬ ‫انًثال‬ ‫تاتع‬ 04/12/201502:27‫و‬‫انًحاضز‬:ً‫انذرٔق‬ ‫سانى‬ 23 ‫قًٍح‬ ‫اقم‬ ‫حساب‬ ‫دانح‬ public static int min(int arr2[][]) { int min=arr2[0][0]; for (int i =0 ;i <2;i++) for (int j =0 ;j <5;j++) if (arr2[i][j]<min) min=arr2[i][j]; return min; } : ‫يضبل‬
  • 24. ‫اننهاية‬ ‫استًاعكى‬ ٍ‫نحس‬ ‫شكز‬ ‫انًحبضش‬:ٙ‫انذسٔل‬ ‫يغؼٕد‬ ‫عبنى‬ Salemaldrugi@gmail.com Salemaldrugi@yahoo.com 04/12/201502:27‫و‬ 24 ‫انًحبضش‬:ٙ‫انذسٔل‬ ‫عبنى‬