صفحه 1:
۱ کر
ولا
صفحه 2:
Pee DLs re) Ste Sy
Java)
er ال
صفحه 3:
BE NYE Were ever
"اجاوا ثمره ١ سال تلاش جهت ايجاد زبان
ee Ben ed el eel
PTF cl pe ment a er 1
صفحه 4:
برنامه نویسی شی گرا : ( ۳۲۵9۲۵۲۲۸۱۱۳9 0۳۱۵۴۸۲۵۵ عع زط0
(Cole)
* اگر چه زمان زیادی می برد. تا بتوانید در اين برنامه نویسی خبره
شوید. ولی منطق اولیه این نوع برنامه نوبسی بسیار ساده است.
ايجاد اشيا به همان صورتى كه در طبيعت وجود دارند.
برای شروع موارد زیر را بررسی می کنیم:
* ایجاد کلاسها
3 liad
200
APS ا ew) Cwaen
صفحه 5:
Class & Object =: cll 9 QuS
Ome (Pee ا م Cpe
در جهان واقعی یک شیء از اشیاء کوچکتر تشکیل شده است.
بنابر این در برنامه نوبسی شیء گرا قابلیت تر کیب اشیا برای
لا
00 ا ا BRC) CO
های یک کلاس می باشند. برای مثال از کلاس به نام دانشجو می
توان تعداد زیادی شیء دانشجو ایجاد کرد.
صفحه 6:
متغیر :۱۷/۵۲۱۵۱0۱6
"" يى متغير محلى جهت نكهدارى اطلاعات در زمان اجراى برنامه
مى باشد. مقدار متغير را مى توان در طول اجراى برنامه تغيير داد.
روش ايجاد متغير در زبان جاوا به صورت زير مى باشد.
Data_Type Variable_Name;
: مثال ""
int highScore;
String username;
boolean gameOver;
صفحه 7:
نکته
"" سه نوع متغير متفاوت در زبان جاوا وجود دارد اين سه نوع متغير
عبارتند از:
"" متغيرهاى نمونه ع |1131هلا 1512311
0 ا ل ا ا ا veil
متفاوتی که از روی یک کلاس ساخته می شوند. می توانند دارای
متفاوتى براى اين زره متغیر باشند. 00 t-r)
Class Variable ۳
EXECS TCM ECG) CMe gem Cet SEEN) CMTE Set 7 Ties
۱ eG co Pend Wee peda] ep) Be
صفحه 8:
"" متغيرهاى محلى Local Variable
۴ این نوع متفیرها درون یک مند یا بخشی از یک متد تعریف می شوند.
صفحه 9:
7
. 3135 3929 Global
صفحه 10:
Default : & pric & مقدار دهى اوليه
Value
Sele OES Oe Ce Sree pee nye SEC Thad
;Data_Type Variable_name = Value
;int zipcode = 90210
;’String name = "Brandon
;boolean cheatedOnKelly = true
;int age = 28, height = 70, weight = 140
صفحه 11:
نکته
IG Cee) nC 0 الال ا FNS
است به تمام متغیرهای محلی مقدار اولیه نسبت داد.
نکته: متغیرهای نوع کلاس و نمونه بسته به نوع متغیر مقدار اولیه می
SS
متغیرهای عددی : ۰
متغيرهاى منطقى : ©1815
اشیاء : ۲۱۷۱۱
000 pce pet ord
صفحه 12:
الا ا و رلیرت رن
نام یک متغیر باید با یک حرف. ۱1۳06۲560۲6 يا 5 آغاز شده
Pee ene me rel ie) 7
Cree Mee yO Lal (ole: (“MINE te esc CaN MPa PETS)
۱۷۳16006 متغیرها می تواند شامل هر کاراکتری که دارای كد
است؛ باشد.
نکته؛ زبان جاوا یک زبان 6۳51۷6 856-5 می باشد.
Pee Mele Reece RCL Le ا Ne a
Pee PeMU ee SEIS a ا ا
صفحه 13:
7 Ree)
جهت افزايش خوانايى نام متغيرها از قواعد زير استفاده
براى اولين حرف نام متغير از حروف كوجك استفاده .١
کنید.
yer Lom LN ree eee er eC
كلمات بعدى را به صورت بزرك تايب كنيد.
. تمام كلمات ديكر رابه صورت كوجك تايب نماييد.
صفحه 14:
رس
توجه داشته باشيد كه علاوه بر نام متغير بايد نوع اطلاعاتى را كه
مى خواهيم درون يك متغير درج نماييم؛ تعيين كنيم. نوع اطلاعات
يكه متغيير يكى از حالات زير مى باشد.
.١ نوع داده مقدماتى
۲ نام یک کلاس يا واسط
۳ یک آرایه
صفحه 15:
Primitive Data: jbuis of oote Eli!
Type
Fer ante Rod) ES ES eo) 5
اعداد اعشارىء كاراكترها و مقادير منطقى وجود دارد.
انواع داده اى فوق را انواع اوليه(يايه) هم مى نامند. دليل
نام كذارى فوق وجود اين انواع داده اى در زبان جاوا به
طور پیش فرض می باشد. به عبارت ديكر اين انواع داده
ae] pe] reece a NT ا prove
el rE ede ree PCE ICES Ear
|
صفحه 16:
۷۳0
Byte
Short
Tals
99
Integer Type (4
512
bito
انا
0: 6
bit of
Value that can
0
-©06 127 0+
ا
اتح نكن
2147483647
aan ات
0909
9,223,372,036,854,775,80
7
صفحه 17:
Floating Point Type (©
Type
۱۴۱۱923 1 4
Double
Size
Value that can
be stored
1.4E-45 to 3.4E+38
4.9E-324 to
1.7E+308
۱ ی pee CNT pe)
های منطقی از 0001610 استفاده می شود.
صفحه 18:
متغير نوع كلاس : ©0لا1 1355©
Variable
* علاوه بر هشت نوع داده ای فوق یک. متفیر می تواند از نوع كلاس
eB ا ال م
;’String lastname = “Walsh
;Color hair
Peel ese te Te Bee) CES Beene ae Ne
اشاره به يك شىء از ان كلاس يا يكى از زير كلاسهايش دارد.
0 ا ا
000 ا ا تا ا Cee eres)
UC ا 0-18
Cres Pe eel meee oeor peer ee Mire hVo)git=] a0] iu
1۱۳3 vay \o)o) (“Wn -rle كلاس
صفحه 19:
نکته
* تعریف یک متفیر از نوع 00[66 به این معناست که
اين متغير مى تواند به هر شىء اشاره نمايد.
++C jo typedef ati. ا ا
ov Pe aE Eke Sle ICS EES peers)
جدیدی تعریف نمایید
صفحه 20:
STs Taare MC Lam coded pre ee Oy he Ae wed]
دازا و۱
ed eRe OT ee Se ا ل ا ial
;ldCode = 8675309
;snappyDresser = false
صفحه 21:
توضيحات : 11 0111111©
Ste م ren Ph ene eae bc ores
شود. در زبان جاوا دو روش برای افزودن توضیحات به
برنامه وجود دارد.
۴ توضیحات یک خطی:
در ابتداى خط از علامت // استفاده مى شود.
int creditHours = 3; //Setup credit hours for
5نامع
صفحه 22:
توضيحات : 11 0111111©
"3 توضيحات جند خطى:
eed itt eel eee] ل ا 00
This program was written late at «/
night under the influence of expired
antihistamine medicine and generic
supermarket soda. | offer no
warranties express nor implied that
works for any useful purpose
/x whatsoever
صفحه 23:
Literal: Jl J
PS se earn pl RES weal pens geese
202052 ieee ean ce pe ney ae
poe gee ee COMET Deo Conta
;int year = 1998
صفحه 24:
لیترال عددی
* زبان جاوا لیترالهای عددی متفاوتی دارد. برای مثال عدد
۴ میتواند به یکی از صورتهای زیر در نظر گرفته شود.
;int pennyTotal = 4
byte pennyTotal = 4
;short pennyTotal = 4
;long pennyTotal = 4L
صفحه 25:
نكات
7۰ ل ا ا ل دزیر oe] FT i
0 ocd
ا 0
عدد مورد نظر به ترتيب ٠ يا 06 درج مى كنيم. براى مثال اكر
تا
Pare eee yea rer En AA Rey
eV) SORT AE CaER oe ۳
Sees ENP OST eRe scree te a i
0 ل ا
sint pennyTotal = -4
صفحه 26:
نكات
۱
شوند. مگر اینکه با ذکر حرف ۴ بعد از عدد آن را به عنوان
۴ تعریف کنیم.
;double myGPA = 2.25
;float piValue = 3.1415927F
Ber ENE Role waa bone Seer eel bal
به صورت زیر عمل نمایید.
;double x = 12e22
;double y = 19E-45
صفحه 27:
لیتیالهای منطقی
* این لیترالها یکی از مقادیر 6۲016 یا 8156] می باشند. و
Se eRe Bee DRO) ae
;boolean toThineOwnself = true
۱۳ ed
BOVIS ا steno ies
;char letter = ’3
char letter = 'a
صفحه 28:
كاراكترهاى خاص:
Character
ام
1
b\
0
آز
\
a
7
d\
۱
ud\
Meaning
عمتا بعلم
Tab
EET <j ytd
Carriage return
Fromfeed
Backslash
Single quotation mark
Double quotation mark
Octal
Hexadecimal
Unicode character
صفحه 29:
ليترالهاى رشته اى
این نوع لیترالها به صورت زیر ذکر می شوند.
String coauthor = "Laura Lemay, Killer of
;’trees
String و 2 50015
;””\2?asked, \"Hemlock is poisson
String title = “Sams Teach Yourself Java in a
;"3-Day Weekend\u2122
"ا همان طور كه ملاحظه مى فرمابيد. مى توان از كاراكترهاى
خاص در این نوع لیترالها استفاده کرد.
010
صفحه 30:
عملگر ها:
* عملگرها سمبل هایی برای انجام اعمال محاسباتی, مقایسه های منطقی و ...
می باشند.
Example Meaning | Operator
Addition + هبو
5 ایور ات موه
9*0 Multiplicatio ۴
را
4/۳ Division 1
2 Modules 3
* نکته: آمکان آتنسابهای چند گانه در زبان جاوا وجود دارد.
X=y=z=7
* توجه داشته باشید. که عملگرهای -ب, --
۳
ع</, t+ - در زبان جاوا
صفحه 31:
AC ore) ges eS
۳
۱۳ ۹ b Shoe yy! ™
دهند.
boolean unusual = (age < 21) & (brotherAge
7>78)
* به جای »6 از »646 هم می توان استفاده کرد. تفاوت دو عملگر
gow Feel Deity) ا ل Pee
كيرد ولى عملكر يةية ابتدا به عملوند اول نكاه مى كند, اكر
0 ا ا ا beatae] Biker)
صفحه 32:
SF wwul gpl yd | Kee L |] Sec ols # 359 1
اول 1۲16 باشد. به مقدار عملوند دوم توجه نمی کند و مقدار
توا ۳۳
ار( ی ۱
yw)
صفحه 33:
تقدم عملگرها:
Se cear S eal |
توتیب ce
۳ 0
جر
5
١ 0| ©
صفحه 34:
وتو
* همان طور که می دانید برنامه های جاوا از مجموعه ای از
کلاسها تشکیل می شود. ضمناً می دانید که از کلاسها برای
rare) le ا 00
۷ به صورت زیر استفاده میشود:
class_type object_name = new class-
r0type
;0String teamName = new String
3(0Random randinfo = new Random
;Point pt = new Point(0,0)
صفحه 35:
1 Jo
simport java.util.Random
} class RandomNumbers
public static void main(String
}arguments[]
;Random r1, r2
;Orl = new Random
System.out.printin("Random value 1: "
;+ r1.nextDouble())
2 = new Random(8675309)
System.out.printIn("Random value 2: "
;+ r2.nextDouble())
{
if
صفحه 36:
ols
وا فرض(بدون آركومان) زمان
بح
| 7 Tale (ol RD Ciel
0560010-۲300 110 بزرگ استخراج می کند. این مجموعه
Bye PPS لاع يتات ل ل
2 Caper ed D CTS
فى سازد. كه هميشه داراى 0
ا ل ا مسئله وجود
آرگومان ثابت هنگام ایجاد شیء است.
صفحه 37:
نكات
* اگر بخواهید عدد ایجاد شده توسط کلاس 3۱00۲
رابه عدد صحيح تبديل كنيد به صورت زير عمل مى
;(QRandom rl = new Random
int number = (int)
3(rl.nextDouble()*12)
لا
در اين صورت مقدار متغير 1 1١14117126 عددى بين ٠ و
( 60
صفحه 38:
نكات
"" نكته: هنكام استفاده از عملكر ۷ ععمال زیر انجام مى
شود :
و۱
۱
می يابد.
و ۳۳
شود.
صفحه 39:
نكات
"" متد 011511016101) متدى است, كه براى ايجاد و مقدار دهى
ny)| ا ا Slr ng ا
51101 شىء جديد و متغيرهايش را مقدار دهى مى
3 |
ايجاد مى نمايد و تمام عمليات ديكرى را كه براى مقدار دهى
ل ا ۰
ا ا ل ل ل ا لك
آركومان متفاوت تعريف كرد
صفحه 40:
نكات و مثال
۱
صورت اتوماتیک انجام می شود. و نیازی به نوشتن کد جهت انجام این
اعمال وجود ندارد.
jimport java.awt.Point
5غمزممغهة5 ۱۳۵
} public static void main(String arguments[])
;Point location = new Point(4, 13)
;System.out.printin("Starting location:"
;System.out.printin("X equals " + location.x)
;System.out.printin("Y equals " + location.y)
;System.out.printin("\nMoving to (7, 6)")
jlocation.x = 7
jlocation.y = 6
;System.out.printin("\nEnding locatio:
;System.out.printin("X equals " + location.x)
;System.out.printin("Y equals " + location.y)
صفحه 41:
3
* همان طور که ملاحظه کردید. متغیر کلاس متغیری است. که
تعريف و مقدار دهى oop MUL BEY ol انجام ك3
متغير براى تمام نمونه هاى كلاس ثابت است. در واقع تفاوت اين
ا at ل ۱
متغيرها در يكى از نمونه هاى كلاس تغيير كند, اين تغيير مقدار
tree ea ۱
متغفیرهای نمونه این طور نیست.
۲ و وو۱>(
static String surname = “Igwebuike
;String name
حانك عليالك
1
صفحه 42:
نكات
the ا ا 0 01000
مى كنيم.
FamilyMember dad = new
;()FamilyMember
System.out.printin(“Family’s surname
jis :” + dad.surname)
System.out.printin(“Family’s surname
دار : ” + FamilyMember.surname)
صفحه 43:
نكات و مثال
* فراخوانی متدها نیز مانند فراخوانی متغیرها می باشد.
class CheckString }
public static void main(String arguments[]) }
۵6۱۱6۷6 ۷۳۱۱ ۱ ,۱:۴6 اعم باحصا صل String str
;"reincarnation
;System.out.printin("The strin Cia}
اس string: " + str. ۶ )5۷5۲6۳۰۵۵۰۵۲۱۵۲۱
ede character at position 7: " لت
دق رت 2
System.out.printin("The substring from 24 to 31: "
;str.substring(24, 31))
System.out.printin("The index of the character x: " +
FS tel lats (=> 40h > aD)
System.out.printin("The index of the beginning of the " +
“substring
swill\": " + strindexOf("will")"\
System.out.printin("The string in upper case: " +
;str.toUpperCase())
1
صفحه 44:
متدهای کلاس
۳ باشند. Pee) CHT pee CreRgeD CMT SE pera
Oy ا ا et el od le nee ys)
مثال res) Cee)
کلاس 5۳1۱ متدی دارد که می تواند انواع متفاوت
51۲1۲9 داده ای را پپذیرد و نمونه ای جدید از کلاس
۱ PY CON MY ee PIs Re A)
;String sl, s2
7’s1 = “item
3s2 = sl.valueOf(5)
782 = String.valueOf(5)
صفحه 45:
۷ ضمناً متدهای کلاس برای جمع آوری متدهایی با کاربرد مشابه
۱
Fen ree a Sev MIbCH BL Lals scemeryry
eee aC RC a Berd SR oa با
موضوع متد (۷10.۲۳3) را در نظر بگیرید. این متد دارای
دو آر گومان است و مقدار آر گومانی را که بزر گتر است. را باز
می گرداند.
int maximumPrice = Math.max(firstPrice,
;SecondPrice)
صفحه 46:
ارجاع به اشياء
و
تلا ات مت ول
توت رات ۱
public static void main (String arguments[]) }
Point pti, pt2;
غعء زطه غمنمم
X:200
وتو
pt1 = new Point(100, 100); ptl_.
x:200
5 غم د هام
۸/۳۹
0
:01.۷ 2 0
;System.out.printin(“Point1: * + pt1.x + *, “ + ptl.y)
PNM i esi Ge) ee “ + (/ا.2غم + “ ,“ + كا. 62م
{
{
صفحه 47:
fOr To) ee re eee)
"" تبديل نوع داده يك متغير به نوع ديكر را 351) مى
ع ا ا ا ۱
eC ey ا ا ا ل ل ار
"" تبديل يك نوع داده اى اوليه به شىء و سيس بازكرداندن
به همان نوع داده اى اوليه
SS ial ل ا ا ل ير
صفحه 48:
1 ee
1
کند و عموما جهت تبدیل انواع عددی به کار می رود. روش
انجام عمل تبديل به صورت زير است:
;value (type_name)
الل ۸ ۸
نکته: عمل تبدیل نوع در مورد متغیرهای منطقی قابل انجام
۱۳ MOR SES Et ا
CSU POR FeSO RR oop ercan Neer cre h
7” el eee een one pemeer Serorn yy |
صفحه 49:
تبديل نوع اشياء
MP ES Sear d die رخات
این است که کلاسهای آنها باید از طریق ورائت با یکدیگر
مرتبط باشند.
م نكته: تمام زير كلاسها را مى توان به جاى كلاس والد استفاده
كرد. براى مثال متدى را.در نظر بكيريد, كه داراى دو 1
ركومان مى باشدء آركومان اول از نوع ©0126 و آركومان
دوم از ل 0
Po eat) Ce ea SEP WIR el TOMI ECC any
Po SMO BIR e aoe eee eo) °) [Lo aged Cages
FileDialog. Dialog sles 51 ulsi (0 9
دراو ۳۳۳۳
صفحه 50:
رس ی و ی
مثال:
70Employee emp = new Employee
vicePresident veep = new
3(vicePresident
emp = veep; //no cast need for
;upward use
veep = (vicePresident)emp; //must
35 ۷۷
صفحه 51:
| ee
0000010 ا eS Fs Pe eevee
Py ete a Po Cae RON RO CN SE es
دا و
کلاسها با حروف بزرگ شروع می شود در حالی که نام انواع
داده ای با حروف کوچک. اغاز می شود. عملکرد جاوا در
ee LCS RSE ESE ا ۱
است و در صورتی که یکی از آنها به جای دیگری استفاده
شوند. خطای کامپایل ایجاد می کنند.
صفحه 52:
2 Java
"ا برای اطلاع ا ی