You are on page 1of 30

 


 

1  

‫  ها ا
ب   آ ا
 ا‬
www.cb4a.com
%‫*)ا ('ر‬+ ، ‫ت‬.‫
و‬0‫ت ا
 وا‬12 3 45 
‫  ا‬6'()


‫  ا  ا  أ‬:‫إاد‬
http://mail.alquds.edu/~s0111017 : ‫ ا‬
abdallah2nn@hotmail.com :+‫و‬-.‫ ا‬/
‫؟‬9:9;.‫ ا‬+‫ه‬9 :7
ً ‫أو‬
@7)9 7%<
‫ ا‬A7‫ ه‬67  ‫ و‬OOP(Object Oriented Programming) 7%< ‫م‬6>?7 72 78
79 ‫رة‬7;9 47‫ ه‬752
‫ا‬
‫ذا‬7 75 
‫ج‬7. ‫*ء‬7
D72‫ او‬79 67'. 7%.‫ ا‬7
ST (behavior) ‫( و )ك‬states )‫اص‬C 9 ‫;رة‬9 ‫ و ه‬D2‫و‬E‫ا‬
.U‫اص ا
*ء و )آ‬C  ‫ج‬.
‫ن‬M.‫<ا‬-HIJ <– ‫ء‬E.‫ا‬
‫ء‬+E/<-‫ك‬MO<-‫ء‬E.‫ا‬
8X7
8X7
‫م ا‬Y. @)9 U)'(% 2' ‫ و‬Java Vertual Machine ‫ ال‬45 *% V)‫ و آ‬.0‫ آ;') و ا‬52
‫م ا‬6>?
.8X
‫ ا‬Y.‫)@ آ أ‬9 52
‫ و

[   ا‬52
‫ ا‬8) 
‫ا
;ا\ ا‬

:9:9;.‫ ا‬H; +: H O9O‫ا أ‬:9ً 9T

:  4  ‫ أ‬X 52


‫\ ا‬. ‫'ن‬
Functions ‫ ال‬C 78
45 V)<' ‫ و‬V_96 ‫ إ‬6%9 +% 52
‫ ا‬8)  ‫  ا
)ت‬92 9 ‫;رة‬9 4‫ و ه‬Methods
. \.;
‫ت ا‬. @)9 ‫ و 'ي‬52
‫ ا‬8) ‫\ ا
ب‬.;
‫ ا‬9 ‫;رة‬9 ‫ و ه‬Class ‫ك أ'* ال‬%‫و ه‬

:‫ل‬9X

class HelloJava{
public static void main(String[] args){
System.out.println("53 45  ;p");
}
}

(Main 4?77_
‫د ا‬77T
‫@ ا‬77)9 ‫ي‬77' 4?77_‫س ر‬S77‫ك آ‬77%‫ ه‬77_‫ دا‬77
‫ و‬677p‫\ ا
ا‬77.;
‫ ا‬4775 ‫س‬S77‫ آ‬77 77‫ أآ‬77‫ آ‬t?77.
67_<
‫?@ ا‬7' v7p 7Cw  ‫ ا‬4?_
‫د ا‬T)
‫ و‬4?_
‫س ا‬S
‫ ا‬1‫ إ‬4?_
‫د ا‬T
‫)@ ا‬9 ‫س‬S
‫ 'ي أي  ا‬1 ‫ و‬Method)
. C 8
45 T \.;
‫ ا‬+%' U% ًSt.‫ إ‬U.E (Driver Method)

