برنامه نویسی جاوا – قسمت هفتم

یکشنبه, ۱۳ام دی , ۱۳۸۸ | ۶ دیدگاه

باز هم سلام. تولد پیامبر صلح؛حضرت عیسی؛و شروع سال نو میلادی رو به همه کسانی که طالب شادی هستند تبریک میگم. اومدیم سراغ یک یونیت دیگه. امیدوارم از این unit های پایه خسته نشده باشید و فکر نکنید که میخوام با مطرح کردن این مباحث شما رو از برنامه سازی با جاوا که کار اصلی ماست دور کنم. راستش خودم هم گاهی خسته میشم اما همیشه به این نکته می رسم که دانستن مطالب پایه؛هرچند هم وقت گیر و ملال آور باشن؛ اونقدر مهم هستن که یکبار برای همیشه براشون وقت بذاریم.چون میشه گفت تقریبا تمام ایم مباحث پایه تو بقیه زبانها تکرار میشن ؛شاید با قدری تفاوت.

یه نکته ای که دوست داشتم خوانندگان بخش آموزش جاوا بدونن این هست که من تا هرجا که بتونم کمکتون میکنم اما من خودم برنامه نویس پیشرفته جاوا نیستم و توقع نداشته باشید که هر برنامه ای رو که به من بدید قادر به نوشتنش باشم(اما هر جور که بتونم کمک میکنم).

در ضمن از دوستان میخوام نقاط ضعف unit هارو به من بگن تا بتونم تو بخش های جدید رفعشون کنم.

خوب بریم سر درس….

عملگر ها

جاوا عملگرهای operator غنی زیادی دارد و بیشتر این عملگر ها رو می تونیم تو ۴ دسته تقسیم کنیم: ۱- عملگرهای حسابیarithmetic  ۲- عملگرهای بیتی bitwise 3- عملگرهای منطقی logical و ۴- عملگرهای رابطه ای relational . جاوا همچنین چند عملگر اضافی دارد که شرایط ویژه را مدیریت می کند. ما در این بخش تمامی عملگرها به جز عملگر instanceof رو که در بخش های آینده مطالعه میشه؛ عنوان خواهیم کرد.

نکته: اگر با زبانهای C/C++ آشنا هستید خوشحال باشید چون اکثر عملگرهای این زبانها مانند جاوا هستند البته با تفاوتهای اندک اما به طور خاص خواندن دقیق این فصل رو به شما توصیه میکنیم.

عملگرهای حسابی

این عملگرها به همان صورت که در جبر به کار می روند در جملات حسابی به کار برده خواهند شد. فهرست این عملگرها رو با هم می بینیم:

عملگر نتیجه
+ جمع
تفریق
* ضرب
/ تقسیم
% باقیمانده تقسیم
++ افزایش
=+ جمع و تخصیص
=- تفریق و تخصیص
=* ضرب و تخصیص
=/ تقسیم و تخصیص
=% باقیمانده تقسیم و تخصیص
کاهش

عملوندهای operand عملگرهای حسابی باید از نوع عددی باشند.آنها را نمی توانید همراه با داده های نوع Boolean به کار ببرید اما می توان آنها را برای داده های نوع char به کار ببرید چون char در جاوا اساسا زیرمجموعه ای ازint است.

عملگرهای حسابی پایه

عملیات حسابی پایه basic –جمع ؛تفریق ؛ ضرب ؛تقسیم- همانگونه ای عمل می کنند که برای داده های عددی انتظار دارید. عملگر “-” یک فرم یگانگی دارد که فقط عملوندش را منفی می کند. به خاطر داشته باشید که وقتی عملگر تقسیم(/) با داده های صحیح به کار برده می شود ؛ حاصل تقسیم فاقد بخش اعشاری خواهد بود.قطعه برنامه زیر عملکرد عملگرهای حسابی را نشان می دهدو تفاوت بین تقسیم اعداد صحیح و تقسیم اعداد اعشاری را بیان می کند:


//demonstrate the basic arithmetic operators.
Class BasicMath{
Public static void main(string args[] )
//arithmetic using integers
System.out.println(“integer Arithmetic”);
Int a=1+1;
Int b=a*3;
Int c=b/4;
Int d=c-a;
Int e=-d;
System.out.println(“a=”+a);
System.out.println(“b=”+b);
System.out.println(“c=”+c);
System.out.println(“d=”+d);
System.out.println(“e=”+e);
//arithmetic using doubles
System.out .prinln(“\nFloating point Arithmetic”);
Double da=1+1;
Double db=da*3;
Double dc=db/4;
Double dd=dc-a;
Double de=-dd;
System.out.println(“da=”+da);
System.out.println(“db=”+db);
System.out.println(“dc=”+dc);
System.out.println(“dd=”+dd);
System.out.println(“de=”+de);
}
}

Out put:
Integer Arithmetic
A=2
B=6
C=1
D=-1
E=1
Floating point Arithmetic
Da=2.0
Db=6.0
Dc=1.5
Dd= -0.5
De=0.5

عملگر باقیمانده تقسیم
عملگر باقیمانده تقسیم؛ % باقیمانده تقسیم را بر می گرداند. این عملگر را می توان هم برای اعداد اعشاری با ممیز شناور و هم برای انواع داده های صحیح به کار برد. این قطعه برنامه عملکرد این برنامه را نشان می دهد:

//demonstrate the % operator
Class modulus{
Public static void main(string args[]){
Int x=42;
Double y=42.25;
System.out.println(“x mod 10 =”+x%10);
System.out.println(“y mod 10=” +y%10);
}
}

Out put:
X mod 10 =2
Y mod 10 =2.25

عملگر های تخصیص
جاوا عملگرهای ویژه ای دارد که با استفاده از آنها می توان یک عمل حسابی را با عمل تخصیص ترکیب نمود. عباراتی چون عبارت زیر در برنامه سازی متداولند:

A=a+4;
A +=4 ;

در عبارت بالا از عملگر”=+” استفاده شده است. عملکرد هر دو عبارت یکسان است: مقدارa را به اندازه ۴ واحد افزایش می دهند.
عملگرهای تخصیص برای تمام عملگرهای حسابی باینری موجودند. از این رو هر عبارت به شکل زیر

Var = var op expression;

را می توان به این صورت بازنویسی کرد:

Var op=expression;

عملگرهای تخصیص دو فایده دارند.نخست اینکه در حجم کار تایپ قدری صرفه جویی می شود؛ چرا که “فرم کوتاه” معادل خود هستند. دوم اینکه پیاده سازی آنها در سیستم زمان اجرای جاوا ؛ کارآمدتر از معادلشان است. به خاطر این دلایل اغلب این عملگرها را برنامه های حرفه ای جاوا خواهید دید.

افزایش و کاهش
“++” و”- -” عملگرهای افزایش و کاهش جاوا هستند.این عملگرها چند خصوصیت ویژه دارند که آنها را کاملا جذاب کرده اند.. بحث خود را با مرور دقیق عملکرد این دو عملگر آغاز می کنیم:
عملگر افزایش ؛ یک واحد به عملوند خود می افزاید و عملگر کاهش نیز یک واحد از عملوند خود می کاهد برای مثال:

X=x+1 ;

این عبارت را می توان به این صورت نیز نوشت:

X ++ ;

برای کاهش نیز دقیقا می توان از عبارت x- -; به جای x=x – ۱; استفاده کرد.این عملگرها از این جهت می توانند به صورتpostfix (عملگر پس از عملوند قرار گیرد) و همینطور prefix(عملگر پیش از عملوند قرار گیرد) باشند؛ منحصر به فرد است. در جملاتی که دکر شد هیچ فرقی بین جملات postfix و prefix وجود ندارد اما وقتی از این عملگرها در بخشی از یک عبارت جبری استفاده کنیم؛ تفاوتهایی جزیی ولی بسیار تاثیر گذار به وجود می آید.
در جملات جبری در فرم postfix پیش از آنکه از مقدار متغیر در جمله استفاده شود عملوند افزایش یا کاهش می یابد و در فرم prefix مقدار در جملات جبری به کار می رود و پس از آن عمل افزایش یا کاهش روی آن انجام می شود.
مسئله خیلی ساده ای است ولی اگر به آن بی توجه ای شود نتیجه جمله جبری شما با ۱۸۰ درجه اختلاف نمایان می شود.
(راستش خودم هم از عنوان این بحث ها خسته شدم چون توC++ هم دقیقا همین مطالب رو داشتیم اما وظیفه حکم میکند برای دوستانی که جاوا زبان اول آنها برای آموزش است ؛ مطالب رو دقیق عنوان کنم)

