java methods/by salem_adrugi

24
حاضز ان: ق د انذر انى يسع سساسيات اافاة بلغة ا اللمحاضرة ا: لعاشرة ادوال اللجافا في لغت اJava Methods رقبمعة ا جا/ مس ابيةية ال كل- مس ا/ سوقميس ا

Upload: salem-adrugi

Post on 13-Apr-2017

408 views

Category:

Education


1 download

TRANSCRIPT

Page 1: Java methods/by Salem_Adrugi

حاضز ن : ا ذرق ن ا د يسع ى ن سا

الربجمة بلغة اجلافااساسيات

العاشرة: المحاضرة

في لغت الجافاالدوال

Java Methods

اخلمس/جامعة املرقب

اخلميسسوق /اخلمس -كلية الرتبية

Page 2: Java methods/by Salem_Adrugi

Out lines

يب انذال يب فائذب(Methods What’s Methods & Why.)

ااع انذال ف نغخ انغبفب (Built-in - Programmer –defined.)

رصف انذال انؼشفخ ي لجم انجشيظ ، طشق االػال ػب(Method Structure .)

اعزذػبء انذال رشش انؼبيالد نهذانخPassing Parameters &.Method invocation

( راد انجؼذ/ راد انجؼذ اناحذ )انذال انصففبدArrays & Methods.

انزحم انضائذ نهذالMethod Overlooding

و 02:27 04/12/2015

2

عبنى انذسل: انحبضش

Page 3: Java methods/by Salem_Adrugi

ما هي الدوال وما هي فوائدهاWhat is Methods & Why Methods

انذانخ خبسط انفئخ داخم ،ركزت احذ اعى رحذ انغؼخ انزؼهبد ي يغػخ ػ ػجبسح انذانخ main.

(انشئغخ انذانخ ف اعب كزبثخ خالل) ي انجشبيظ ف مطخ ا ف اعزذػبئب ك.

انشئغخ انذانخ ف االعزذػبء مطخ ان انشعع زى رفزب ثؼذ.

نك اكضش ضحب عنخ انجشبيظرغبػذ انذال ف رظى رغك كهخ.

يحذدح ظفخثحش ك نكم يب ( دال)ثشايظ فشػخ يغػخ ان رمغى انجشبيظ.

اعزخذاو انذال غؼم ػهخ يزبثؼخ صبخ انشفشح انصذسخ نهجشبيظ اكضش عنخ.

االكادرغبػذ ف انزمهم ي ركشاس كزبثخ.

و 02:27 04/12/2015

3

عبنى انذسل: انحبضش

Page 4: Java methods/by Salem_Adrugi

(Types of Methods in Java)انواع الدوال في لغت الجافا

Build-in

User-defined : يغػخ انذال انز زى اشبئب ي

:سئغ ب عضئ لجم انجشيظ الداء ظفخ يؼخ رزك

انذانخ ساط(Method Header )

انذانخ عغى(Method Body)

و 02:27 04/12/2015

4

عبنى انذسل: انحبضش

Page 5: Java methods/by Salem_Adrugi

معايير تصنيف الدوال المعرفت من قبل المبرمج

قاتهح انصلAccess Modifier :

عايحPublic: ف انششعك انصل انب ي كبفخ انفئبد.

خاصحPrivate: فبال ك انصل انب اال ي داخم انفئخ انؼشفخ .

يحح Protected: انسص انفئبد فب انؼشفخ انفئخ ي خالل ي اال انب انصل ك ال

يب

و 02:27 04/12/2015

5

عبنى انذسل: انحبضش

Page 6: Java methods/by Salem_Adrugi

المبرمجذييؤؤؤ معايير تصنيف الدوال المعرفت من قبل

انكائاخ انشاركح ت(Static , non static :)

انذال زى رؼشفب داخم انفئبد انز ك ا شزك يب يغػخ ي انكبئبد ف ز انحبنخ رعذ بنك

: ػ ي انذال

يشتزكح غز Non Static (instance member ): لب انفئخ ي يشزك كبئ نكم ا ا

اشزمبق اال غت انذانخ ز عزذػبء ال انزاكش ي يخزهفخ يالغ ف انذانخ يزغشاد نكبفخ خبصخ

.انذانخ ػه انحز انفئخ ي (object)كبئ

يشتزكحStatic (Class member : ) ث ( نب يلغ احذح ف انزاكشح)ا ا ز انذانخ يشزشكخ

كبفخ انكبئبد انشزمخ ي انفئخ انحزخ ػه انذانخ ػذ اعزؼبء زا انع ي انذال الحزبػ ان اشزمبق

.كبئ ي انفئخ انحزخ ػه انذانخ

و 02:27 04/12/2015

6

سانى انذرق: انحاضز