: 7T .y7zS ‫ن‬7' 7 0‫ن ا‬E ;‫أ أ'* ف آ‬6;' U% ? ‫س آ;اًو آ‬S
‫ف  إ  ا‬p ‫ أن 'ن أول‬2' : HZ [
7;
‫ ا‬V?7‫ن أ‬7< 7
‫ة و‬7;‫ف آ‬p|7 ‫د‬7T
‫ء ا‬7 ‫أ أ‬67;1 % Java:4.T
‫ و ا
<? ا‬Hello : ‫ول‬E‫ ا
<? ا‬HelloJava
[7
‫ و ذ‬7;‫ف آ‬7 ‫أ‬67;' Max 4.7T
‫? ا‬7<
‫ ا‬7
‫ و‬8z ‫أ ف‬6;' get ‫ول‬E‫ ا
<? ا‬getMax ‫د‬T
‫ ا‬ST ‫ف آ;ة‬p| ‫أ‬6;
. 0‫ ا‬V+

:%6> ‫ اذا ا‬vp \%


‫ ا‬9;t
‫م‬6>?' : System.out.println()
.t ‫(ل‬%'  ;t' : println
.t ‫(ل‬%' ‫ون أن‬6 ;t' : print

: (Built in Types)9:9;.‫ ا‬+: 9ً _9`Ma H:b.‫] ات ا‬.‫ أاع ا‬-

:2;
‫ت ا‬8
<;‫ آ‬52
‫ ا‬45 ‫ات‬8)
5  ‫اع‬.‫ة أ‬69 ‫ك‬%‫ه‬

:+.9.9‫]  آ‬.‫ ا‬g/ba ‫ن‬-/


 ].‫ع ا‬  ].‫ ا‬hO‫إ‬
‫ل‬9X char x

:9:9j +: H:b.‫] ات ا‬.‫أاع ا‬

Integers(H ` `l.‫اد ا‬m‫ )ا‬:

n o9‫ آ‬H I ‫آ‬ h;l.‫ا‬ ‫م‬9‫ر‬m‫ى ا‬


H; .‫ا‬ ( ) H  s‫أ‬ H   ‫أآ‬

Byte = 8 bits.
:‫ل‬T ,
‫ ا‬6 (‫ ) ف أل‬l ‫ آ‬2' long '  6%9 :HZ [
long x = 1234321l ;

Floate(H/xb.‫م ا‬9‫ر‬m‫)ا‬:

n H9-.‫ ا‬H I ‫آ‬ ( ) h;l.‫ا‬ ‫ى‬6


‫ا‬
g/b.‫ا‬
float 32 HMJ9I.‫ ا‬b ‫م‬9‫ أر‬7-6
double 64 HMJ9I.‫ ا‬b h‫ ر‬15

:‫ل‬T,
‫ ا‬6  f ‫ آ‬2' ‫)ت‬5 '  6%9: HZ [
float x = 1.23f;
: T zC  'X
‫ك آ
[
ˆرم ا‬%‫ه‬
Positive infinite : + ∞
Negative infinite: ─ ∞
Nan (not a number): 1/0(‫)  ف‬.

Boolean (|}~ ‫ او‬J


  o. ‫ ي‬j  ba):

boolean Size : 1bit Values : true , false.


:‫ل‬9X
boolean x = true;

Characters:

‫ ' ' أو‬7 (7


‫ف او ا‬7
‫ ا‬7 U7+'  7_‫ن دا‬7' ‫ و‬D7' 2 U72p (‫ او ر‬6p‫ف وا‬p 9 ‫;رة‬9 4‫ه‬
.‫ف و ا
ز‬pˆ
5 
‫رم ا‬E‫ ا‬92 4‫ آد و ه‬4 E U
<
‫ ا
 ا‬
char Size: 16bit

. Unicode ‫ة‬6p
‫ ا‬8)
‫ و ا‬Ascii code ‫م‬6>? V.E 52
‫ ا‬45 ‫ه‬6'. 8
‫ ا
 |ي‬t?. :HZ [

:‫ل‬9X
char x = 'A'; char x = 65;
char x='‫;'س‬
char x='#';
.‫ آد‬+-Om‫ ا‬+: A ‫ف‬l.‫ ا‬oM9`/ 65
13 h‫ آد ر‬+-Om‫ ا‬+: oM9`/ ‫ و‬enter ‫} أو‬O ‫ اˆل‬+nb/ ‫\' و هŠا‬n' ˆ.‫ ا‬9E/‫ك أ‬9n‫ه‬
Operators (‫[ت‬9b.‫ )ا‬:

+ , - , * , / , ++ , --
1 H   ]M. /ˆa +nb/ ++ : HZ [
1 H   ].‫ ا‬H 
 Ž`na --
:‫ل‬9X
int x =4; x++;
x=5 :H; n.‫ا‬

Relations(‫ت‬9[):
== : ‫ ‘ال‬.‫ ا‬n ‫ ’م‬a ‫وي و‬9 a
!= : ‫ ‘ال‬.‫ ا‬n 9E/‫ ’م أ‬a ‫وي و‬9 a 7
<= : ‫وي‬9 a ‫أآ  
أو‬
>=:‫وي‬9 a ‫ 
أو‬s‫أ‬
<:  ‫أآ‬
> : ]J‫أ‬

Boolean Operators:
‫ ‘ال‬.‫ ا‬n ‫ ’م‬a ‫و‬
&& : and
|| : or
^^ : xor
! : not

Bitwise Operators:
H `}n.‫ت ا‬9 Mb.‫ ا‬+: ‫ ’م‬a ‫و‬
&: and
| : or
^ : xor
~ : not

More Complicated :

>> :
 .‫™ ا‬.‫ ا‬H ‫إزا‬
<< : ‫ر‬9 .‫™ ا‬.‫ ا‬H ‫إزا‬
% : H `.‫ ا‬+9
:‫ل‬9X
int x;
x = 4%3;
x= 1 : ‫’وج‬.‫ا‬

Automatic Conversion (+_9`M.‫ ا‬s/l.‫)ا‬:

zC .‫? ا‬p 6p‫ع وا‬. @


‫ ا‬+)>
‫_\ ا
)ت ا‬. 45 ‫ات‬8
‫اع ا‬.‫' •@ ا‬. 52
‫ ا‬t?
.<pE‫? ا‬p

:‫ل‬T

1.7 + 99 = 100.7
double + int = double
int double )
 ‫ م‬
double 2%
‫ا‬

:+.9.‫  ا‬a.9 H Mb.‫ ا‬+: ‫] ات‬.‫د ااع ا‬j‫ و‬n ‫ت‬9/.‫و‬m‫ن ا‬-a ž

.double ‫ع‬.  ‫ ن‬2%


‫ و ا‬double @
‫ى ا‬CE‫ات ا‬8
‫ ل ا‬double )
‫ ا‬45 ‫إذا آن‬ -1
. float ‫ع‬.  ‫ ن‬2%
‫ و ا‬float @
‫ى ا‬CE‫ات ا‬8
‫ ل ا‬float )
‫ ا‬45 ‫إذا آن‬ -2
.long ‫ع‬.  ‫ ن‬2%
‫ و ا‬long @
‫ى ا‬CE‫ات ا‬8
‫ ل ا‬long )
‫ ا‬45 ‫إذا آن‬ -3
.int ‫ع‬.  ‫ ن‬2%
‫ و ا‬int @
‫ات ا‬8
‫اع ا
?< ل آ ا‬.1‫ ا
) أي  ا‬45  
‫إذا‬ -4

Casting:
.)
 ‫ ا
<م‬6  ‫>ره‬. .  ‫ع‬3‫) ار‬9 4‫ه‬
:casting ™M ‫ل‬9X
int x = 2345;
short y = (short)x;

HMX.‫ ا‬H `.‫ 


ا‬x
/
 /9 2 y‫|~Š ل‬/ Ÿ.Š. /9 2 o; short
-. ‫ و‬/9 4 o; int
‫رة‬9¡¢‫Ÿ ا‬.Š. H:9£¢9 Š~|/ ‫رة‬9¡‫ك ا‬9n‫ ه‬9‫Šاآة و اذا آ‬.9

‫•رة‬0‫ا‬
Y

Strings(‫ [ت‬M .‫)ا‬:

92  V+'  ‫ة و 'ن‬6p‫  وا‬t<‫م آ‬6>? (‫ أ ف‬+ ‫ف )رز‬pE‫  ا‬92 9 ‫;رة‬9 4‫ه‬
: 4

‫ا
ز  " " آ‬
String s = "Java 2";
‫أو‬
String s;
s = "53";

.;‫ آ‬S ‫ف ال‬p ‫ 'ن‬vp ‫ع‬%


‫ ها ا‬45 ;‫ول آ‬E‫ة أن 'ن ا
ف ا‬9‫ ا‬2'

. String ‫ع‬.  ‫ات‬8)


3 ‫ف أو‬p‫ أ‬5‫) ا‬9 ‫ام‬6> ‫ ' ا‬:HZ [

:‫ل‬T
String s = "Java ";
int x=2;
s+= "2"; ‫أو‬ s = s+"2"; ‫أو‬ s+= '2'; ‫أو‬ s+=x;
s="java 2" :‫ا
>وج‬
:String ‫م‬6>?' \. ‫ل آ‬T
public class Triangle{
public static void main(String[] args){
String s= "*";
for (int i=0;i<=6;i++){
System.out.println(s);
s+="*";
}
}
}

Note: s+ = "*" ‫  دل‬s = s + "*";


:§9 .‫~وج ا‬

*
**
***
****
*****
******
*******
: String ‫ ب‬HJ9’.‫د ا‬X .‫© ا‬b

:‫ل‬T Stringٍ ‫ل ال‬  3' : int length()

String s = "Core Java 2";


int l = s.length();
l=11 : ‫ا
>وج‬

:‫ل‬T String ‫  ال‬i 


‫ ا‬45 ‫ف‬p 3' :char charAt(int i)
String s = "Core Java 2";
char c = s.charAt(3);
.)?)?
‫ ا‬45 +¢
‫ف  ا‬pE‫ ا‬69 ‫أ‬6;. %.E c='e' ‫ا
>وج‬

0 1 2 3 4 5 6 7 8 9 10
C o r e J a v a 2

‫ف‬p 11 ‫ل‬t
‫ا‬
:)
)  ' \. ‫ل‬T
public class Revers{
public static void main(String[] args){
String s = "Java";
int length = s.length();
for (int i=length;i>=0;i--)
System.out.print(s.charAt(i));
}
}
avaj : ‫’وج‬.‫ا‬

Flow Control:
:‫ار‬-.‫ا‬

475 ‫ة و‬7 7 7T‫ة أآ‬6p‫) وا‬9 ‫م ا


ار
ار‬6>? \‫ت ا
;ا‬8
3 ‫ ود‬52
‫ ا‬45 ‫ن‬pE‫  ا‬T‫آ‬
:‫وا‬E‫ ا‬A‫ى أوا
 ار
) )ت و ه‬CE‫ ا‬2;
‫ت ا‬8
45 ‫ آ‬52
‫ا‬

1- for(‫ار‬-.‫ ا‬+: ‫ ‘ال‬.‫ ا‬+: ‫ة‬9  ‫ ] ات‬g/ba ; ‫ ‘ال‬.‫ ; ا‬H M Š Ina)
‫ا
) ا
اد اره‬
2- while(‫)ا
?§ال‬
‫ا
) ا
اد اره‬
3- do{
‫ا
)ت ا
اد اره‬
}while(‫;)ا
?§ال‬

'‫ر‬7 7)
‫ار ا‬7 @7<;' vp (true or false)|tC ‫¨ او‬z ‫ 'ن ا‬vp ‫
)ار‬6p 
U;. :‫ا
?§ال‬
:ST |tC U2. ‫;¨ ا
?§ال‬¢' @p
int x=0;
for(int i = 0 ;i<9;i++)
x++;
7CE‫(ء ا‬72
‫ و ا‬9 ‫?وي‬7 ‫ أو‬7;‫ أآ‬i ¨;¢7 @p ‫  ' ا
ار‬. ‫اب‬2
‫ اذا آن ا‬9  8z‫ أ‬i ‫ه‬:‫ا
?§ال‬
7)
‫ ا‬7+%' 7%‫ار ه‬7
‫ار و ا‬7
‫ ا‬7
|7tC ‫?§ال‬7
‫;¨ ا‬¢7' @7p i 7 ‫
('دة‬+%' [i++] for E‫ ا‬45
.9 V ¨;¢ vp ‫ ات‬9 x++

:‫ل‬T
while(x!=0)
i+=5;
i+=5 +. 0 ‫ ?وي‬1 x 6%9 %‫و ا
?§ال ه‬

: ‫ار وا‬-a +: ‫ وا ة‬H M


 X‫ Š أآ‬Ina H I ‫آ‬
ª77+. 4775 ‫ك‬77);
‫ ا‬77C‫ دا‬477
‫ت ا‬77)
‫ ا‬77‫ار آ‬77
‫ ا‬77+%' v77p (block) {} ‫ار ب‬77
‫ ا‬¢77 [77
‫ ذ‬t?77.
.‫ا
ار‬
:‫ل‬T
int i=10,x=0;
whil(i!=0){
x++;
i--;
}

.‫ًا‬+z ‫ ?وي‬i ¨;¢ @p while ‫ ا


ار‬45 ( i-- ‫ و‬x++) ‫ ا
;)ك‬C‫ ا
) ا
ن دا‬+%' vp
: do while ‫ و‬while
/‫ار‬-.‫ق 
ا‬I.‫ا‬
.‫ ; أن '?|ل ا
?§ال‬E‫)@ ا‬9 ‫ة‬6p‫ ا
)ت ة وا‬do while ‫ ا
ار‬+%' vp «? ‫ق‬+
‫ا‬
:‫ل‬9X
int x=0,i=1;
do{
x+=5;
}while(i==0);
.‫ ‘ال‬.‫ ا‬s  sm‫™ ا‬M ‫ ة‬x+=5 H Mb.‫Š ا‬In/ ž