عملگرهای بیتی
جاوا چندین عملگر بیتی دارد که می توان با انواع داده های صحیحlong,int,short,char و byte به کار برد. این عملگرها بر روی یکایک بیت های عملوند خود عمل می کنند. فهرست این عملگرها را در جدول خواهیم دید:

عملگر نتیجه
Not یکانی بیتی
& And بیتی
| Or بیتی
^ Xor بیتی
>> شیفت به راست
>>> شیفت به راست با صفر اضافی
<< شیفت به چپ
&= And بیتی و تخصیص
!= Or بیتی و تخصیص
^= Xor بیتی و تخصیص
>>= شیفت به راست و تخصیص
>>>= شیفت به راست و تخصیص با صفر اضافی
<<= شیفت به چپ و تخصیص

از آنجایی که عملگرهای بیتی ؛ بیت های اعداد صحیح را پردازش و مدیریت می کنند؛ مهم است که با تاثیر این چنین پردازشها بر روی مقادیر آشنا  باشیم.

بخصوص اینکه دانستن اینکه جاوا چطور مقادیر صحیح را ذخیره می کند و چکونه اعداد منفی را نمایش می دهد؛ مفید خواهد بود بنابراین این دو موضوع را شرح خواهیم داد.

تمام اعداد صحیح به وسیله اعداد باینری به طول متغیر نمایش داده می شوند. مثلا مقدار ۸۴ نوع byte ؛۰۰۱۰۱۰۱۰ است که ارزش مکانی هر رقم؛ توانی از ۲ است. ارزش مکانی سمت راست ترین بیت؛ ۲۰ است. ارزش مکانی بیت سمت چپ آن ۲۱ یا ۲ است و این عملیات به همین صورت ادامه خواهد یافت  پس برای مثال در مورد عدد صفر و یک بالا این عملیات را برای تبدیل آن از حالت باینری به دسیمال انجام خواهیم داد:

۰*۲۰+۰*۲۱+۱*۲۲+۰*۲۳+۱*۲۴+۰*۲۵+۱*۲۶+۰*۲۷=۰+۰+۴+۰+۱۶+۰+۶۴=۸۴

انواع داده های صحیح ؛ (به غیر از char ) اعداد صحیح علامت دار هستند یعنی نمایانگر مقادیر مثبت و منفی هستند. جاوا از نوعی روش رمز گذاری به نام”مکمل ۲ ” استفاده می کند که در آن اعداد منفی از طریق معکوس کردن تمام بیت ها( تبدیل یک ها به صفر و بالعکس) و سپس افزودن یک واحد به حاصل ؛ نمایش داده می شوند. برای مثال ۸۴- با معکوس کردن تمام بیت های عدد ۸۴ (یا ۰۰۱۰۱۰۱۰) که نتیجه اش ۱۱۰۱۰۱۰۱ است و سپس افزودن یک واحد به آن نمایش داده می شود(یعنی ۱۱۰۱۰۱۱۰). برای رمزگشایی هر عدد منفی نخست تمام بیت ها را معکوس کنید و سپس یک واحد به نتیجه آن بیفزایید.
چنانچه مسئله “zero crossing” را در نظر بگیرید درک دلیل استفاده جاوا(و اکثر زبانهای دیگر)از مکمل ۲ آسان می شود. با فرض اینکه صفر از نوع byte است؛ نمایش باینری آن به صورت۰۰۰۰۰۰۰۰ می شود . در روش مکمل ۱ نتیجه معکوس کردن بیت ها؛ ۱۱۱۱۱۱۱۱است که نمایانگر صر منفی است. مشکل اینجاست که صفر منفی در ریاضیات بی مفهوم است. این مشکل با استفاده از مکمل ۲ برای نمایش مقادیر منفی حل می شود. وقتی از مکمل ۲ استفاده می کنید یک واحد به نتیجه معکوس شده اضافه می گردد که نتیجه آن۱۰۰۰۰۰۰۰۰ می شود. این کار سبس یک شدن بیت منتهی الیه سمت چپ می شود که در داده های نوع بایت جایی نخواهد داشت و بنابراین رفتار مورد نظر حاصل شده و ۰- همان ۰ استو ۱۱۱۱۱۱۱۱ مقدار رمزگذاری شده ۱- خواهد بود.

