ã¹]<gè…‚jÖ]æ<ËÖ]<Üé×Ãj×Ö<íÚ^ÃÖ]<퉉ö¹]
אאאא
א
٢
١٤٢
١٤٢ אא
٢ א
W،،אא،א
אאאאאאאאאא
א א ،א א א א א א
אאאאאא
؛אאאאאא
K אאא
אאאאאאא
א ،א אא
א א א א א א א ،
א،אאאא
אאאאאאאאאאאאא
א א ،א
Kאא،אא
א?א?? ٢?אא
Kאאאאאא
אאאאאאא
،א،אאאא
Kאאאאא
؛ א א א א
Kא
אאאא
אאא
ã¹]<gè…‚jÖ]æ<ËÖ]<Üé×Ãj×Ö<íÚ^ÃÖ]<퉉ö¹]
אאאא
٢
א
א
١
אא ١٤٢ אא
א ٢ א
Wאא
Kאאאאא
Wאא
Wאא
Kאאאא J ١
Kאאא J ٢
Kאאאאא J ٣
Kאאא J ٤
Kא J ٥
Kאאא J ٦
Kאאאא J ٧
Kאאאאאא J ٨
Wאאא
K٪١٠٠אאא
K١٠ Wאא
Wאא
K •
K •
K •
Wאא
Kאאא
-١-
אא ١٤٢ אא
א ٢ א
W
،אאאאאאא א א
אאאאאא
א א K
KאאאאKא
Wאאא
،E א F א א א
אאאאאאא
K(Index)אאאאאאא،
אF א א א א אא א
K(Variable)אEא
WKאאאאא
1. int array1[];
2. array1[] = new int[9];
intא،int array1אE١Fא
אאF אא ٩E٢FאKא
א Kאאא ٩ E٨
Wאא
int array1[] = new int[9];
Wאאא
int[] array1 = new int[9];
WE١-١Fאarray1אא
-٢-
אא ١٤٢ אא
א ٢ א
array1
0 0 0 0 0 0 0 0 0
7 8 6 Index Æ 0 1 2 3 4 5
E١-١F
WF א א א א א ،
א ،א א k ،array1[k]
אאאאn،KEאא
Kn-1
א،אאאא
א(Default Value)אאאא
WאאאKאא
int, byte, short, long Æ 0
double, float Æ 0.0
char Æ \u0000 א
String Æ null
Boolean Æ false
Wאאאא
int ages[]= {20, 18, 34, 42, 28};
،אא،agesא א
KאE٢-١FאKאאאא
-٣-
אא ١٤٢ אא
א ٢ א
ages
20 18 34 42 28
Index Æ 0 1 2 3 4
E٢-١F
،ages[3] Wא א אא ages א 42
Wאא42א
System.out.println(ages[3]);
Wאא،18531אאא
ages[1]=53;
W١-١W
// array1.java
1. public class array1{
2. public static void main(String args[]){
3. double a[]=new double[10];
4. for(int i=0; i<10; i++){
5. a[i]=i*2.5;
6. System.out.println(a[i]);
7. } // end for
8. } // end main
9. } // end class array1
Wא
-٤-
אא ١٤٢ אא
א ٢ א
אKא١٠doubleaאE٣Fא
ii*2.5אאאאE٥F
E٦F א Kא א אא א
WאאE٣-١FאKaא
E٣-١F
W٢-١W
// array2.java
1. import javax.swing.*;
2. public class array2{
3. public static void main(String args[]){
4. int b[]=new int[5];
5. String s;
6. for(int i=0; i<5; i++){
7. s=JOptionPane.showInputDialog("Enter a number:");
8. b[i]=Integer.parseInt(s);
9. } // end for
10. for(int i=0; i<5; i++)
-٥-
אא ١٤٢ אא
א ٢ א
11. if(b[i]>=60)
12. System.out.println(b[i]);
13. } // end main
14. } // end class array2
Wא
E٩-٦FאKאא٥bאE٤Fא
Kb אE١٢-١٠FאKbא
א،bא٥אא
WאE٤-١FאK٦٠אא
E٤-١F
WאאE٥-١Fא
-٦-
אא ١٤٢ אא
א ٢ א
E٥-١F
W
K אאא(Index)א J ١
Kאאאאא J ٢
א(new)אאאא א J ٣
K
(Default א א אא א א J ٤
K Kא(Type)אאאValue)
א א א אא J ٥
אאאא،array1.lengthW)Klength
K(array1
Wאאאאאא J ٦
Wאאאאאאאא J ٧
1.
int array[]={5, 3, 8, 9, 2};
2. int array[]=new int[] {5, 3, 8, 9, 2};
Wאאא
W٣-١W
//array3.java
1. import javax.swing.*;
2. class array3{
3. public static void main(String args[]){
4. String s, output, title, str1, str2;
5. str1="Enter how many number you want to store in the array:";
6. str2="Enter number # ";
7. int n, odd=0;
8. s=JOptionPane.showInputDialog(str1);
9. n=Integer.parseInt(s);
10. int [] arr=new int[n];
11. output= " ";
12. for(int i=0; i<arr.length; i++){
13. s=JOptionPane.showInputDialog(str2+(i+1)+":");
14. arr[i]=Integer.parseInt(s);
15. output+=arr[i]+"\n ";
16. } //end for
17. for(int i=0; i<arr.length; i++)
18. if(arr[i]%2==1) odd++; // end for
19. title="The results of the example (1-3)";
20. output+="\nThere are "+odd+" odd numbers in the array";
21. JOptionPane.showMessageDialog(null, output, title,
JOptionPane.INFORMATION_MESSAGE);
22. System.exit(0);
23. } //end main
24. } //end class array3
-٨-
אא ١٤٢ אא
א ٢ א
Wא
Knאאא،אE٩-٨Fא
F אאא n arrאE١٠F א
nE١٦-١٢FאKEאאא
אKEarr.lengthאאF arrאא
oddאאא،arrאאאE١٨F
E٦-١FאKאE٢١FאK EאאF
Wאא
E٦-١F
WאאE٧-١Fא
-٩-
אא ١٤٢ אא
א ٢ א
E٧-١F
W٤-١W
// array4.java
1. import javax.swing.*;
2. class array4{
3. public static void main(String args[]){
4. int a[]={2, 4, 5, -5, 3, 10, 4, 11, 1, 7, -2};
5. String title="The results of the Example (1-4)";
6. String results="";
- ١٠ -
אא ١٤٢ אא
א ٢ א
Wא
אE١٧-٧FאKאא aאE٤Fא
אאאא،switchא
K א א “More than Five OR Less than One“ א
WאאE٨-١Fא
E٨-١F
W٥-١W
// array5.java
1. import javax.swing.*;
2. class array5{
3. public static void main(String args[]){
4. double marks[] = new double[6];
5. String names[] = new String[6];
6. String s;
7. String t1 = ”Enter the Student's name:”;
8. String t2 = "Enter his mark:";
- ١١ -
אא ١٤٢ אא
א ٢ א
- ١٢ -
אא ١٤٢ אא
א ٢ א
E٩-١F
- ١٣ -
אא ١٤٢ אא
א ٢ א
E٩-١Fא
WאאE١٠-١Fא
E١٠-١F
- ١٤ -
אא ١٤٢ אא
א ٢ א
W٦-١W
// array6.java
1. import javax.swing.*;
2. class array6{
3. public static void main(String args[]){
4. int num[] = new int[]{4, 6, 2, 3, 9, 5, 7, 2, 4, 7};
5. String output="The Contents of the array are:\n";
6. String title="The results of the Example (1-6)";
7. for(int i=0; i<=num.length-1; i++)
8. output+=num[i]+" ";
9. output+="\nThe Contents of the array in reverse order are:\n";
10. for(int i=num.length-1; i>=0; i--)
11. output+=num[i]+" ";
12. JOptionPane.showMessageDialog(null, output, title,
JOptionPane.INFORMATION_MESSAGE);
13. System.exit(0);
14. }
15. }
Wא
אאאאE١١-١٠Fא
אFnumאאאK
E١١-١Fא KE א num.length-1 א א
Wאא
E١١-١F
W(Sorting)א
- ١٥ -
אא ١٤٢ אא
א ٢ א
א Kא אא א
Kאאאא
.(Bubble Sort)אאאאאא
W٧-١
// array7.java
1. import javax.swing.*;
2. class array7{
3. public static void main(String args[]){
4. int num[] = new int[] {4, 6, 2, 3, 9, 5, 8, 1, 10, 7};
5. int temp;
6. String title="The results of the Example (1-7)";
7. String output="Array contents in original order:\n";
8. for(int i=0; i<num.length; i++)
9. output+=num[i]+" ";
10. for(int i=1; i<num.length; i++)
11. for(int j=0; j<num.length-1; j++)
12. if(num[j]>num[j+1]){
13. temp=num[j];
14. num[j]=num[j+1];
15. num[j+1]=temp;
16. }
17. output+="\n\nArray contents in ascending order:\n";
18. for(int i=0; i<num.length; i++)
19. output+=num[i]+" ";
20. JOptionPane.showMessageDialog(null, output, title,
JOptionPane.INFORMATION_MESSAGE);
21. System.exit(0);
22. }
23. }
- ١٦ -
אא ١٤٢ אא
א ٢ א
Wא
،numאאאE١٦-١٠Fא
א א א E١٢F א א
אאKאאאאאא
א F א E٩-٨ א F א א
E١٢-١F א K(Ascending) א א א א KE١٩-١٨
Wאא
E١٢-١F
W٨-١
// array8.java
1. import javax.swing.*;
2. class array8{
3. public static void main(String args[]){
4. JTextArea outArea= new JTextArea();
5. int mark[] = new int[] {78, 81, 52, 92, 48, 90, 66, 40, 96,84};
- ١٧ -
אא ١٤٢ אא
א ٢ א
Wא
E٢٣-١٤F א K(Descending) א א א א
א،אE١٩-١٧Fא،א
- ١٨ -
אא ١٤٢ אא
א ٢ א
E١٣-١F א K א א א E٢٢-٢٠F
Wאא
E١٣-١F
- ١٩ -
אא ١٤٢ אא
א ٢ א
W(Searching)אא
א א
א א א Kא אא
K(Binary Search)אא(linear Search)אאW
،אאאאאאא
א אאאא א א
،אאאאאKא
א א א
Kאאאאאאא אאאא
אאאאאאאאא
K
W٩-١
// array9.java
1. import javax.swing.*;
2. class array9{
3. public static void main(String args[]){
4. int n[] = new int[10];
5. int num, k=-1;
6. String title="The results of the Example (1-9)";
7. String s, output="";
15. break;
16. }
17. if(k!=-1)
18. output+="Found value in index "+k;
19. else
20. output+="Value not found";
21. JOptionPane.showMessageDialog(null, output, title,
JOptionPane.PLAIN_MESSAGE);
22. System.exit(0);
23. }
24. }
Wא
א אאאאאא
numאאאאאאE١٦-١٢FאKא
אאאאא،א
אK١J kאאאא،k
kאאאאאא E٢٠-١٧F
אאאאאאא kא،١J
אאאE١٤-١FאK kא
Wא١٤א
E١٤J ١F
Wא٧אאאE١٥-١Fא
- ٢١ -
אא ١٤٢ אא
א ٢ א
E١٥J ١F
W١٠-١
// array10.java
1. import javax.swing.*;
2. class array10{
3. public static void main(String args[]){
4. int id[] = new int[] {2, 10, 1, 7, 4, 6, 3, 8, 5, 9};
5. String name[]= {"Ahmad", "Mohammed", "Naser", "Saleem",
"Adel", "Khaled", "Ali", "Kareem", "Jamil",
"Nader"};
18. else
19. output="There is no student with this ID !!!";
20. JOptionPane.showMessageDialog(null, output, title,
JOptionPane.PLAIN_MESSAGE);
21. System.exit(0);
22. }
23. }
Wא
אאאאאאא
א א idא אא E١٥-١١F א Kאא
א idאאאא،(no)א
א א א א א index א id א א
אאE١٩-١٦Fא،nameאאאא
“There is no student idאאאא אא
Kאאאאאwith this ID !!!”
K٤אאאאאE١٦-١Fא
E١٦-١F
K١٣אאאא E١٧-١Fא
- ٢٣ -
אא ١٤٢ אא
א ٢ א
E١٧-١F
W١١-١
// array11.java
1. import javax.swing.*;
2. class array11{
3. public static void main(String args[]){
4. int id[] = new int[] {1, 2, 3, 4, 5, 6, 7, 8, 9, 10};
5. String name[]= {"Ahmad", "Mohammed", "Naser", "Saleem",
"Adel", "Khaled", "Ali", "Kareem", "Jamil",
"Nader"};
15. middle=(low+high)/2;
16. if(no==id[middle]){
- ٢٤ -
אא ١٤٢ אא
א ٢ א
17. index=middle;
18. break;
19. }
20. else if(no<id[middle])
21. high=middle-1;
22. else
23. low=middle+1;
24. }
25. if(index!=-1)
26. output+=name[index];
27. else
28. output="There is no student with this ID !!!";
29. JOptionPane.showMessageDialog(null, output, title,
JOptionPane.PLAIN_MESSAGE)
30. System.exit(0);
31. }
32. }
Wא
E٤אF idאאE١٠-١Fאאא
אKאאאאאאא
אאאE٢٤-١٤F
אאאאאאאאאא
(while)אאא idאא
Kid אאא
W٦אאאאאE١٨-١Fא
- ٢٥ -
אא ١٤٢ אא
א ٢ א
E١٨-١F
W١٩אאאאE١٩-١Fא
E١٩-١F
W١٢-١
// array12.java
12. }
Wא
אE٢٣-٢٠FאE١٢-٩Fא،אאאא
،א keyאאאאא
אאאאאאאאא
K
KאאE٢٠-١Fא
- ٢٧ -
אא ١٤٢ אא
א ٢ א
E٢٠-١F
- ٢٨ -
אא ١٤٢ אא
א ٢ א
W(Two-Dimensional Arrays)אאא
אW،אא
א א א א Kא א
WאאאאKE٢١-١Fאא،
1. int b[][];
2. b = new int[ 3 ][ 4 ];
אאאא،אאא
bאE٢٠-١FאK
Kوأرﻗﺎم ﻣﻮاﻗﻌﻬﺎ
0 ﺍﻟﻌﻤﻭﺩ 1 ﺍﻟﻌﻤﻭﺩ 2 ﺍﻟﻌﻤﻭﺩ 3 ﺍﻟﻌﻤﻭﺩ
0 ﺍﻟﺼﻑ b[0][3] b[0][0] b[0][1] b[0][2]
- ٢٩ -
אא ١٤٢ אא
א ٢ א
- ٣٠ -
אא ١٤٢ אא
א ٢ א
،אE٢Fא،aאE١Fא
E٤Fא،א E٣Fא
KaאE٢٤-١FאKא
0 0 0 0 0 A[0][4]
0 0 0
A[1][2]
E٢٤-١F
- ٣١ -
אא ١٤٢ אא
א ٢ א
Wאאא
W١٣-١
// array13.java
Wא
א ،אא array1 א E٣F א
אE٤FאK אא
א א א ، א ،אא array2
Kאאא،אאאא،
،א array1אE١٠-٦Fא
array1.length א array1 א א
- ٣٢ -
אא ١٤٢ אא
א ٢ א
W١٤-١
// array14.java
6. int sum;
7. System.out.println("The array is:");
- ٣٣ -
אא ١٤٢ אא
א ٢ א
8. System.out.println("\t\t[0]\t[1]\t[2]\t[3]");
15. System.out.println();
Wא
، ، א א
E١٤-٧FאKE٥-٣Fאא gradesא
א K א א grades א
אE١٩אF E٢١-١٦F
sumאאא،E٢٠אF
grades[i].lengthאאאא
sum א KEאF א i א
KאאE٢٦-١FאKE١٧אF
- ٣٤ -
אא ١٤٢ אא
א ٢ א
E٢٦-١F
W١٥-١
// array15.java
- ٣٥ -
אא ١٤٢ אא
א ٢ א
12. sum+=nums[1][k];
13. System.out.println("\nThe sume of elements on the 2nd row is:
"+sum);
14. sum=0;
15. for(int k=0; k<nums.length; k++)
16. sum+=nums[k][2];
17. System.out.println("\nThe sume of elements on the 3rd column is:
"+sum);
18. sum=0;
19. for(int i=0; i<nums.length; i++)
20. for(int j=0; j<nums[i].length; j++)
21. if(i==j) sum+=nums[i][j];
22. System.out.println("\nThe sume of elements on the main diagonal
is: "+sum);
23. sum=0;
24. for(int i=0; i<nums.length; i++)
25. for(int j=0; j<nums[i].length; j++)
26. if(i+j==nums.length-1) sum+=nums[i][j];
27. System.out.println("\nThe sume of elements on the secondary
diagonal is: "+sum);
28. System.out.println();
29. }
30. }
Wא
א א א ،א א א א א
FאאEאאF
Eא F א א א א
אאאאאא،
KEאאאאאאFא
E١٤-١٢FאKאE١١-٧Fא
א KE١ א א א F א א א א
KE٢אאאFאאאאE١٨-١٦F
א nums א א א א
- ٣٦ -
אא ١٤٢ אא
א ٢ א
אאאE٢٢Fאאא،E٢٣-٢٠F
אאE٢٨-٢٥FאKאא
אאאא ،אא
KאאE٢٧-١FאKE٢٧Fאאא
E٢٧-١F
- ٣٧ -
אא ١٤٢ אא
א ٢ א
W
אא ٢٠ א א W٢
אאKאאאאא
אאאאאWFKא
KEאא
א ، א אא N א א W٤
א א K א
א א ،א א א א א א
אאאאאא
K“Not found in the array”
K א א W٥
אFאאאאאא
אאאאKEאא
K٢٥٠٠
- ٣٨ -
אא ١٤٢ אא
א ٢ א
WאאW٧
٢ ٩ ٤ ٦ ٤
٦ ١ ٩ ٣ ١
٦ ٥ ٢ ٩ ٩
٨ ٣ ٤ ٧ ٣
٣ ٦ ٥ ٣ ٥
Wא
KאאאאאאאאJ
KאאאאאJ
KאאאאאJ
KאאאאאJ
- ٣٩ -
אאא
ã¹]<gè…‚jÖ]æ<ËÖ]<Üé×Ãj×Ö<íÚ^ÃÖ]<퉉ö¹]
אאאא
٢
א
א
٢
אא ١٤٢ אא
א ٢ א
Wאא
א א אא ، א
K(Math)אאאK(String)א
Wאא
Wאא
KEאאFא -١
K(Math Class)אאאא א-٢
K(Life Time)אא -٣
K(Scope)אא -٤
K(Recursion)אאאאא -٥
K(Overloading)אא -٦
K(String)אאא א-٧
Wאאא
K٪١٠٠אאא
K١٠ Wאא
Wאא
K •
K •
K •
Wאא
Kאאא
- ٤٠ -
אא ١٤٢ אא
א ٢ א
W
Kא א א א א
،אאאאאאK
א،אאאאאאא
Kא
(؟Methods) א
א(Method Body)אאא
، א (Signature)אא Kאא ،
Kאאא،א،אא
א א א א א אא א
K(Math Class)א
W(Math Class)אא
אאאאאאאאא
א א א א א Kא K K K א ،
W،אא אאא
Class_Name.method_Name(Argument List)
:
System.out.println(Math.sqrt(9.0)) ;
- ٤١ -
אא ١٤٢ אא
א ٢ א
א א
Math.abs(6.2) Æ 6.2
Kxא אabs(x)
Math.abs(-2.4)Æ 2.4
Math.ceil(5.1) Æ 6 x ceil(x)
Math.ceil(-5.1)Æ -5 Kxא
E١-٢F
W١-٢
// UseMath.java
- ٤٢ -
אא ١٤٢ אא
א ٢ א
Wא
E١-٢Fא،(Math)אאאE١-٢Fא
Kאא
E١-٢F
א א א אא א אא א א א
אאאאא E٢-٢F אKא
Kא٥
WE٢-٢F
// RollDie.java
- ٤٣ -
אא ١٤٢ אא
א ٢ א
Wא
،E٥Fאא ٥אאא
אא ،Mathאאrandomאא
(Math.random())אאאא،אא
אאאא (int) ٦
אאא ١אאאא،
KאאE٢-٢FאKאאE٦F
Kאאא
E٢-٢F
K،אE٣-٢Fא
E٣-٢F
- ٤٤ -
אא ١٤٢ אא
א ٢ א
Wאאאא
אאא א א
אאאא (Divide and Conquer)??
אא . א ،א
אאאא،א אא
Software ) א א
،(Math Class)אאאאאא،(Reusability
אא ،אאאאא
אא،(Method)אאא
K ،א
Wאא
(Method א F א
(Signature)אא Kאא،אBody)
אא א ، א ،א א ، א
KאאאE٤-٢Fא،
[Access_Specifier][static][Returen_Type] Method_Name([parameters]
{
statement_1;
statement_2;
statement_3;
א .
Signature .
א .
Method statement_n;
Body
[retuen]
}
E٤-٢F
- ٤٥ -
אא ١٤٢ אא
א ٢ א
א?[??]?אאא،אאא
א،אא،א
Kאא
Wאאאא،א (Access_Specifier)J
אא (Method)א،??W(private)J
Kא(Class)
Kאא،??W(public)J
אא(Access_Specifier)אאJ
Kאאאאאא
Kאאאאא
א אאאאא،??( אstatic)J
KEאא (Object) F K
Kא،אא
،אאאאא (Return_Type)J
א א (Data Types) א א א א
K(Return) א א א א ،Eא K K K ، char، intWF ١-
Kvoidאאא،
אאאאא،אא (Method_Name)J
Kאא
א א א ،א (parameters)J
אאא،(Formal Parameters)
אאKאאא (Local Variables)אא
K(Actual Parameters)אא
אאאאא،א (Method_Body)J
א א א א א Kא א
אאא returnא void
Kא
- ٤٦ -
אא ١٤٢ אא
א ٢ א
א،EvoidFE٥-٢Fא
Ksum1א
[Access_Specifier][static][Returen_Type] Method_Name([parameters]
א }
Method
Body
E٥-٢F
sum1אאE٦-٢Fא
Kא
[Access_Specifier][static][Returen_Type] Method_Name([parameters]
public static int sum1(int num1, int num2)
{
א
int sum;
sum = num1 +Signature
num2;
return sum;
א }
Method
Body
E٦-٢F
- ٤٧ -
אא ١٤٢ אא
א ٢ א
K אאW
WE٣-٢F
// Methods.java
Wא
אKאאE٣-٢Fא
E٨-٦FאK (Method1)אE٥-٣F
Kdouble j int i Wאא (Method2)א
K(int)א (Method3)אE١٣-١٠Fא
- ٤٨ -
אא ١٤٢ אא
א ٢ א
sintiWאאא (Method4)אE١٨-١٥Fא
K(int)KString
Kא אאאא
K א א ، א אא א
KאאאאE٧-٢Fא
Method_Name ( [Parameters_List] );
E٧-٢F
Wאאאא
א א،אאW(Method_Name)J
Kאאאא
א א א ،(Actual Parameters) א א W(Parameters_List)J
Wא،אא
Ksum1(5, 6)W،J
Ksum1(x, y)W،אJ
Ksum1(sum2(z, 4), y)W،(Method)אJ
Wאא
אא א(void) אאJ ١
K
WאאאאאJ ٢
KJ
KאאJ
אW،אאאJ
KSystem.out.println( )
- ٤٩ -
אא ١٤٢ אא
א ٢ א
WE٤-٢F
// MethodCall.java
Wא
E٥FאE٤FאKאאאא
א אא sum1אא
- ٥٠ -
אא ١٤٢ אא
א ٢ א
(؟method)אאא
(parameters Formal)אא(Actual parameters)אא -١
א א Kא אא א א
Kאאאא
Kאאאא -٢
Kאאאאאא -٣
١٠ א sum1(10,5)אE٤-٢Fאא
אsum1אאאnum2٥א،num1
- ٥١ -
אא ١٤٢ אא
א ٢ א
אK(return)אאא
א E٩-٢F א KE٥F א א א sum1 א
KE٥FאאאאE٤Fאsum1א
public class MethodCall {
public static void main(String args[] ){
.
.
.
5); 10, sum1(
.
.
.
10 5 }
.
static void sum1(int num1, int num2) .
{.
int sum = 0; }
sum= num1 + num2 ;
System.out.println("sum = " + sum)
}
E٩-٢F
:(Variable Life Time)אא
(RAM) אא אא א א א א א W א
.א
אאאאא،אאאא
W
אאאWStatic Variablesאא אK١
א אא Kאא
Kאאא
- ٥٢ -
אא ١٤٢ אא
א ٢ א
א (Block) א א אא WLocal Variables א א אK٢
אאאאאאKא
K אא(block)א
.(Method)אאWParameter Variables אK٣
Kא(Method)אאא
אEאFאאאWInstance Variables אא K٤
אא KEאאא F
Kאאאאאאא
W(Variable Scope)אא
Instance )אאKאא אאא
אאאאא (Method)א (Variables
( אBlock) אאאאאאK
א א א א א א א K
Kאא
WE٥-٢F
// VariableScope.java
12.
13. static int method1(int arg11 ,int arg12 ){
14. double num11 ,num12;
15. for(int counter = 0; counter <= 5; counter++){
16. i+= counter;
17. } //end of for counter loop
18. return i+arg11+arg12;
19. } //end method1
20.
21. static int method2 (int arg21, int arg22){
22. int num21, num22, i=0; //local variables
23. {
24. String s; //local variable
25. }
26. return i+arg21+arg22;
27. } //end method1
28. } //end of class VariableScope
Wא
א א (Variable Scope)א א א
א i א E٢F א K א א אא
،אאאא، VariableScope
،אאאmain()אאא
א y xאE٤FאKEאא iא
אא، main()אא (Local Variables)
method1א arg12 arg11אE١٣FאK main()
אאא ،אא
א num12num11אאE١٤FאKאא
אKא، method1אא
אא، forאאא counterאE١٥F
אKאא (block)אאאא
- ٥٤ -
אא ١٤٢ אא
א ٢ א
אא،iאאאmethod2אE٢٢F
iאאא،E٢Fאאאאאא
אאאאאאאKאאאא
א s א E٢٤F א K א א
אאאאא،E٢٥FE٢٣Fאא(Block)
Kאאאא
אiא ١٠אאE٥Fא،אא
אE٧FאKiאE٦Fא،Kא
٣٦א،Kyx٦٥Method1א
אKE٨Fאא iKiאא
١١א،٦٥method2אאE٩F
Kmethod2אאi KiE١٠Fא ،i
KאאE١٠-٢Fא
E١٠-٢F
Wאאא
:אא
א א א :(Pass-By-Value) א א אJ ١
אא KאEאאF א EאאF
Kא אא EאאF א א
- ٥٥ -
אא ١٤٢ אא
א ٢ א
אא א א א א א
KאKKK،float،double،intW(Primitive Data Types)אא
אF אא אא:(Pass-By-Reference) אאאאJ ٢
א א א ،(Method) א א א א Eא
א א א Kא אא אא א א
אKא א א א א א
א א א א
KאKKK،String،ArraysEאFW (Objects) א
WE٦-٢F
// Passing_Parameters.java
- ٥٦ -
אא ١٤٢ אא
א ٢ א
Wא
E٩F א Kאא א א א א א א א
F a Eint F x changeא
אאאאא KEint
xאא אא (Primitive Data Types)
א Kא א i א א
Kאאאאאא אא
K changeאאא aאא
אא (Objects) א
EאFאאbאאaאא،bאא
א א א א א E١١-٢F א Kאא
KאאE٩Fאאchangeאאאאא
- ٥٧ -
אא ١٤٢ אא
א ٢ א
٢ א ١ א
Change Change
a b x i ax
1 1
2 2
2
3 2 2 3
4 4
٤ אא ٣ א
אChange א
main() א
Change
ax a b x i
2 2
4 4
2
6 6 2 4
8 8
E١١-٢F
- ٥٨ -
אא ١٤٢ אא
א ٢ א
KE٦-٢FאאE١٢-٢Fא
E١٢-٢F
W(Recursion)אאא
אא ،א אאא
אא א א אא א א א
א . א א אא א
Wאאא(factorial)
WE٧-٢F
// factorial.java
1. import javax.swing.JOptionPane;
2. public class factorial {
3. public static void main (String args[ ]){
4. String snum1;
- ٥٩ -
אא ١٤٢ אא
א ٢ א
7. num1 = Integer.parseInt(snum1);
8. fac_of_num1 = fact(num1);
9. JOptionPane.showMessageDialog(null, num1 + "! = " +
fac_of_num1);
10. } //end of main
11.
12. static int fact(int n){
13. if (n == 0 || n ==1)
14. return 1;
15. else
16. return n * fact(n-1);
17. } //end of fact method
18. } //end of class factorial
Wא
E٨F א K (Factorial) א אא א E٦F א
א א א fact א א
E١٤-١٣F א Wfact א א א א Kfac_of_num1
אאFאאאאאא
א א א א Kא א Eא
א אאא א ،א אא
אאאE١٦FאKאאא
א،(n-1)אאאאא
אאאאאאאא
א א E١٣-٢F א Kא א
K٤אא
- ٦٠ -
אא ١٤٢ אא
א ٢ א
אא fact אאאא
1 fact(3) * 4 = fact(4)
fact(1) * 2
1
fact(2) * 3
fact(2) * 3
2 * 1
fact(1) * 2
...fact(3)... * 4
3 * 2 * 1
fact(4) = 24 1
E١٣-٢F
WאאאE١٤-٢Fא
E١٤-٢F
- ٦١ -
אא ١٤٢ אא
א ٢ א
W(Methods Overloading)אאא
א אא א
א،א (Signature)אאאא
،א،אWאא
Kאאאא
WE٨-٢F
// Overload.java
- ٦٣ -
אא ١٤٢ אא
א ٢ א
W(String)אאא
،א ،F characters א (String)א א
(String)אא א ،אE
אא אא java ،characters א
אאאאאאאאString
אא (String) אא אא
Kאא،?H?א
Stringאאא (String) אאאא
Wאא(Primitive Data Types)אאא
1. String s;
2. s= “Hello”;
אs،StringאsאE١Fא
אKsאאא“Hello”E٢FאKString
Kאא(Methods)אE٢-٢F
Wאא
K(!= ==WFא
s א א א
אא t א א
s א tא s s.compareTo(t)
s א t
Kt
א א s.compareToIgnoreCase(t)
- ٦٤ -
אא ١٤٢ אא
א ٢ א
Wא
،אאאא א -1 indexOf()
Kאאא
- ٦٥ -
אא ١٤٢ אא
א ٢ א
Kstringאא
Kstringאאא
א s א אs.toLowerCase()
K
א s א אs.toUpperCase()
K
א s.trim()
Kאאאאsא
א
،c2 c1 s אs.replace(c1, c2)
Kchar
Kstringאא
- ٦٩ -
אא ١٤٢ אא
א ٢ א
E١٦-٢F
- ٧٠ -
אא ١٤٢ אא
א ٢ א
W
WאאאW١
Area = r2 X π
EאWrF
Actual ) א א (Formal parameters) א א א W٢
.(parameters or arguments
Wא W٣
public methodJ
private methodJ
KאאאאW٤
WאאאW٥
Pass-By-ValueאאאJ
Pass-By-Reference אאאאJ
WאNאאאאW٦
N N −1 N −2
∑ i = N +∑ i = N + N − 1 + ∑ i
i =1 i =1 i =1
Wאאא
KאאאJ
KEאאFאאJ
- ٧١ -
אא ١٤٢ אא
א ٢ א
אאtrueאאW٩
Kאfalseא
KMethod OverloadingאאW١٠
אFאאא W١٢
W(String)
א א א F א א א J
KE
KEאאאFאאאJ
אאאאJ
KEFא
אאא אJ
Kאאאא،EFא
KאאJ
KאאJ
- ٧٢ -
אא ١٤٢ אא
א ٢ א
WאאאאW١٣
-ﺃ
–ﺏ
- ٧٣ -
אא ١٤٢ אא
א ٢ א
int index;
if (( index = email.indexOf( '@')) == -1) {
return false;
}
name = email. substring(0, index);
domain=email.substring(index+1,email.length());
System.out.println(" Name: " + name);
System.out.println(" Domain: " + domain);
return true;
}
}
-ﺝ
- ٧٤ -
אא ١٤٢ אא
א ٢ א
if (( test % i) == 0)
return false;
return true;
}
}
-ﺩ
- ٧٥ -
אא ١٤٢ אא
א ٢ א
System.out.println( );
}
}
- ٧٦ -
אאא
ã¹]<gè…‚jÖ]æ<ËÖ]<Üé×Ãj×Ö<íÚ^ÃÖ]<퉉ö¹]
אאאא
٢
אא
אא
٣
אא ١٤٢ אא
אא ٢ א
Wאא
Kאאאאאא
Wאא
Wאא
Kא(OOP)אא J ١
Kא J ٢
Kאאאאאא J ٣
K(Method Overriding)אאא אJ ٤
Wאאא
K٪١٠٠אאא
K٨ Wאא
Wאא
K •
K •
K •
Wאא
Kאאא
- ٧٧ -
אא ١٤٢ אא
אא ٢ א
- ٧٨ -
אא ١٤٢ אא
אא ٢ א
(class)א א(objects)
E١-٣F
،Class DiagramאE٢-٣Fא
א א ،?א ?א א א א א
Kא
אא
Account Class Name
Account_no
Balance א
Last_Transaction_date Data
Deposit() א
Withdraw() Operation
E٢-٣F
W (Class Declaration)א
،אא،classאאאאא
אא WF א אא א א
،AccountאE١-٣FאKEא
K
- ٧٩ -
אא ١٤٢ אא
אא ٢ א
WE١-٣F
// Account.java
1. import java.util.Date;
א
2. public class Account {
3. private int account_number;
4. private double balance ; אא
5. private Date last_transaction_date;
data
Wא
Wאאאא
אEF public (class name) אJ
א ،א א (instances)
א א (Package) א א א א public
Kאא(instances) א
אא،E٥-٣FאאאJ
א א א א אא א E F private
אאאא Public א ،
א אאאEאא instanceF
F אא א א א א (Package)
KEאאinstance
KאEאFאE١٢-١٠FאE٩-٧FאJ
- ٨٠ -
אא ١٤٢ אא
אא ٢ א
Wא
א Account א acc א E٣F א
אאא new א Account acc א
אF Accountא (Constructors)א א
אEnewאאאאאא
- ٨١ -
אא ١٤٢ אא
אא ٢ א
acc
account_number
balance
last_transaction_date
deposit
withdraw
E٣-٣F
א א א (Constructors) א
א،אא ،
א אא א אא א א
אאאאא،א
- ٨٢ -
אא ١٤٢ אא
אא ٢ א
אאאאא،(Overloaded Constructors)
K(Default Constructor)
WE٣-٣F
// Account.java
1. import java.util.Date;
2. import javax.swing.JOptionPane;
3. class Account{
4. private int account_no;
5. private String customer_name;
6. private double balance;
7. Date last_Transaction_Date;
26. if (amt<=balance ){
27. balance-=amt;
28. last_Transaction_Date= new Date();
29. }
30. else
31. JOptionPane.showMessageDialog(null,"the withdraw amount
must be <= balance");
32. }
main()אאאאאאא
// client_account.java
1. public class client_account{
2. public static void main(String args[]){
3. Account acc1=new Account(12, "Ali");
4. Account acc2=new Account(12, "Fahad", 7350.3);
5. acc1.deposit(2341.5);
6. acc2.withdraw(200);
Wא
אא Accountאא،אאא
client_account.javaאאא client_accountאא،Account.java
א client_accountאאא main()אאא
Kacc2acc1Accountא
،אאE٧-٤Fא Account.javaאא
Kא א א אא אא א private א
א א E١٦-١٢F א E١١-٨F א
W??אאKא
W(Data)אJ
K(account_no)א -١
K(customer_name)אאאאא -٢
K(balance)א -٣
K(last_Transaction_Date)א -٤
W(Constructors)אJ
WאאאJ ١
Account(int no, String name)
WאאאאאJ ٢
Account(int no, String name, double amt)
- ٨٥ -
אא ١٤٢ אא
אא ٢ א
W(Methods)אJ
K(deposit)אאאא،אJ ١
K(withdraw)אא،אאJ ٢
K(getBalance)אאJ ٣
K(getCustomer)אאאJ ٤
KAccountאאE٤-٣Fא
Account
int account_no
String customer_name
double balance
Date last_Transaction_Date
Account(int,String)
Account(int,String,double)
void deposit (double)
void withdraw(double)
double getBalance()
String getCustomer()
E٤-٣F
א E٤-٣F א client_account EאF א א
acc1אאא، acc2 acc1 Account
אE٦-٥F אKacc2 אא
אאאאאE١١ ٩FאKא
KאאאE٥-٣FאK
- ٨٦ -
אא ١٤٢ אא
אא ٢ א
E٥-٣F
א א א אא א
(Package) א ،(Package) א ،
א Kא א אאא (container)
אאאא אא
א א א א א
Kאאאא
א א א package א א א א
אא،אאאא
א אKKא class אאאאאא
K(Packages)אE٤-٣FאKאא
- ٨٧ -
אא ١٤٢ אא
אא ٢ א
WE٤-٣F
// client_account.java
1. package java2.classes.ch3;
2.
3. class A{
4. .
5. .
6. .
7. }
8.
9. class B{
10. .
11. .
12. .
13. }
14.
15. public class client_account{
16. public static void main(String args[]){
17. .
18. .
19. .
20. }
21. }
Wא
אאא (Packages)אאE١Fא
،B.class ،A.class Wא Kא א
Kjava2אאאclasses אאאch3אclient_account.class
אאאא
Kpublicאאא،classאא
KאאאאאE٦-٣Fא
- ٨٨ -
אא ١٤٢ אא
אא ٢ א
E٦-٣F
W(Inheritance)אא
אא،א אאא
אא (Super Class)אא (SubClass)א
Kextends א א א א א K(private)
אאאKאE٥-٣Fא
Kאא،א
- ٨٩ -
אא ١٤٢ אא
אא ٢ א
WE٥-٣F
// y.java
1. class x{
2. .
3. .
4. .
5. } // end of class x
6. public class y extends x{
7. .
8. .
9. .
10. }
Wא
א xאא yא xאאא
א،א yאאxא،
KאאאאKא
Wאאא
אאאEאאאFאא
א אא א Kא
E٦-٢FאKאאא،א(private)
KאEאאFאא
- ٩٠ -
אא ١٤٢ אא
אא ٢ א
WE٦-٣F
// Cars.java
1. class Transportation{
2. protected static int x=12;
3. private int y=19;
4. public static void meth1(){
5. System.out.println("Calling meth1() from class Cars.");
6. }
Wא
xאW TransportationאE١٠-١Fא
א א ،(private) y א (protected)
meth2() א (public) meth1() א W
א א ،Cars א E١٩-١٢F א K(private)
א Transportation א א ،Transportation א Cars א
- ٩١ -
אא ١٤٢ אא
אא ٢ א
א א ،SubClass א Cars א Super Class
אFאאKאCarsאאTransportation
אא Carsא TransportationאEאאא
אא meth1() אxאאאE١٥-١٤FאKprivate
E١٧-١٦F א،(Cars)א (Transportation)
א (private) meth2() א y א אא
Kאאאא، (Transportation)
KאאE٧-٣Fא
E٧-٣F
א א א א א א א method א
،אאאא
א this אאאאא א this א
،thisאאאאE٧-٣Fא Kאא
KthisאאאאE٨-٣Fא
- ٩٢ -
אא ١٤٢ אא
אא ٢ א
WE٧-٣F
// C.java
1. class A{
2. protected int a=9;
3. } // end of class A
4. class B extends A{
5. void test(){
6. int a=22;
7. System.out.println("a = "+a);
8. }
9. } // end of class B
Wא
aאE٧Fאא،a=22Wאא
KAאaאtest()א
WE٨-٣F
// C.java
1. class A{
2. protected int a=9;
3. } // end of class A
4. class B extends A{
5. void test(){
- ٩٣ -
אא ١٤٢ אא
אא ٢ א
6. int a=22;
7. System.out.println("a = "+this.a);
8. }
9. } // end of class B
Wא
E٧Fאא،a=9Wאא
א thisאא،test()א aא Aא aא
Bא Bאאא aאאא
KאאאאAאaאאאa
(Super Class)אא (SubClass)אאאא
אאאא thisאאאאא،א
א (SubClass)אאאאאא (SubClass)
אK(Super Class)אאאאאאאא
(Super Class)אאא (SubClass)אאא
אאא(SubClass)אאאא
E٩-٣F א K(Super Class) א א אא א super
א ،super א אא אא א
Kא
- ٩٤ -
אא ١٤٢ אא
אא ٢ א
WE٩-٣F
// C.java
1. class A{
2. void test1(){
3. System.out.println("The test1() method was invoked FROM class
A");
4. }
5. } // end of class A
6. class B extends A{
7. void test(){
8. super.test1();
9. test1();
10. }
11. void test1(){
12. System.out.println("The test1() method was invoked FROM class
B");
13. }
14. } // end of class B
- ٩٥ -
אא ١٤٢ אא
אא ٢ א
אאE٨-٣FאKBEאאאFא
Kאאא
E٨-٣F
W(Methods Overriding)אאאא
(Super Class)אאאאאאא
(Methods א א אא א ، (SubClass) א
אאא،אא Overriding)
Kאsuperאאאא
WE١٠-٣F
// Test.java
1. class Car {
2. private int year;
3. private float originalPrice;
- ٩٦ -
אא ١٤٢ אא
אא ٢ א
myClassic.CalculateSalePrice();
35. System.out.println(classicPrice);
Wא
א ،Car CalculateSalePrice() א E١٤-٥F
CalculateSalePrice()אאא א Car א א ClassicCar
E٢٥-٢٣Fאא ،ClassicCar
אE١٧FאK(Methods Overriding)אאאא
KCarאא yearא yearאא thisאאא
KאאאE٩-٣Fא
E٩-٣F
- ٩٨ -
אא ١٤٢ אא
אא ٢ א
W
א ،א א א Rational W١
Wא
F numeratorW int (private)WאאJ
KEאFdenominatorEא
אא א F אא (Constructor)J
E2/4 1/2 W
،
Kאא(Object)
KאJ
KאJ
KאJ
KאJ
(numerator)אaa/bWאאא J
K(denominator)אb
א،(float)אא J
Kא
Kאאא
length Wא אא ،Rectangle W٢
א،،١אאא width
א Kא א א ،א א
Kאא
א א HugeInteger W٣
Kאאא
WEאאאF،אאאא
KאאאאאinputHugeIntegerאJ
- ٩٩ -
אא ١٤٢ אא
אא ٢ א
Kאאאאא outputHugeIntegeאJ
KאaddHugeIntegeאJ
KאsubtractHugeIntegeאJ
א אא isEqualToאJ
Kאfalseאtrue،
אאא isGreaterThanא J
א א א א א true ، א
Kאfalseאא
WאאDateאW٤
WאאאאJ
MM/DD/YYYY
April 01, 2004
DDD YYYY
אא אא א אJ
Kאא
Kאאא
אא،IntegerSetW٥
א א אא ،١٠٠ א
i א true a[i] א ،boolean
jאfalsea[j]אא،א
،אאאKא
א א א Kfalse א א
Wא
unionOfIntegerSet אJ
Kא
- ١٠٠ -
אא ١٤٢ אא
אא ٢ א
- ١٠١ -
א ١٤٢ אא
٢ א
אא
Deitel and Deitel, Java: How to Program, 3rd Edition, Prentice Hall, 2001 K١
Patrick Naughton and Michael Morrison, the Java Handbook, McGraw-Hill, 1996K٢
Bruce Eckel, Thinking in Java (2nd Edition), 2001K٣
٢٠٠١،אא،JAVA 2א،KK٤
٢٠٠١،אא،،K٥
- ١٢٦ -
א ١٤٢ אא
٢ א
א
א
١ .............................................................................................................................................אWאא
٢ .................................................................................................................................................
٢ ...................................(Allocating)אא (Declaring)א
٨ ......................................................................................(Arrays)אאא
١٦ ...............................................................................................(Sorting) א
٢٠ ...............................................................................................(Searching) אא
٢٩ .....................................................(Two Dimensional Arrays) אאא
٣٢ .....................................................................................................אאא
٣٨ ..................................................................................................................................................
٤٠ ....................................................................................................................(Methods)אWאא
٤١ .................................................................................................................................................
٤١ ......................................................................................................................................؟א
٤١ ....................................................................................(Math Class)אא
٤٥ ..........................................................................................................................אאאא
٤٥ ................................................................................................................אא
٥٩ ..................................................................................................(Recursion)אאא
٦٢ ...............................................................(Methods Overloading)אאא
٦٤ .................................................................................(String)אאא
٧١ ...................................................................................................................................................
א ١٤٢ אא
٢ א
٧٧ ........................................................................(Classes and Objects)אאWאא
٧٨ ...................................(Object Oriented Programming) אא
٧٩ .......................................................(Class Declaration)א
٨١ .............................................................א(Object Creation)א
٨٩ .......................................................................................................(Inheritance)אא
١٠٢ ...........................................................................................................................................................................אא
אאאאאא
אEאFאא
GOTEVOT appreciates the financial support provided by BAE SYSTEMS