:‫ط‬x.‫ا‬
:‫ط‬X
‫ك أ'
 ا‬%‫)  وه‬9 +%
‫ام •ط‬6> ‫ ا‬52
‫ ا‬45 t?.
1-if(‫ط‬x.‫)ا‬
H Mb.‫ا‬
.(Boolean)® C ‫¨ أو‬z ‫)ت ا
ار و 'ن ا‬9 45 T ‫ و أي •ط‬t?. ‫و‬
:‫ل‬T
if ( i==5)
x++;
.)9  T‫ أآ‬+%
{} ‫ه ب‬¢p t?. ‫آ‬
.‫ى‬C‫) ا‬9 +%' ‫ط‬X
‫ ا‬45 @
‫و‬E‫ ا
) ا‬+%' 
‫ اذا‬vp else ‫ ب‬V9;‫ ا‬t?.

:‫ل‬T
if(i==5)
x++;
else
x+=2;
. {} ‫ ب‬else ¢p [
‫ آ‬t?. ‫ و‬x+=2 +% x++ +%' 
‫اذا‬
.4.T
‫ط ا‬X
‫ب ا‬2' ‫ول‬E‫ط ا‬X
‫ ا‬+%' 
‫ ان‬vp else if(boolean) ‫ ب‬V9;‫أو ا‬

:‫ل‬T
if(i>=4)
x++;
else if(i>6)
x*=6;
:+.9.9‫ح آ‬9I.‫’ام هŠا ا‬O‫( ž  }  ا‬switch) ‫ح‬9I.‫ ه أ ا‬+9X.‫ ا‬m‫ا‬
int x;
switch(x){
case 1:
Case 1
)
‫ا‬
break; Case 2
case 2: X
)
‫ا‬ Case 3
break;
default
.
.
default:
<?
‫ ا
>رات ا‬y< ‫م‬69 6%9 )9 +%
break;
}
% 7‫ و‬v7p y?7
‫ل ا‬T
‫ ا‬45 ST «<5 char‫ أو‬int 9%
‫ ا‬°' E‫ ا‬45 x ‫ و ن‬t?. vp
.‫ و ها‬case 1 D 4
‫ ا
) ا‬+%' 1 ‫ ?وي‬x  D.‫ اذا آ‬4

‫ آ‬E‫ و '  ا‬int ‫ع‬.  x
. default 45 ‫دة‬3
‫ ا
) ا‬+%' ‫ح‬+)
9
‫ ا
< ا‬45 ‫دة‬3 x   
‫اذا‬
.default ‫م و ا
>ر‬69 '
. case ‫ ال‬C‫ دا‬4
‫ ا
)ت ا‬5‫ آ‬4V%' vp break E case ‫ آ‬4V%'
.‫) ا
ار‬9 ‫ء‬V.0 [
‫ ا
ار و ذا‬45 break E‫ام ا‬6> ‫ ' ا‬:HZ [

:‫ل‬T
while(x!=0){
x++;
if(x>0)
break;
}
. if ‫ •ط‬+% ‫) ا
ار اذا‬9  ‫ل '>ج‬T
‫ ها ا‬45

Arrays(‫ت‬9:I°.‫ )ا‬:
:4

‫ 
اآة آ‬T vp 5+¢ '  52
‫ ا‬45 t?.
‫ت‬.>
‫ ا‬45 ‫دة‬3
‫
)< ا‬+)> ‫)ت‬9 
‫م‬6>? ‫ت و‬.>
‫أرم ا‬

0 1 2 3 4 5 6

.)?)? '‫و‬%9 V
‫ ا
اآة‬45 ‫زة‬2 ‫(اء‬3‫أ‬
U77 D7759 ‫ي‬77
‫ع ا‬77%
‫ ا‬772p ‫ار‬677< ‫(ء‬773 77‫ آ‬772p ‫ن‬77' ‫اآة و‬77
‫ ا‬4775 )?77)? '‫و‬77%9 ‫ت‬5+¢77
‫( ا‬772
.5+¢
‫ا‬
:‫ل‬T
int[] a = new int[10];
int[] a = {1,3,5,2};

‫ت‬7.C 10 (2 int ‫ع‬.  ‫ة‬6'63 5+¢ %% ‫ |ن‬5+¢


‫ ا‬%59 @
‫و‬E‫'< ا‬t 5+¢
‫ ا‬%59 %‫ه‬
7.T
‫ ا‬45 ‫ ا‬, @)9 ‫ ي‬1‫
 و‬C ‫ت‬.>
‫( و
 ا‬4byte) int 2p V
.C ‫ ا
اآة و آ‬45 )?)?
‫ع‬7. 7 7V2p ‫ن‬7' ‫ و‬97
‫د ا
< ا‬6  ‫ت‬.C ‫م‬Y%
‫( ا‬2' vp V
 % ‫ |ن و‬5+¢
‫ ا‬%5 5
.?)?
‫? ا‬p 9
‫)@   ا
< ا‬9 ‫ ي‬.C ‫ و آ‬int
./j -;‫و‬m ‫ن‬9- ‫Šاآة‬.‫ ا‬+: ˆ;l/ ž object ‫ء‬9n ™M sb/ new m‫ ا‬: HZ [

:9±n h `.‫ و ا~Š ا‬H:I°.‫’ام ا‬O‫ ا‬H I ‫آ‬


7.>
‫ ا‬A7‫@ ه‬7)9 ‫)ت‬9 9 ‫ او‬.C ‫ أي‬45 ‫ة‬6'63  '(> ‫ أو‬.C ‫ أي‬45 .(>
‫ ا
< ا‬5  t?.
..>
‫( و ه ر ا‬index) ‫ان‬%
‫ ا‬y'  9
:‫ل‬T
int[] a = {1,3,5,6,2};
int x=a[0];
a[1]+=4;
. 1 ‫ ?وي‬x  D;z‫ أ‬vp x 8
‫ ا‬45 0 .>
‫  ا‬.(C ‫ل‬T
‫ ها ا‬45
.7 ‫ ?وي‬a[1] D;z|5 4 <
‫ ا‬1 .>)
%+‫و أ‬
:4

‫ آ‬int length ‫د‬T
‫ام ا‬6>  5+¢
‫ل ا‬  5  t?.
int x;
int[] e={2,5,3,7,1,9};
x=e.length;
.5+¢)
‫زة‬2
‫ت ا‬.>
‫د ا‬69 ‫ و ه‬6 ‫ة‬CE‫ ا
) ا‬6  ‫ ?وي‬x  vp

:5+¢
‫ ا‬45 ‫د‬3 ‫ ر‬8z‫ أ‬63' \. ‫ل‬T
Class Minimum{
public static void main(String[] args){
int[] a={3,8,4,9,1};
int min = a[0];
for(int i=0;i<a.length;i++){
if(a[i]<min)
min=a[i];
}
System.out.println("the min number in the Array = "+min);
}
}
.min = 1 :‫ا
>وج‬
:9:9j H; +: Method ‫’ام ال‬O‫إ‬

7 73
‫ ا‬67%9 ‫د‬7T 7‫ء آ‬967 ‫ ا‬7' ‫ و‬6p‫\ وا‬. 45 4?_
‫د ا‬T
‫د  ا‬T  T‫ آ أآ‬t?.
.4?_
‫د ا‬T
‫ا‬
:H:I°.‫ ا‬+: ‫دة‬j H  ™M‫ب أ‬9 ‫ل‬9X
class Maximum{
public static int getMax(int[] a){ @)9‫د
?ب ا‬T
int max = a[0];
for(int i=0;i<a.length;i++){
if(a[i]>min)
max=a[i];
}
return max;
}

public static void main(String[] args){4?_


‫د ا‬T
‫ ا‬%‫ه‬
int[] b={2,5,4,9,1,33};
int max=getMax(b);‫د‬T
‫ ا‬%'‫د‬. %‫ه‬
System.out.println("the max number in the Array = "+max);
}
}

public static int getMax(int[] a)

‫ او‬8
‫ع ا‬.
V 3' 4
‫ا
< ا‬ @
‫ ا‬U
 ‫ر‬0 object
‫ع‬.  %‫د و ه‬T
‫ا‬ ‫ع‬.  %‫د و ه‬T
‫ا‬
int ‫اد‬69‫ أ‬5+¢
@?' ‫( و‬int)<<p
(s9b.‫)ا‬: ‫(ئ‬2
‫ها ا‬
.parameter

.C³‫ ا‬45 4?_


‫د ا‬T
‫ ' أن 'ن ا‬vp 52
‫ ا‬45 ‫د‬T
‫  ا‬V'1 :HZ [
.y?
‫ل ا‬T
‫ ا‬45 ‫ آ‬V'‫د‬%%
static ‫ع‬.  D2‫و‬E‫رج ا‬C 4‫ ه‬4
‫د ا‬T
‫ ان ن ا‬2'

2D Arrays(
‫ه‬9;a¢‫ت ذات ا‬9:I°.‫ )ا‬:
.6p‫ ا
ا‬A20‫ ذات ا‬5+¢
‫ ا‬T ª+% ‫ ا
اآة‬45 T ‫ و‬52
‫ ا‬45 ‫ه‬2‫ ذات ا‬5+¢ '  t?.
:‫ه‬20‫ ذات ا‬5+¢
‫ل  ' ا‬T
int[][] a = new int[2][4];
 V
‫أو‬
int[][] a = {{1,2,4,7},{-1,5,8,9}};
.‫ و ر ا
د ا
اد‬¢
‫* ر ا‬. 5+¢
‫ ا‬45 .C <
‫ل‬z)

:‫ل‬T
int[][] a= {{1,2,4,7},{-1,5,8,9}};
int x = a[0][3];
.7 ‫ ?وي‬x  D;z‫ أ‬%‫ه‬

1 2 4 7
-1 5 8 9

Comments and Documentation(‫ت‬9` Mb.‫ت و ا‬9Z [.‫)ا‬:


‫ون‬C³‫ن ا‬2;
‫ ا‬t?' 4
‫ت‬YpS
‫ ا
 )<ت أو ا‬A‫  ه‬vp 52