Page 7: Java methods/by Salem_Adrugi

معايير تصنيف الدوال المعرفت من قبل المبرمج

نسطز االستذعاءانقح انزخعحto calling code Returned Value :

قح تزخع دال (Getter)Return Value: صى يحذدح رؼهبد ثزفز مو انذال ي انع زا

ا غت انزفز ازبء ثؼذ االعزذػبء عطش ان ( انذانخ رؼشف اصبء ػب رحذذ زى) لخ ثبسعبع مو

. return انحغصح ػهبنكهخ انذانخ عغى حز

دال ال تزخع قح(Setter)Return no Value(Void): ثزفز زا انع ي انذال رمو

.انزفزثؼذ ازبء ( Calling code)ا رمو ثبسعبع لخ ان عطش االعزذػبء يحذدح د رؼهبد

عطش االعزذػبءCalling Code : انغطش انز رى ػذح اعزذػبء انذانخ ف انذانخ انشئغخ (Main Method )

و 02:27 04/12/2015

7

عبنى انذسل: انحبضش

Page 8: Java methods/by Salem_Adrugi

معايير تصنيف الدوال المعرفت من قبل المبرمج

احتئا عهى انعالخWith or without Parameters :

يعايالخ تزز انى تحتاج ال دال Have no Parameter: رشش ان رحزبط ال دال

.انذانخ لع ث لى ا كزبثخ زى ال حش اعزذػبئب اصبء لى

يعايالخ انى تزز تحتاج دال Have Parameter: (اسعبل) رشش ان رحزبط دال

.اعزذػبئب اصبء (يزغشاد ا راثذ) يؼبيالد

كمى صبثضخ ا يزغشاد رحم لب ث لع ايبو اعى انذانخ اصبء اعزذػبء انذانخانؼبيالد زى كزبثخ .

و 02:27 04/12/2015

8

عبنى انذسل: انحبضش

Page 9: Java methods/by Salem_Adrugi

مخطط يىضح تصنيف اندوال في نغة انجافا

عبنى انذسل: انحبضش و 02:27 04/12/2015

9

Page 10: Java methods/by Salem_Adrugi

انشكم انعاو نالعالن عه اندوال

ػذ رؼشف انذانخ غت رحذذ لى كبفخ انؼبش عبثمخ انزكش ف ساط انذانخ.

[visibility] [static] return_type method_name ([parameter_list])

{

statements

...

}

1 2

و 02:27 04/12/2015

10

عبنى انذسل: انحبضش

Page 11: Java methods/by Salem_Adrugi

استدعاء اندوال وتمرير انمعامالت

ثمع زى ثب كزبثخ لى انؼبيالد انذانخ انشئغخ يزجػب كزبثخ اعب ف زى اعزذػبء انذانخ ػ طشك

.عذدانطهة رششب ان انذانخ إ

Method_name(Parameter_list)

Variable=Method_name(Parameter_list)

يضبل ال عزذػبء انذانخ ف انضبل انغبثك:

maxm(5,7,3); 1اعزذػبء انذانخ سلى

X=maxm(5,7,3); 2سلى انذانخ اعزذػبء

و 02:28 04/12/2015

11

عبنى انذسل: انحبضش

Page 12: Java methods/by Salem_Adrugi

طرق تمرير انمعامالت نهدانة

لى كزبثخ خالل ي اعزذػبئب اصبء انذانخ ان رششب زى (صاثذ ا يزغشاد) لى ػ ػجبسح انؼبيالد

.االعزذػبء عهخ ف انذانخ ساط ف انؼشفخ نهزغشاد يبظشح يزغشاد ا

رغ ثب انفؼهخ ثبنؼبيالد (االعزذػبء عهخ ايبو انكزثخ) انشئغخ انذانخ ف انعدح انؼبيالد رغ

.انشكهخ ا انصسخ ثبنؼبيالد انغزذػبح انذانخ ف (انذانخ ساط ف انكزثخ) نب انبظشح انؼبيالد

رشرجب ػذدب ااػب حش ي انصسخ انؼبيالد انفؼهخ انؼبيالد رزطبثك ا غت.

و 02:27 04/12/2015

12

عبنى انذسل: انحبضش

Page 13: Java methods/by Salem_Adrugi

Pass-By-Valueتمرير انمعامالت بانقيمة

انصسزى اسعبل غخخ ي انؼبيم انفؼه ان انؼبيم ف زا انطشمخ .

انزاكشحال شزشكب ف يلغ احذ ف ( انفؼه انشكه)انؼبيه كال .

انؼبيم انفؼه ال زأصش ثبنزغشاد انز رحذس ػه انؼبيم انصس .

انع ي رشش انؼبيالد زى رطجم رهمبئب ػذيب ك ع انؼبيالد انفؼهخ ي ااع انجببد زا