عملگرهای منطقی بیتی
این عملگرها را در جدول زیر خواهید دید:

-A

A^B

A&B

A|B

B

A

۱

۰

۰

۰

۰

۰

۰

۱

۰

۱

۰

۱

۱

۱

۰

۱

۱

۰

۰

۰

۱

۱

۱

۱

NOT بیتی

عملگر یگانی (~)NOT1 که مکمل بیتیbitwise complement نیز نامیده می شود؛تمام بیت های عملوند خود را معکوس می کند.

AND بیتی

چنانچه هر دو طرف عملوند عملگر AND(&) یک باشد؛ حاصل نیز یک خواهد بود در غیر این صورت در تمام حالات دیگر؛ صفر است.

OR بیتی

عملگر OR(|) اگر تنها یکی از عملوند هایش یک باشد؛ حاصل یک خواهد داشت در غیر این صورت صفر است.

XOR بیتی

عملگر XOR(^) در صورتی که عملوند هایش هر دو مشابه باشند مثلا هر دو صفر یا هر دو یک باشند حاصل صفر را نمایش می دهد و اگر متفاوت باشند حاصل یک را نمایش خواهد داد.

شیفت به چپ

عملگر شیفت به چپ(<<) تمام بیت های عملوندش را به اندازه تعداد دفعات مشخص شده به سمت چپ انتقال می دهد. برای درک بهتر با یک مثال توضیح می دهم:

عدد مورد نظر: ۶۴

تبدیل عدد از حالت دسیمال به باینری: ۰۰۰۰۰۰۰۱

۰۰۰۰۰۰۰۱<<2

یعنی می خواهیم حالت باینری عدد ۶۴ را۲ بار به چپ shift یا انتقال بدهیم:

۰۱۰۰۰۰۰۰

۱۰۰۰۰۰۰۰

وقتی مقادیر نوع byte وshort را شیفت می دهید؛ عمل ارتقاء خودکار جاوا منجر به تولید نتایج غیر منتظره می شود. همانگونه که می دانید؛ وقتی یک جمله جبری ارزیابی می شود؛ مقادیر نوع byte و short به نوعint ارتقاء می یابند.علاوه بر آن نتیجه یک چنین جمله ای نیزint خواهد شد. این بدین معناست که نتیجه شیفت به چپ در مقادیر byteو short ؛int می شودو بیت های شیفت شده هم تازمانی که از موقعیت ۳۱ ام نگذرند؛ از دست نمی روند.چون نتیجه هر شیفت چپ؛ دو برابر شدن مقدار اولیه است .برنامه سازان از این امر به عنوان یک جایگزین کارآمدتر برای ضرب در ۲ استفاده می کنند.

شیفت به راست

عملگر شیفت به راست(>>) تمام بیت های عملوندش را به اندازه تعداد دفعات مشخص شده به راست انتقال می دهد.وقتی مقداری را به راست شیفت می دهیم؛ آن مقدار بر ۲ تقسیم می شود و باقیمانده نادیده انگاشته می شود.

عملگر بیتی و تخصیص

تمام عملگرهای بیتی باینری فرم کوتاهی دارند که مشابه عملگرهای جبری است که عمل تخصیص را با عمل بیتی ترکیب می کنند. برای مثال چند عملگر بیتی و تخصیص آنها را می بینیم:

A=a>>4 ;
a>>= 4 ;
a=a|b ;
a|=b ;

عملگر های رابطه ای

عملگر های رابطه ای relational رابطه یک عملوند را نسبت به یک عملوند دیگرش مشخص می کند. این عملگرها تساوی و ترتیب عملوند ها را تعیین می کند:

عملگر نتیجه
== مساوی است با
=! مخالف است با
> بزرگتر از
< کوچکتر از
>= بزرگتر یا مساوی با
<= کوچکتر یا مساوی با

نتیجه این عملیات یک مقدار بولی است. عملگر های رابطه ای بیشتر در جملات جبری که عبارت if را کنترل می کنند و همین طور در حلقه های گوناگون به کار برده می شود.

اگر تجربه کار با C/C++ را دارید؛ لطفا به نکته زیر دقت کنید. انواع عبارات زیر در C/C++ بسیار متداولند:

Int done;
//…
If(!done) …  //valid in C/C++
If(done) …   // but not in java.

عبارت بالا در جاوا اینگونه نوشته می شود:

If(done==0)…  //this is java style.
If(done != 0) …  //

دلیل این امر آن است که تعریفtrue و false در جاوا همچون C/C++ نیست.true در C/C++ ؛ هر مقدار مخالف صفر است و false نشانگر مقدار صفر. True و false در جاوا مقادیر غیر عددی هستند که ارتباطی با صفر و غیر صفر ندارند. بنابراین برای مقایسه با صفر و غیر صفر؛ باید از یک یا چند عملگر رابطه ای استفاده کنید.

عملگرهای منطقی بیتی
این عملوند ها تنها برای نوع Boolean قابل استفاده هستند. تمام عملگرهای منطقی بولی دو مفدار نوع Boolean را با هم ترکیب می کنند تا نتیجه یک مقدار نوعboolean شود.

عملگر نتیجه
& ANDمنطقی
| OR  منطقی
^ XOR منطقی
|| OR اتصال کوتاه
&& AND اتصال کوتاه
! NOT یگانی منطقی
&= AND و تخصیص
|= OR و تخصیص
^= XOR و تخصیص
== مساوی است با
!= مخالف است با
?: If-then-else سه تایی

عملکرد عملگرهای بولی منطقی(&,|,^) بر روی مقادیر بولی همچون عملکردشان بر روی بیت های یک عدد صحیح است. عملگر منطقی “!” وضعیت بولی را معکوس می کند: !true=false و !false=true نتایج را در جدول زیر می بینیم:

!A

A^B

A&B

A|B

B

A

true

false

false

false

false

False

false

true

false

true

false

True

true

true

false

true

true

False

false

false

true

true

true

true

عملگرهای منطقی اتصال کوتاه

جاوا دو عملگر بولی جالب دارد که در بسیاری از زبانهای کامپیوتری دیگر وجود ندارد. این عملگر ها؛ نگارشهای ثانویه دو عملگر  AND و OR بولی هستند و تحت عنوان عملگرهای منطقی”اتصال کوتاه” short-circuit شناخته شده اند. همانگونه که از جدول قسمت قبل مشخص است؛ نتیجه عملگر OR زمانی true است کهA مقدارشtrue باشد؛ صرفنظراز مقدارB .همین طور حاصل عملگر AND زمانیfalse است کهA مقدارش false باشد؛ صرفنظر از مقدارB .اگر به جای فرم های | و & این عملگرها از دو فرم || و&& استفاده کنید؛ در آن صورت چنانچه جاوا بتواند نتیجه جمله شرطی را تنها به وسیله عملوند سمت چپ تعیین کنید؛ در آن صورت دیگر عملوند سمت راست را ارزیابی نخواهد کرد. این امر برای مواقعی که عملوند سمت راستtrue یا false بودن عملوند سمت چپ وابسته باشد؛ بسیار مفید است. در مثال زیر نشان می دهیم چگونه با استفاده از ارزیابی منطقی اتصال کوتاه می توانید پیش از یک عمل تقسیم اطمینان حاصل کنید که حاصل آن درست خواهد بود یا خیر:

If (denom != 0 && num/ denom >10)

چون از فرم اتصال کوتاه AND (&&) استفاده شده است؛ احتمال بروز استثنایexception “زمان-اجر” به دلیل صفر بودن denom از بین می رود. اگر این سطر با استفاده از نگارش & عملگر AND نوشته شود؛ می بایست هر دو طرف عملگر منطقی ارزیابی می شد و در نتیجه استثنای”زمان –اجرا” در صورت صفر بودن denom پیش می آمد.
خوب است در مواقعی که با منطق بولی سروکار دارید از فرم های اتصال کوتاهAND وOR استفاده کنید و نگارشهای تک نمادی را صرفا برای عملیات بیتی باقی بگذارید. اما این قانون استثنا هم دارد. عبارت زیر را در نظر بگیرید:

If (c==1 & e++ <100) d=100;

استفاده از& در اینجا تضمین می کند که افزایش مقدار e صرفنظر از یک بودن مقدارc انجام می شود.

عملگر تخصیص
عملگر تخصیص با علامت “=” نشان داده می شود. عملکرد عملگر تخصیص در جاوا همچون سایر زبانهای کامپیوتری است.

Var = expression ;

نوع داده var باید به نوع expression سازگار باشد.
عملگر تخصیص ویژگی جالبی دارد که شاید با آن آشنا نباشید. امکان ایجاد زنجیره ای از عملیات تخصیص را فراهم می سازد. به عبارت زیر توجه کنید:

Int x,y,z ;
X=y=z=100; // set x,y,z to 100

دلیل میسر بودن اید ویژگی آن است که “=” عملگری است که نتیجه آن ؛ سمت راست عبارت است. از این رو مقدار z=100 ؛ ۱۰۰ است که به y تخصیص می یابد و آن نیز به نوبه خود به x تخصیص می یابد. استفاده از زنجیره تخصیص روش آسانی برای نسبت دادن یک مقدار مشترک به گروهی از متغیر ها ست.

عملگر ?
جاوا نوعی عملگر سه تایی ternary ویژه دارد که می تواند جانشین برخی از انواع خاص عبارتهای if-then-else شود. این عملگر؛ “?” است. ممکن است در نگاه اول این عملگر گیج کننده به نطر بیاید اما پس از تسلط یافتن بر آن می توانید به شکل موثری از آن استفاده کنیدو شکل کلی این عملگر به این صورت است:

Expression 1 ? expression2: expression 3

Expression1 میتواند هر جمله ای با حاصل نوعboolean باشد. اگر حاصل آن true باشد در آن صورت expression2 ارزیابی می شود در غیر این صورت expression3 ارزیابس می شود. نتیجه عملگر ? همان نتیجه ارزیابی جملات آن است. حاصل هر دو جملهexpression2 وexpression3 باید از یک نوع باشذ و نمی تواند void باشد. قطعه برنامه زیر کاربرد عملگر”?” را نشان می دهد.برنامه از این عملگر برای به دست آوردن قدر مطلق یک متغیر استفاده می کند:

//demonstrate ?.
		Class Ternary{
Public static void main(string args[]) {
Int I,k ;
I=10;
K=i<0 ? –I : I ;  //get absolute value of I
System.out.print(“Absolute value of “ );
System.out.println(i+”is”+k);
I=-10;
K=i<0?-i:I //get absolute value of i
System.out.print(“Absolute value of”);
System.out.println(i+”is”+k);
}
}

Out put:
Absolute value of 10 is 10
Absolute value of-10 is 10

تقدم عملگرها

جدول زیر ترتیب اولویت ها را نشان می دهد. سطر اول شامل عملگرهایی است که عموما به آنها توجه نمی کنیم. عملگرهایی مانند (),[],(.) این موارد را جداساز می نامیم اما عملکرد آنها در جملات جبری همچون عملگرهاست. پرانتز ها برای تغیر تقدم یک عمل به کار برده می شود.[] برای امکان مشخص کردن ایندکس آرایه به کار می رود و (.) برای