‫ ا‬45 ‫  ا
 )<ت‬9. ‫ك‬%‫ه‬
‫ن‬79%
‫ان ا‬7‫\ و ه‬.;
‫ ا‬9 45 ‫ا‬6‫ § أ‬1‫\ و‬.;
‫ ا‬V5 ‫م‬6>?
‫ ا‬t?' 4
‫د أو‬T  A%;‫  آ‬V5
:‫ه‬
Comments :
‫ي‬7
‫\ ا‬7.;
‫اءة ا‬7 \7;
‫ ا‬t?7
7 ‫ و‬/*.....´µ Mb.‫ا‬......*/ 7 ¢7 ‫ أو‬// ‫رة‬7•0‫ ا‬67  7 ‫و‬
.UV5 ‫ و‬A%;‫آ‬
Documentation:
.\.;
‫ ذا '  ا‬V+' ‫م‬6>?
‫  ا‬2
V% ‫ة‬6_+
‫ وا‬/**........‫ة‬9 .‫ا‬.......*/   ‫و‬

. javadoc @? ‫ و‬D..‫ ا‬+z V% 9 ‫ اءة ا


 )<ت و‬t? 53 45 ‫ك أدوات‬%‫ ه‬:HZ [
:‫ل‬T
/**class to print star
@auther : Abdallah Ahmad
@company : al quds university
@version 1.0 */
class star{
public static void main(String[] args){
System.out.print("*"); //print star
}
}
77Y%
‫ و ا‬77
‫ة ا‬779‫ ا‬772' 7752
 772;
‫ ا‬.‫ا‬77 4775 v77p 77V‫ه‬E ‫ت‬77<) 
‫ ا‬77‫ آ‬772' 7752
‫ ا‬4775
.6p‫ وا‬t 45 )9  T‫م آ أآ‬69 4% ' ‫ و‬side effect ‫ام‬6> ‫م ا‬69 ‫\ و‬.;)

:‫ل‬T
i=23+22;b=13%67; side effect

475 7)9 7‫ آ‬7‫ و‬72' [



\.;
‫ ا‬+% 6%9 U
¢p 6%9 «;*
 |t>