.int,double,floatيضم Primitive Data Types)) انجذائخ

:يضبل

و 02:27 04/12/2015

13

عبنى انذسل: انحبضش

Page 14: Java methods/by Salem_Adrugi

(باالشارة( )انمرجع)تمرير انمعامالت بانعنىان

Pass-By-Reference:

انغزذػبح انذانخ ف ن انبظش انصس انؼبيم ان انزاكش ف انفؼه انؼبيم ػا اسعبل زى فب.

( انزاكشح يلغ ف شزشكب ) انزاكشح يلغ فظ ان ششا انشكه انفؼه انؼبيم انحبنخ ز ف

انشئغخ انذانخ ف انفؼه انؼبيم ػه رطجم عزى انشكه انؼبيم لخ ف حذس رغش ا.

كبئ ع ي انفؼهخ انؼبيالد رك ػذيب رهمبئب رطجم زى انؼبيالد رشش ي انع زا

(Object) انصفبد يضم.

:يضبل

و 02:27 04/12/2015

14

عبنى انذسل: انحبضش

Page 15: Java methods/by Salem_Adrugi

اندوال وانمصفىفات

Methods & Arrays

لخ رؼذ ال انجبسيزشاد ي يصففخ رغزمجم دانخ نزؼشف انؼبو انشكم

Access_modifier returen_type method_name (array_type array_name[])

{

}

انمى ي يصففخ رشعغ انجبسيزشاد ي يصففخ رغزمجم دانخ نزؼشف انؼبو انشكم

Access_modifier returen_type[] method_name (array_type array_name[])

{

}

يضبل:

و 02:27 04/12/2015

15

عبنى انذسل: انحبضش

Page 16: Java methods/by Salem_Adrugi

انتحميم انزائد نهدوال

Methods Overloading

عبنى انذسل: انحبضش و 02:27 04/12/2015

16

دانخ كم رلغ اخزالف يغ احذح فئخ ف االعى فظ رحم دانخ ي اكضش كزبثخ ػ ػجبسح (Method

signature ) ثب انزض زى نك.

انذانخ رلغ Method signature : انذانخ لع ث انعدح انجبسيزشاد لبئخ ف انذانخ رلغ زضم

ف رخزهف ا غت انؼشفخ انذال ز فب احذح فئخ داخم االعى ثفظ دانخ ي اكضش رؼشف غزطغ نك

: اشبء صالصخ احذ

انؼاليالد ػذد Number of parameters

انؼاليالد ع Data type of parameters

انؼبيالد ع رشرت Sequence of Data type of parameters

Page 17: Java methods/by Salem_Adrugi

امثهة عه انتحميم انزائد نهدانة

عبنى انذسل: انحبضش و 02:27 04/12/2015

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

}

Page 18: Java methods/by Salem_Adrugi

عها تا اكتة تزايح قو تاستذعاء دانح تقو تحساب يساحح يثهث

.يتز عهى ا تى طثاعح انساحح ف انذانح 6.6يتز ارتفاع 4.5تساي =انثهث قاعذج

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 );

}

و 02:27 04/12/2015

18

عبنى انذسل: انحبضش

Page 19: Java methods/by Salem_Adrugi

فس انثال انساتق عهى ا تتى انطثاعح ف انذانح انزئسح

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;

} }

و 02:27 04/12/2015

19

عبنى انذسل: انحبضش

Page 20: Java methods/by Salem_Adrugi

.اكتة تزايح قو تتخز قى نعاصز يصففح ثى قو تاستذعاء دانح تقو تطثاعح ذ انقى

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]+" "); } }

و 02:27 04/12/2015

20

عبنى انذسل: انحبضش

Page 21: Java methods/by Salem_Adrugi

ي انع انصحح 5*2عاصز 10اكتة تزايح قو تاستقثال يصففح داخ تعذ يكح ي

.ثى قو تاستذعاء دانح تقو تحساب اكثز قح ف انصففح كذنك دانح نحساب اصغز قح

عبنى انذسل: انحبضش و 02:27 04/12/2015

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); }

Page 22: Java methods/by Salem_Adrugi

تاتع انثال ف انشزحح انساتقح

عبنى انذسل: انحبضش و 02:27 04/12/2015

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;

}

Page 23: Java methods/by Salem_Adrugi

تاتع انثال ف انشزحح انساتقح

سانى انذرق: انحاضز و 02:27 04/12/2015

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;

}

يضبل :

Page 24: Java methods/by Salem_Adrugi

اننهاية

شكز نحس استاعكى

عبنى يغؼد انذسل : انحبضش

[email protected] [email protected]

و 02:27 04/12/2015

24

عبنى انذسل: انحبضش