ارجاع به شی ء ها استفاده می شود.

بالاترین
() []
++ ~ ~
* / %
+
>> >>> <<
> => < <=
== !=
&
^
|
&&
||
?:
= Op=
پایین ترین

کاربرد پرانتز ها

پرانتز ها ؛ تقدم عملیات مندرج در بین خود را افزایش می دهد. این کار اغلب برای به دست آوردن نتیجه مورد نظر ضروری است.

a>>b+3

در جمله بالا ابتدا ۳ واحد به b افزوده می شود و سپسa به اندازه نتیجه حاصل به سمت راست شیفت داده می شود. این جمله را می توان با استفاده از پرانتزهای اضافی به صورت زیر بازنویسی کرد:

a>>(b+3)

اما اگر می خواهید ابتدا a را به اندازه طولb مرتبه شیفت دهید و سپس ۳ واحد به نتیجه آن بیفزایید اینگونه عمل کنید:

(a>>b)+3

پرانتز ها علاوه بر تغییر تقدم معمول یک عبارت؛ گاهی برای کمک به شفاف کردن مفهوم جملات جبری به کار برده می شوند.
یک نکته دیگر: پرانتز ها در کل موجب کاهش کارایی برنامه تان نمی شوند بنابراین افزودن پرانتز ها برای کاهش ابهام برنامه ها؛ تاثیر منفی بر آنها نخواهد داشت.
خوب این unit هم تموم شد. از unit آینده وارد مسائل جدی تر زبان جاوا می شیم و این مسائل را با عبارات کنترلی شروع می کنیم.
باز هم مثل همیشه اگر سوالی داشتید به این آدرس ؛ایمیل بفرستید:
schoneDame2294@yahoo.com
برای یکدیگر آرزوهای خوب داشته باشید شاید از تکرار این آرزوهای خوب جهان تغییر کند.
مینا هوشمند

پستهای مرتبط :

برنامه نویس جاوا – قسمت ۶

برنامه نویس جاوا – قسمت ۵

برنامه نویس جاوا – قسمت ۴

برنامه نویس جاوا – قسمت ۳

برنامه نویس جاوا – قسمت ۲

برنامه نویس جاوا – قسمت ۱

Be Sociable, Share!


۶ دیدگاه


  1. مينا
    ۱۴ دی ۱۳۸۸

    ممنون از کامران که برای نویسنده های این سایت یه مشوق و همراه خوبه




  2. کامران
    ۱۵ دی ۱۳۸۸

    مرسی مینا جان، من دوست دارم اینجا جایگاهی باشه برای افرادی که دوست دارند دانششون رو بسط و گسترش بدن و با بقیه به اشتراک بگذارند




  3. میلاد ری
    ۱۵ دی ۱۳۸۸

    مینا خانم زحمت بکشید زیر هر بخش لینک قسمت های قبلی رو هم بزارید. حرفه ای تر میشه.

    از آموزشتون هم ممنون.اشکال نداره که من این رو به صورت جزوه به دانش آموزهام بدم؟




  4. مينا
    ۱۵ دی ۱۳۸۸

    چشم؛ از کامران خواهش میکنم لینک unit های قبلی رو هم در صورت امکان اضافه کنن.
    باعث افتخار من هست که بقیه هم از این درسنامه ها استفاده کنن. خیلی ممنون از نظرتون.




  5. کامران
    ۱۵ دی ۱۳۸۸

    لینک قسمت های قبلی اضافه شد.
    ببخشید کوتاهی از من بود




  6. مينا
    ۱۵ دی ۱۳۸۸

    از درسنامه آینده به بعد موضوع unit بعدی رو آخر درسنامه اضافه می کنم. دوستان می تونن سوالات احتمالی یا مثالهای جالب از اون موضوع رو به e-mail ای که آخر درسنامه ها اضافه میشه ارسال کنن تا در درسنامه ها با ذکر اسمشون از اونا استفاده کنم.
    درسنامه بعدی در مورد ساختارهای انتخابی(شرط ها) است.



دیدگاه خود را بنویسید