‫  ا‬5  [
‫و ا
  ذ‬
.‫ه‬6p‫ و‬t
.\.;
‫ ا‬V5 V?
‫س‬S
‫وا أو ا‬E‫د أو ا‬T
‫ ا‬¢p 45 
‫ة ا‬9‫ ا‬2' ‫آ‬
:‫ل‬T
class star
{
| public static void main(String[] args)
| {
| | System.out.print("*");
| }
}

.Constructor ‫ و ال‬field ‫د و ال‬T


‫ دا_ ; ا‬Documentation ‫  ال‬:HZ [

: OOP H n` H; .‫ ا‬H I ‫آ‬:9ً X.9T

.‫  ا
 )ت‬92 ‫ ه‬object ‫ ال‬:‫ة‬+
‫ا‬
Fields:

‫ء‬7% 7.‫ أرد‬7%.‫ أ‬7


ST7 D72‫و‬E‫ت ا‬+7z 7 47‫\ و ه‬7.;
‫
 ا‬V3. 4
‫ ا
 )ت ا‬9 ‫;رة‬9 4‫و ه‬
.US9 ‫ و‬4 2
‫ ا‬U‫ و ر‬U ‫ ا‬T
t
‫ ا‬9 ‫ج  )ت‬.
t)
D2‫أو‬

:‫ل‬T
class Student{
/**String‫ع‬.  ‫
و ه‬t
‫*ا  ا‬/
public String name;
/**double‫ع‬.  ‫ و ه‬4 2
‫*ا
 ا‬/
public double id;
/**int ‫ع‬.  4‫ و ه‬S
‫*ا‬/
public int mark;
}

Constructor:
U7
67'63 D72‫ أو‬%
 ' vp U‫ا‬6> ‫ ا‬%)9 2' D2‫ء أو‬% ‫ج‬. 6%9 D2‫و‬E‫ ا‬4. 9 ‫;رة‬9 ‫ه‬
.U% 4% ‫ ا
ي‬D2‫و‬E‫ت ا‬+z
.U5 ‫س ا
 ل‬S
‫ ا  ا‬ª+. Constructor ‫'ن ا  ال‬

:‫ل‬T
class Student{
/**String‫ع‬.  ‫
و ه‬t
‫*ا  ا‬/
public String name;
/**double‫ع‬.  ‫ و ه‬4 2
‫*ا
 ا‬/
public double id;
/*int ‫ع‬.  4‫ و ه‬S
‫*ا‬/
public int mark;
/**Constructor of Student Object*/
public Student(){
}
}

class StudentTest{
public static void main(String[] args){
Student abdallah = new Student();
abdallah.name ="abdallah";
abdallah.id = 20111017;
abdallah.mark = 80;
System.out.print(abdallah.name+abdallah.id+"["+abdallah.mark+"]");
}
}
D2‫و‬E Constructor  T‫ك أآ‬%‫  را و' آا
[ أن 'ن ه‬Constructor ‫' أن 'ن ال‬
.Overloading 

‫ ا‬A‫د ا
;را و ?@ ه‬6  ‫ف‬SCE‫ و 'ن ا‬6p‫وا‬
‫ء‬7% 7 ' v7p (Default Constructor)47‫ا‬50‫ ا‬4.;
‫ را ا‬U
ª
‫ ا
ي‬Constructor‫'?@ ال‬
.‫ و 'ن دا_ ب‬Fields
 ‫ء‬t9‫ دون ا‬D2‫
ˆو‬

:‫ل‬T
class Student{
/**String‫ع‬.  ‫
و ه‬t
‫*ا  ا‬/
public String name;
/**double‫ع‬.  ‫ و ه‬4 2
‫*ا
 ا‬/
public double id;
/*int ‫ع‬.  4‫ و ه‬S
‫*ا‬/
public int mark;
/**Default Constructor of Student Object*/
public Student(){
}

/**Constructor of Student Object with parameter */


public Student(String aName,double aId,int aMark){
name = aName;
id = aId;
mark = aMark;
}
}
class StudentTest{
public static void main(String[] args){
Student abdallah = new Student("abdallah",20111017,80);
System.out.print(abdallah.name+ abdallah.id+"["+ abdallah.mark+"]");
}
}
\_7. %t 
)t
‫د ا‬T
‫)@ ا
 )ت و ا‬9 ‫ ه ا
ي 'ي‬vp D2‫و‬E‫)@ ا‬9 _‫ ا
آ( دا‬52
‫ ا‬45
.‫ ا
 )ت‬A‫ه‬
7%< ‫م‬6>?7 1 ‫« و‬7<5 D72‫و‬E‫ ا‬7C‫ دا‬47
‫د ا‬7T
‫ ا‬7+%
7‫ أوا‬79 ‫رة‬7;9 7‫ ه‬752
‫ ا‬475 4?7_
‫د ا‬T
‫ا‬
. c 8
45 T 52
‫ ا‬45 X%+
‫ا‬

Public / Private:

Public:
475 ‫ و‬7Cw ‫س‬S7‫ أي آ‬475 V‫ا‬6>7 ‫ ا‬t?7. D2‫و‬E‫ ا‬4. ‫ أو‬6)+
‫د أو ا‬T
‫ ; ا‬public )‫ و آ‬6%9
‫ أي‬7 ‫ن‬E ; 7z ‫ا‬7‫ ا‬VT'67 7‫  ا‬2' [
‫•ء و ذ‬E‫ ا‬AV
documentation ‫ آ ال‬2' 

‫ ا‬A‫ه‬
A7‫ ه‬7  ‫ذا‬7 ‫م‬6>?7
‫ف ا‬7 ' S75 ® C V%9 ‫ ا
ي آ‬y) 
‫;¨ ا‬¢' [
 ‫ و‬VV+ 8' ‫ أن‬V
v'6
.«;*
 ‫•ء‬E‫ا‬
Private:
1 ‫ و‬U75 D759 47
‫س ا‬S7
‫ ا‬7 1‫ ا‬V‫ا‬6>7 ‫ ا‬t?7. 1 private (....,67)5,‫د‬T)<?
‫•ء ا‬E‫ ا‬D.‫اذا آ‬
‫ و‬private 5  6)5 D2‫و‬E‫ ا‬45 _‫م دا‬6>?. [
‫ و
ا‬V VT'6 ‫ و 
[ 'ن أ‬y) 
‫ج
 ا‬.
. public 5  ‫د‬T

Accessor and Mutator:


: ‫د' و ه‬T ‫  ف‬6)5 
‫ك‬%‫ دا_ ه‬D2‫و‬E‫ ا‬45
Accessor:
‫ون‬67 7‫ و ه‬67)+
‫ ا‬7 73'‫ و‬get 7) U ‫أ دا_ ا‬6;' ‫ و‬6)+
‫ ها ا‬C‫ دا‬.(>
‫ل
)< ا‬z)
‫م‬6>?' ‫و‬
.‫را‬
Mutator:

.  3' 1 
‫ را و‬U
‫ و‬set ) U ‫أ دا_ ا‬6;' ‫   و‬6)5  8
‫م‬6>?' ‫و‬

:‫ل‬T

class Student{
private String name;
private double id;
private int mark;
/**Default Constructor of Student Object*/
public Student(){
}
/**Constructor of Student Object with parameter */
public Student(String aName,double aId,int aMark){
name = aName;
id = aId;
mark = aMark;
}
/**accessor to name*/
public String getName(){
return name;
}
/**mutator to name*/
public void setName(String aName){
name = aName;
}
/**accessor to Id*/
public double getId(){
return id
}
/**mutator to Id*/
public void setId(double aId){
id = aId;
}
/**accessor to Mark*/
public int getMark(){
return mark;
}
/**mutator to Mark */
public void setMark(int aMark){
mark = aMark;
}
}

class StudentTest{
public static void main(String[] args){
Student abdallah = new Student();
abdallah.setName("abdallah ");
abdallah.setId(20111017);
abdallah.setMark(80);
System.out.print(abdallah.getName()+abdallah.getId()+abdallah.getMar
k());
}
}
. abdallah 20111017 80 : ‫’وج‬.‫ا‬
. 3' 1 U.‫ أ‬4% ' ‫د ها‬T
‫ ; ا‬void )‫ و آ‬6%9 :HZ [
toString Mithod:
.String ‫ع‬.  V 3' 4
‫ و ا
< ا‬D2‫و‬E‫ ا‬9 ‫  )ت‬%
3' ‫د‬T 9 ‫;رة‬9 ‫ه‬
[
7
‫اآة و‬7
‫ ا‬475 ‫ان‬7%9 7%
73' U‫دا‬% 6%9 
‫ا و‬5‫د ا‬T
‫د ها ا‬3 ‫ 'ن‬D2‫و‬E‫ء ا‬% 6%9
.U‫دة آ‬90 _‫ج دا‬.

class Student{
private String name;
private double id;
private int mark;
/**Default Constructor of Student Object*/
public Student(){
}
/**Constructor of Student Object with parameter */
public Student(String aName,double aId,int aMark){
name = aName;
id = aId;
mark = aMark;
}
/**accessor*/
public String getName(){
return name;
}
/**mutator*/
public void setName(String aName){
name = aName;
}
/**accessor*/
public double getId(){
return id
}
/**mutator*/
public void setId(double aId){
id = aId;
}
/**accessor*/
public int getMark(){
return mark;
}
/**mutator*/
public void setMark(int aMark){
mark = aMark;
}
/**toString Method*/
public String toString(){
return "Name"+name+","+"ID:"+id+","+"MARK:"+mark;
}
}
class StudentTest{
public static void main(String[] args){
Student abdallah = new Student("abdallah ",20111017,80);
System.out.print(abdallah.toString());
}
}
Name: abdallah, ID: 20111017 , MARK: 80 :‫’وج‬.‫ا‬
‫د‬T
‫م ا‬6>?' D2‫و‬E‫ أي ا  ا‬abdallah «<5 abdallah.toString ‫ل‬6 9;t
‫ أ ا‬45 %;‫اذا آ‬
. ً_<) toString
:‫ل‬T
System.out.print(abdallah);
:V?+. 4‫ه‬
System.out.print(abdallah.toString());
Name: abdallah, ID: 20111017 , MARK: 80 :‫’وج‬.‫ا‬
' 
‫س و‬S
‫ ا‬ª+.  5 
‫ ا‬D2‫و‬E‫ 
 ا‬U ‫ن‬5 static ‫ع‬.  6)+
‫اذا آن ا‬:HZ [
.3
‫ ا‬6%9 U 8
:‫ل‬T
class Student{
private String name;
private double id;
private int mark;
private static int nextId=5;
.
.
.
}
class StudentTest{
public static void main(String[] args){
Student abdallah = new Student("abdallah ",20111017,80);
Student hamzeh = new Student("hamzeh",20111159,80);
System.out.print(abdallah.getNextId()+" , "hamzeh.getNextId());
}
}
.5 , 5 :‫’وج‬.‫ا‬
Constant(9X.‫ )ا‬:
)
‫ام ا‬6>  [
‫ و ذ‬DT‫م آ‬6>?' .‫\ و ا‬.;
‫ ا‬45 U 8 ' 1 <
‫ ا‬D 6)5 '  t?.
.final 5 
‫ا‬
:‫ل‬T
class StudentTest{
public static final String a="NAME : ";
public static void main(String[] args){
Student abdallah = new Student("abdallah ",20111017,80);
Student hamzeh = new Student("hamzeh",20111159,80);
System.out.print(a+ abdallah.getName());
}
}
.NAME : abdallah :‫’وج‬.‫ا‬

:‫Šاآة‬.‫ ا‬+: -;‫و‬m‫ ا‬s Xa


:y?
‫ل ا‬T
‫ ا‬45 abdallah D2‫و‬E‫
  ا‬ST ‫ ا
اآة‬45 D2‫
ˆو‬4)T  ‫' ر  ر‬

Student abdallah Student

String name String

double id=20111017 "


abdallah
int mark=80 "

. String -;‫و‬m‫™ ا‬.‫ ا‬hO¹.‫ 


ا‬h±O 9nO‫Ÿ ر‬.Š. -;‫رة 
أو‬9  ‫ ه‬String ‫ ال‬: HZ [

Input and Output:


y'  9 )C6
‫ ' ا <;ل ا
 )ت ا‬vp (Stream)‫ى‬2 @? ‫اج‬C0‫ل و ا‬C‫د‬0‫ أدوات ا‬52
‫ ا‬45
:4

‫ى آ‬2

Buffered
Input Stream
Reader System in
Reader input

: a9I.‫ ا‬H .
 H_‫`ا‬.‫ا‬

:‫)@ و ه‬9E‫ ا‬45 4


‫رة ا‬¢
‫ ا‬45 ‫( آ‬3 Stream) .‫ أ‬3 ‫ج‬. ¨+
‫ ا‬p
_‫
)<ا‬
System in:
.‫ آ ة‬45 6p‫ وا‬D' _‫)@ ا‬9  ' ‫ول و‬E‫;ب ا‬.E‫و ه ا‬
Input Strem Reader:
.(‫ف أو ر‬p @
‫ ا‬D' 2 ‫)@ ' آ‬9  ' ‫و‬
Buffered Reader:
.(String))?) V% 
§ ‫ ذاآة‬45 ‫ ا
وف أو ا
ز‬A‫ ه‬2 @)9  ' ‫و‬

