Weitere ähnliche Inhalte Ähnlich wie Java methods/by Salem_Adrugi (20) Kürzlich hochgeladen (20) Java methods/by Salem_Adrugi2. 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;
}
: يضبل