:‫ل‬T

BufferedReader in = new BufferedReader(new InputStreamReader(System.in));

U7777777
BufferedReader ‫س‬S777777
‫ و ا‬BufferedReader ‫س‬S7777777
‫ع ا‬777777. 7777777 777777‫ ه‬in ‫رئ‬7777777<
‫ ا‬777777%‫ه‬
‫ و‬System.in 7 
‫ ا‬U7
InputStreamReader ‫س‬S
‫ و ا‬InputStremReader (parametr) 
‫ا‬
.¨+
‫ ا‬p
 D' _‫س
)<ا‬S‫ه آ‬
.¨+
‫ ا‬p
 ‫ف‬pE‫ف أو )?)  ا‬p _‫ى
<ا‬2 T ‫ل‬T
‫ ا‬45 ‫ آ‬V*   4‫و ه‬

.A8 '  ‫د ا‬2 ‫ ه‬in : HZ [


Try And Catch:

‫ب‬3 4%  ‫ و‬catch ‫ و‬try )


‫ أوا ا
<ا_ و ا
  ا‬¢ 52
‫ ا‬45 
‫)ت ا
<ا_ و ا‬9 6%9
@?77 ‫ء‬77tCE‫ و ا‬, 77)
‫ ا‬4775 ‫ح‬772%
‫م ا‬6779 4775 ;?77 ‫ي‬77
‫| ا‬77t>
‫?[ ا‬77|5 ¨2%77 77
‫ و اذا‬77
‫اءة أو ا‬77<
‫ا‬
ST ‫ل و ا
>وج أو‬C6
‫(ة ا‬V3‫ ا‬45 |tC 4%  ‫ و‬IOException : T ‫ة‬6'69 ‫اع‬.‫ك أ‬%‫" و ه‬Exception"
.(int,long,…..)‫ ا
@ ر‬String  '
‫ء ا‬tC‫ أ‬4‫ و ه‬NumberFormatException
:‫ل‬T
try{
BufferedReader in = new BufferedReader(new InputStreamReader(System.in));
String s = in.readLine(); //¨+
‫ ا‬p
 t ‫'<أ‬
}catch(Exception e){
.......H Mb.‫ ا‬+: |}~ ‫ك‬9n‫ن ه‬9‫ إذا آ‬sbI/ ‫ أن‬/ ‫ذا‬9......
}
.\.;
‫ أن '?[ ا‬2' ‫ء‬tCE‫ع  ا‬. ‫د أي‬6. 
‫م أي‬9 |tC 4‫ ه‬e
.A8 '  ‫ ه ا‬e
:‫• ها‬X
‫)@ ا‬9 |t>
‫ ا‬9;  t?.
try{
BufferedReader in = new BufferedReader(new InputStreamReader(System.in));
String s = in.readLine();
}catch(Exception e){
System.out.print(e); //º E.9 |}’.‫ ا‬9n.  }/
}
‫ة‬6p‫ ة وا‬U+'  ' in ‫ ا
<رئ‬y?
‫ل ا‬T
‫ ا‬45 ST , ‫س‬S
‫ ا‬45 ‫ة‬6p‫ '  ' ا
<رئ ة وا‬:YpS
.‫س‬S
‫ ا‬45
:gM
 H_‫`ا‬.‫ا‬
'  ‫ 'ن‬vpFileReader ‫س‬S
‫ ا‬y'  9 (text file) 4¢. )  52
‫ ا‬45 _‫ ا
<ا‬t?.
:4

‫ا
<رئ آ‬

BufferedReader r = new BufferedReader(new FileReader("c:\myFile.txt"));


)
‫ ا‬U5 ‫د‬3 ‫ ا
?ر ا
ي‬9 ;  ‫ )?) و‬9 ‫;رة‬9 ‫ ه‬FileReader ‫س‬S)
(parameter)  
‫ا‬
:ST
"c:\myDocument\doc\+IM.txt"

:gM +: }Om‫ ا‬b/ §9 ‫ل‬9X


class CountFileLine{
public static void main(String[] args){
try{
BufferedReader r = new BufferedReader(new FileReader("c:\myFile.txt"));
String s;
int count=0; //int ‫ع‬.  ‫ و ه‬t E‫
?ب ا‬8
while((s = r.readLine())!=null) //)
‫' ا‬V. @p t t ‫'<أ‬
count++;
r.close(); //)
‫ق ا‬S0
System.out.print("The Number Of line in this file is : "+count);
}catch(Exception ee){
System.out.print("error when reading file : \n"+ee);
}
}
}
.‫ء‬+¡ 7 4%  ‫ و‬52
‫ ا‬45 5  )‫ آ‬4‫ ه‬null :HZ [

‫ و ه‬PrintWriter ‫س‬S
‫ ا‬V% ‫م
) و‬6>? 4
‫س ا‬S
‫اع  ا‬.E‫  ا‬6'6
‫ك ا‬%‫ ه‬:gM +: H9-.‫ا‬
 ‫ ه‬C³‫ آ  و ا
  ا‬FileWriter ‫س‬S
‫م آ
[ ا‬6>?' ‫)@ ا
) آ
[ و ه‬9 '6 
 ¨?'
‫ '<م‬S5 false D.‫)ب ا اذا آ‬t
‫)@ ا
) ا‬9 5‫ '  ا‬true <
‫ ا‬% ‫ اذا و‬vp Boolean ‫ع‬.
.A ' ‫ و‬y?
‫ ا
) ا‬45  ¨?' .‫ و ا‬50

:gM +: 9±ˆ’/ ‫م و‬9‫ أر‬10  a9I.‫ ا‬H .


 ‫`أ‬/ §9 ‫ل‬9X

public class PrintWriterTest {


public static void print(int[] a){
try{
PrintWriter out=new PrintWriter(new FileWriter("c:\ out.txt",false));
for (int i=0;i<a.length;i++)
out.println(a[i]);
out.close();
}catch(IOException e){System.out.println(e);}
}

public static void main(String[] args){


int[] a=new int[10];
String l;
BufferedReader b=new BufferedReader(new InputStreamReader(System.in));
System.out.println("ENTER TEN NUMBER: ");
try{
for (int i=0;i<a.length;i++){
l=b.readLine();
a[i]=Integer.parseInt(l); //4<<p ‫د‬69 @
‫'ل )?) ا‬
}
}catch(Exception d){System.out.println(d);}
print(a);
}
}
int Integer.parseInt(String s) :
‫ أي‬Exception ‫ك‬7%‫ن ه‬7' 1‫ و ا‬7‫ ر‬79 ‫رة‬7;9 )?)?
‫ ا‬D.‫ ا
@ ر اذا آ‬s String ‫)@ ' ال‬9  '
:ST |tC
String s = "abc";
String d="123";
int l = Integer.parseInt(s); //error NumberFormatException
int a = Integer.parseInt(d); // true and a = 123
:T ‫ى‬C‫د
'  ا
?)?) ا
@  ا‬T ‫ك‬%‫ ه‬63' ‫آ‬
float Float.parseFloat(String s) //‫ي‬X9 ‫'ل ا
@ ر‬
long Long.parseLong(String s)//\.
‫ع‬.  ‫'ل ا
@ ر‬

Inheritance (‫ارث‬.‫)ا‬:
‫ب‬S7  ‫? و‬73 ‫ب‬S7  ‫ب‬S7t
‫ ا‬7 97. ‫ك‬7%‫ ه‬ST7 Cw ‫س‬S‫  آ‬495 D2‫س او او‬S‫ آ‬9 ‫و ه‬
57Ä ‫
ر'س‬7;
‫ ا‬7
  79 7)>' ST7 ?73
‫ ا‬7
  ‫ب و‬S7  7‫ ه‬7'V%
‫ ا‬45 ‫ن‬%0‫
ر'س و ا‬
‫
ر'س‬7‫ب ا
;آ‬S7  D72‫ أو‬7 %?73
‫ب ا‬S7t
4795 D72‫ أو‬79 t?7. [
7
‫ت‬+7z‫ ا
ا‬Å 
.super class ‫ ب‬4)zE‫س ا‬S
‫ و ا‬sub class ‫ ب‬49+
‫س ا‬S
‫ '?@ ا‬vp
SuperClass SubClass

Bacalorious Student Master Student


Name
Id BaAvrage
Mark
Avrage
hµ±.   µj9.‫[ب ا‬µ}.
µ-. ‫ و‬+µ‫اآ‬a ‫ل‬µb ‫ و‬Hµ[ ‫ و‬+b9µj hµ‫ و ر‬hµO‫ ا‬hµ±. ‫}[ب‬.‫ ا‬s‫رة آ‬°.‫ هŠ½ ا‬+:
.‫}[ب‬.‫ و ه ا‬+ _.‫ ا‬-;‫و‬m‫ 
ا‬+: -;‫ او‬h±. 9nb£ ‫Ÿ و‬.‫Šا‬. +:9£‫ل ا‬b

:4

‫ آ‬495 ‫س‬S‫
 آ‬extends )‫م آ‬6>?
class MasterStudent extends Student{

4?_
‫س ا‬S
‫ا  ا‬

:‫ل‬T

:(super class)4?_
‫س ا‬S
‫ا‬
class Student{
private String name;
private double id;
private int mark;
/**Default Constructor of Student Object*/
public Student(){
}
/**Constructor of Student Object with parameter */
public Student(String aName,double aId,int aMark){
name = aName;
id = aId;
mark = aMark;
}
/**accessor to name*/
public String getName(){
return name;
}
/**mutator to name*/
public void setName(String aName){
name = aName;
}
/**accessor to Id*/
public double getId(){
return id
}
/**mutator to Id*/
public void setId(double aId){
id = aId;
}
/**accessor to Mark*/
public int getMark(){
return mark;
}
/**mutator to Mark */
public void setMark(int aMark){
mark = aMark;
}
}

:(sub class)49+
‫س ا‬S
‫ا‬

class MasterStudent extends Student{


double BaAvrage;

public MasterStudent(){
}
public MasterStudent(String aName,double aId,int aMark,double aBaAvr){
super(aName,aId,aMark); //‫[ت‬9b.‫¾ ا‬I o. ‫Šي‬.‫ ا‬+ _.‫[س ا‬-.‫ ا‬+: +9 .‫  ’م ا‬9n‫ه‬
BaAvrage = aBAvr;
}

public void setBaAvrage(double average){


BaAvrage = average;
}
public double getBaAvrage(){
return BaAvrage;
}
public String toString(){
return "Master Student :\n"+super.toString+"BaAvrage= : "+getBaAvrage;
}
}

class StudentTest{
public static void main(String[] args){
Student abdallah = new Student("abdallah ",20111017,80);
MasterStudent amjad = new MasterStudent("amjad",9711123,84,78);
System.out.print(abdallah.toString()+"\n"+amjad.toString());
}
}
this and super:
.U5 ‫دة‬3 4‫ ه‬4
‫س ا‬S
‫)@ ا‬9 ‫ل‬65 this 
‫ا‬6
‫ أ ا‬4?_
‫س ا‬S
‫)@ ا‬9 ‫ل‬6 super 
‫ا‬6
‫ا‬
: <'t super 
‫ا‬6
‫ ا‬ST ‫ام‬6> ‫ ا‬t?. ‫و‬
:4

‫<« و  آ‬5 ‫ول‬E‫ ا‬t?
‫ ا‬45 V‫ا‬6>% ‫ '?¨ ا‬vp (constructor)4.;
‫ ا‬45 -1
super(‫ت‬S 
‫)ا‬
.y?
‫ل ا‬T
‫ ا‬45 ‫ت آ‬S 
‫ ا‬ª+. U
‫ ا
ي‬4.;
‫م ا‬6>?' ‫ و‬4?_
‫س ا‬S
‫ ا‬45 4.;
‫ 'ه ا
@ ا‬vp
77
‫ا‬6
‫ ا‬A7‫ام ه‬6>7  4779+
‫س ا‬S7
‫ ا‬475 4?7_
‫س ا‬S77
‫ ا‬7 ‫د‬7T
‫ام ا‬6>7 ‫ ا‬t?77. v7p ‫د‬7T
‫ ا‬475 -2
:4

‫آ‬
super.‫د‬T
‫ا  ا‬
. MasterStudent ‫س‬S
‫ ا‬45 toString ‫د‬T
‫ ا‬45 y?
‫ل ا‬T
‫ ا‬45 ‫آ‬
‫ اذا‬v77p «77<5 ‫س‬S77
‫ ا‬77C‫م دا‬6>?77 this 77
‫ا‬6
‫ ا‬77
77<'t
‫ ا‬ª+%77 [
77‫ آ‬this 77
‫ا‬6
‫ام ا‬6>77 ‫ ا‬t?77. ‫و‬
:4

‫ آ‬4.;
‫ ا‬45 ‫ه‬% ‫و‬
this(‫ت‬S 
‫;)ا‬
.U?+. ‫س‬S
‫ ا‬45 ‫ت‬S 
‫ ا‬ª+. U
‫ ا
ي‬4.;
‫'ه ا
@ ا‬
:ST  ‫ ا
ي ار‬D2‫و‬E‫)@ ا‬9 ‫ل‬6 ‫?اآر و‬.
‫ ا‬45 V‫ آ‬t?. ‫آ‬
public Student(String name){
this.name = name;
}
: 4

‫د آ‬T 
‫ ا‬45 D2‫ او‬%% %.‫
 ا‬vp
Student abdallah = new Student("abdallah ");
.‫ و ا
;را‬6)+
‫  ا‬y'+
‫ ا‬t?' [
 ‫ و‬abdallah D2‫
ˆو‬name 6)+
‫)@ ا‬9 4.;
‫ ا‬45 this ‫ل‬6

:9:9;.‫©  ˆات ا‬b


Overriding(Hn ±.‫)ا‬:
.4?_
‫س ا‬S
‫ ا‬45 ‫د‬3
‫ ا‬49+
‫س ا‬S
‫ ا‬45 ‫ت‬S 
‫ ا‬ª+. U
‫د و‬T
‫ ا‬ª+. ‫ آ‬52
‫ ا‬45 t?.

Polymorphism(H/‫د‬b.‫)ا‬:

‫ع‬.  D2‫ ?واة  أو‬9 t?. y?


‫ل ا‬T
‫ ا‬45 ST D2‫ 
ˆو‬3 9 52
‫ ا‬45 t?.
:4

‫ آ‬49+
‫س ا‬S
‫ع ا‬.  D2‫ |و‬4?_
‫س ا‬S
‫ا‬

MasterStudent y = new MasterStudent();


Student x = y;
.4?_
‫س ا‬S
‫ع ا‬.  U.E x D2‫
ˆو‬49+
‫س ا‬S
‫ ا‬C‫دة دا‬3
‫د ا‬T
‫ام ا‬6> ‫ ا‬t?. 1 %‫ه‬
.‫ب‬St
‫  ا‬5+¢   z>
‫ ا‬A‫  ه‬6+?.
:‫ل‬T
Student[] std = new Student[2];
std[0] = new Student();
std[1] = new MasterStudent();

Dynamic Binding(+- 9n/.‫ ا‬º.‫)ا‬:


‫د‬T
‫ام ا‬6> ‫ ا‬45  3
‫ 'ن ا‬y?
‫ل ا‬T
‫ ا‬45 T ‫ ?واة‬%)9 ‫ اذا‬vp z>
‫ ا‬A‫ ه‬52
‫م ا‬6>?'
.8)
ª
‫ و‬D2‫
ˆو‬
:4

‫ آ‬9;  ‫ أ‬% ‫
 و‬y?
‫ل ا‬T
‫ ا‬45 vp
System.out.print(x);
.x 8)
ª
‫ و‬y D2‫
ˆو‬toString ‫د‬T
‫م ا‬6>?'

Constant Class(9X.‫[س ا‬-.‫)ا‬:


. overriding U
9 t?. 1 4% ' ‫س‬S
‫ا ا‬V
495 ‫س‬S‫ آ‬9 t?. 1 %.‫ أ‬4% ' ‫و ها‬
.final )‫ آ‬U); . D ‫س‬S
‫  ا‬2
‫و‬
:‫ل‬T
final class Student{…}
. D U.E Student ‫س‬S
‫  ا‬MasterStudent ‫س‬S
‫ ا‬T 495 ‫س‬S‫ آ‬9 t?. 1 vp

Hirachies(‫م‬±.‫)ا‬:
.D2‫س أو‬S)
95 ‫ ت‬S‫ آ‬9 ‫;رة‬9 4‫ ت ه‬S
‫ آ ا‬52
‫ ا‬45

Object

Student

PacStudent MasterStudent

Abstract Classes (‫;دة‬.‫ت ا‬9O[-.‫)ا‬:


4
‫د ا‬T
‫ام ا‬6> ‫ ا‬t?. 1‫ و‬D2‫ آ|و‬U‫ا‬6> ‫ ا‬t?. 1 %.‫ أ‬4% ' ‫ ها‬abstract ‫س‬S‫ ف آ‬. 6%9
‫ك‬%‫  و ه‬2
‫ر ا
  ; ا‬2Æ 0 \. 9 6'. 
ST 9+
‫ ت ا‬S
‫ل ا‬SC  1‫ ا‬U)C‫ا‬6'
95 D2‫ و او‬9 6>?)
abstract D2‫  او‬. [

‫ب‬St
‫ ة و ا‬E‫ ا‬6>?
‫  ا‬9.
.‫ب‬St
‫ ة و ا‬E‫
  ا‬
:‫ل‬T
abstract class User{
private String name;
private String bookName;
private Date borrowDate;
public User(String _name){
name = _name;
}
public String getName(){
return name;
}
public void borrowBook(String bName){
bookName = bName;
borrowDate = new Date();
}
public void returnBook(){
bookName = null;
}
public String getBook(){
return bookName;
}
public Date getBorrowDate(){
return borrowDate;
}
public abstract boolean isLate(); //H I.‫ت ا‬9O[-.‫ ا‬+: o9‫; آ‬/ o‫ ا‬+nb/ ‫د ا اآ و هŠا‬X .‫آ هŠا ا‬

}
:49+
‫س ا‬S
‫أ  ا‬6;.
class Student extends User{
private int Id;
public Student(String aName,int Id){
super(aName);
this.Id = Id;
}
public boolean isLate(){
if (new Date().compareTo(borrowBook)>1)
return true;
return false;
}
public String getName(){
return super.getName();
}
public int getId(){
return Id;
}
}
class Professor extends User{
public Professor(String name){
super(name);
}
public boolean isLate(){
if (new Date().compareTo(borrowBook)>1)
return true;
return false;
}
public String getName(){
return "Dr."+super.getName();
}
}
class LibraryTest{
public static void main(String[] args){
User[] users = new User[3];
users[0] = new Student("abdallah ",20111017);
users[0].borrowBook("Java 2 V2");
users[1] = new Professor("_‫;)"وا‬
users[1].borrowBook("JSP and Servlet");
users[2] = new Student("¨ ",9912312);
for(int i = 0;i<users.length;i++){
System.out.print("\n "+users[i].getName());
If ( !(users[i].getBorrowBook().equals(null))){
System.out.print("\n"+users[i].getBorrowBook()+"has borrowd
If(users[i].isLate())
System.out.print("\n Hi Is Late!!!");
}
}
}
}
:´9 .‫ل ا‬9X.‫ ا‬+: §9 .‫ ا‬+: Hl£‫]  وا‬.‫ر ا‬m‫© ا‬b
Date: ‫ز‬V2
‫ ا‬9 ‫ و‬É'‫س '<أ ر‬S‫ آ‬9 ‫;رة‬9 ‫ه‬
:‫ل‬T
Date a = new Date(); //‫ز‬V2
‫ ا‬9 ‫ و‬É'‫ع '<أ ر‬%
‫  ها ا‬6'63 D2‫ء او‬% 6%9
compareTo :
;‫ آ‬9 ;  vp int ‫ع‬.   3' ‫ع و‬%
‫ ا‬ª+.  2‫  او‬.‫د '  <ر‬T 9 ‫;رة‬9 ‫ه‬
.'‫ ?و‬2‫و‬E‫ اذا آن ا‬0 V 3' 4
‫ و ن ا
< ا‬C³‫ ا‬9 D2‫و‬E‫ ا‬8z ‫او‬
:‫ل‬T
int i = abdallah.compareTo(mhamad);

‫ول‬m‫ ا‬-;‫و‬m‫ا‬ ‫¾ ع‬I


 s9b.‫ا‬
o. H‫ر‬9`.‫اد ا‬.‫ا‬ H‫ر‬9`.‫ ا‬sb. ‫ول‬m‫ ا‬-;‫و‬m‫ا‬
o
equals:
.‫ اذا آ‬vp boolean ‫ع‬.   3' ‫ع و‬%
‫ ا‬ª+.  2‫  او‬.‫د '  <ر‬T 9 ‫;رة‬9 ‫ه‬
. false 3' 1‫ و ا‬true 3' '‫?و‬
:‫ل‬T
boolean b = abdallah.equals(mhamad);
:‫ة‬6+
‫وا ا‬E‫ ا‬Å 
System.exit(1): \.;
‫وج  ا‬C  '

:String‫
أوا ال‬

String toLowerCase() :‫ة‬8z ‫ف‬p‫ف ا


) ا
@ ا‬p‫)@ ' ا‬9  '
:‫ل‬T
String s = "GhOsT";
String h = s.toLowerCase();
h = "ghost" : ‫’وج‬.‫ا‬
String toUpperCase() : ‫ف آ;ة‬p‫ف ا
@ أ‬pE‫)@ ' ا‬9  '

int compareToIgnoreCase(String s) : ‫ اذا‬0 3'(8z ‫ع ا


ف)آ; أو‬. 9 Y%
‫ ا‬Å8 ‫ى‬C‫'<رن ا
)  ا
) أ‬
'‫ ا
) ?و‬.‫آ‬
:‫ل‬T
String s = "GHOST";
String h = "ghost"
Int l = s. compareToIgnoreCase(h);
l = 0 : ‫’وج‬.‫ا‬
String substring(int beginIndex,int endIbdex):
.)
‫  ا‬t<
‫' ا‬V. ‫د‬6 ‫ و‬endIbdex ‫ ا
) و‬t '‫ا‬6  beginIndex  6'6 <. ‫(ئ  ا
?)?) و‬3 C‫)@ أ‬9  '
:‫ل‬T
String s = "muhamad";
String sub = s. substring(2,6);
sub = "hamad" : ‫’وج‬.‫ا‬

y5
‫ ا‬4
‫ و‬Ë‫وا‬
'
‫[ ا‬V3

C ‫ ها‬4)9  3‫ ا‬4‫' ر‬
4.T
‫(ء ا‬2
‫ ا‬Ë‫ء ا‬X.‫'; إ‬

You might also like