java programming languages

21
Java Programming Languages وا ا ی ج س ی و ن امه رن ب ان ن ز وادی ج رات ب هاز ب91

Upload: javadib

Post on 20-Mar-2017

262 views

Category:

Software


3 download

TRANSCRIPT

Java Programming Languages

زبان برنامه نویسی جاوا

برات جوادی

91بهــــــار

فهرست مطالب

سـکو چیست؟تاریخچه زبان برنامه نویسی موبایلقابلیت های جاوانوع داده اصلیگرامر زبان جاواساختار در زبان جاواعبارات، میدان دید و دستوراتساختار کنترلیمنابع

Index

سـکو چیست؟ از مجموعه اـست تعرـیف غیرعلـمی و کاربردی، عبارت ـیک ـسکو در

ا کنار ـهم قرارگرفتن مؤلفه های پاـیه ـسخت افزاری و نرم افزاری ـکه ـبزیربنای تهیه و اجرای یک نرم افزار را فراهم می کنند.

.سکو یک عنصر تعیین کننده در توسعه نرم افزار است فراـهم کننده ـسکو ـبه توـسعه دهنده نرم افراز پیشنهاد ـمی دـهد ـکه کد

بقیه برروی و ی طوالـن مدت ه ـب ص، نـق بدون ه ـک د کـن اجرا ی منطـق.سکوها اجرا شود

:برخی از سکوهای موبایل•Android•Symbian•IOS•Windos Phone•...

What’s Platform?

تاریخچه زبانهای برنامه نویسی موبایل

شرکــت1991ســال میالدی، Sun Microsystems تحت ای پروژــه را آغاز نمود. Greenعنوان 

افزاری جـهت کنترل دستگاه نرم ابزار ایجاد ه پروـژ ن اـی اـصلی هدف اینترنت( وset-top Box هاـیی مانـند ه ـب PDA)وـسیله ای جـهت دـسترسی

(Personal Digital Assistant) .و ... بود گروه فوق ـبا وجود ایجاد ـیک تکنولوـژی جدید قادر ـبه همسو کردن بازار

ـبا اهداف خود نبودـند و در نتیـجه فروش محـصولشان ـبا موفقیت همراه نبود.

پس از مدتی تحقیق و بررسی، اعضای گروه فهمیدندورود به عرصه اینترنت و به کارگیری تکنولوژی که با

خود، به موفقیت خواهند رسید. ابداعی

History

تاریخچه زبانهای برنامه نویسی موبایل

Gosling :در این زمینه می گوید"همه چیزی که بدنبال آن بودیم، ایجاد امکانی جهت توزیع و اجرای

برنامه ها تحت اینترنت بود."ت سـال Sun شرـک نام 1994در ا ـب ی اینترنـت ر مرورـگ ک ـی HotJtava  که

های جاوا را داشتـ، بوجود آورد. Appletتوانایی اجرایدر اختیار ( Java 1.0 ) اولـین نـسخه از زبان برناـمه سازی جاوا1995 ـسال

برنامه نویسان قرار گرفت.با ورود نسخه اول جاوا، این ابزار به سمت فعالیت هایی مانند موارد زیر

سوق پیدا نمود:فروشگاه های وب آنالینپردازش تراکنشرابط های پایگاه داده ،پلتفرم های کوچک مثل موبایلPDAکارت های هوشمند ،

History

تاریخچه زبانهای برنامه نویسی موبایل

نـسخه جدـیدjava2 ، توانـست ترکیب های جدیدی را برای انواع مختلفپلتفرم ها ایجاد کند.

ا هدف بازاریاـبی، اـین شرـکت نـسخه جدـید 2006در ـسال ـب J2 با را منتشر کرد. JavaSEو JavaEE ،JavaMEنام های

پنج هدف اصلی در زمان پیاده سازی جاوا در نظر گرفته شده است:از متدلوژی شی گرایی در این زبان بطور کامل استفاده شودقابلیت اجرای برنامه های یکسان در سیستم عامل های مختلفپشتیبانی از ویژگی های شبکه های کامپیوتریاجرای راه دور برنامه ها بصورت کامال امن کاربرد راحت و ساده زبان به کمک انتخاب اجزاء مفید سایر زبانهای

شیءگرا و استفاده از آن در جاوا

History

قابلیت های زبان جاواقابلیت ها ی زبان جاوا عبارتند از:

++ زبان جاوا شبیه بهC است مدل شی گرایی آسان تری دارداز قابلیتهای سطح پایین کمتری پشتیبانی می کندمدیریت حافظه را بطور خودکار انجام می دهدضریب اطمینان عملکرد برنامه های نوشته شده به این زبان باال استوابسته به سیستم عامل )سکو( خاصی نیستبرنامه های جاوا به صورت کدهای بیتی کامپایل می شوند

Capability

نوع داده های اصلینوع داده های اصلی جاوا عبارتند از:

byte (.128 تا 127 بیتی عالمتدار مکمل دو عدد صحیح است )8: یک-short تا 32767 بیتی عالمتدار مکمل دو عدد صحیح است )16: یک

32768.)-int : 2147483647 بیتی عالمتدار مکمل دو عدد صحیح است )32یک -(.2147483648تا long : بیتی عالمتدار مکمل دو عدد صحیح است 64یک -(.9223372036854775808تا 9223372036854775807)

float در 32: یک( بیت تک رقمی IEEE با دقت )نقطه شناور 754 است.

double در 64: یک( بیت دو رقمی IEEE با دقت )نقطه شناور 754 است.

boolean :فقط می تواند دو مقدار بگیرد :false, truechar بیت تکی )16: یک کاراکتر یونیکد \u0000 تا \uffff( یا )تا 0

65535.)

Primitive Data Type

گرامر زبان جاوا بیشتر گرامر زبان جاوا ازC++ مشتق شده است بر خالفC،++  که ترکیبی از برنامه نویسی ساخت

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

همه کدها داخل کالس نوشته می شوند و هر چیز یک شی است؛ بهجز نوع داده های اصلی

برخالف C++ ، جاوا از سربارگذاری عملگرها و وراثت چندگانه برایاین کار زبان را ساده و در جلوگیری از . کالس، پشتیبانی نمی کند

خطاهای بالقوه و ضد الگوی طراحی کمک می کندسه راه مختلف برای نوشتن توضیحات در جاوا وجود دارد: 

)استفاده از // در اول جمله توضیحات )یک خطچند خط( استفاده از */ در اول جمله و /* در آخر جمله توضیحات( استفاده از **/ در اول جمله و /* در آخر جمله توضیحات )حالت

(Javadocخاص برای

Syntax

ساختار زبان جاوابرخی از ساختارهای جاوا:

(خودکار ل نوعی Automatic Conversionتبدـی ه ـب داده نوع ک ـی ل تبدـی :)دیگر؛ درصورتیکه:

دو نوع یا یکدیگر سازگار باشند•نوع مقصد بزرگتر از نوع مبدا باشد•( خودکار ر غـی ل داده Type Castingتبدـی نوع به داده نوع ک ـی ل تبدـی :)

استفاده کنید.Castسازگار دیگر. برای تبدیل غیر خودکار باید صریحاً از ( مقادیر پیش فرض: فیلدها برخالف متغیرها، مقدار پیش فرضDefault

Value( دارند. متغیرها دارای مقدار زباله )Garbage Value.هستند )

Java Structure

Data Type Byte Short Int Long Float Double Char String Booelan

Default 0 0 0 0L 0.0f 0.0d \u0000 Null False

عبارات، دستورات، میدان دید

از متغـیر، عملـگر و متدهاـیی ـکه بر اـساس گراـمر ـآن زبان بنا عبارت :شده اند، ساخته می شوند.

:باز و بسته میدان دـید بـین اکوالد ر ا بیشـت ـی جمـعی از ـصفر دـستور اـست و ـمی تواـند هرـجا ـکه ـیک دـستور مجاز اـست مورد استفاده قرار

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

انواع عبارات می از اجرا را شـکل ـمی دهد. دـستور ـیک واـحد کاـمل توانـند داـخل ـیک دـستور توـسط پایان دادن عبارت ـبا ـیک ـسمی کولن،

ساخته شوند. نامیده می شوند. ”دستورات بیانی“دستورات زیر

عبارات جایگزینی-- هر استفاده از ++ یافراخوانی متدهاعبارات ساخت شی

Expressions, Statements, Blocks

دستورات کنترلی ،ا بکارگیری تصمیم گیری ـب دـستورات کنترـلی اجرای دـستور جاری را

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

( گیری تصمیم دســتورات درباره بخــش ,if-then, if-then-elseایــن switch( ه دـستورات حلـق ،)for, while, do-while انشعاب و دستورات )

(break, continue, return ـکه توـسط جاوا پشتیباـنی ـمی شوـند توضیح )می دهد:

False True

Control Flow Statements

Start

Is True?

Statement

Stop

دستورات تصمیم گیری

If-then دـستور :If-then از ابتداـیی ترـین دـستورات کنترـلی اـست. این دـستور ـبه برناـمه شـما ـمی گوـید ـکه فـقط اـگر ـیک آزمون خاص ارزیابی "درـست" ـشد، ـیک بـخش مشـخص از کد را اجرا کن. برای مثال کالس

Bicycle ه ترـمز برای کاـهش ـسرعت دوچرـخه اجازه دهد؛ د ـب ـمی تواـنفقط اگر دوچرخه از در حال حرکت باشد.

void applyBrakes() { // the "if" clause: bicycle must be moving if (isMoving){ // the "then" clause: decrease current speed currentSpeed--; } }

Decision Statements

دستورات تصمیم گیری

If-then-else عبارت ک ـی ی وقـت :“if” ،شود می ت" "نادرـس ی ارزیاـب ـیک راه دوـمی را برای اجرا فراـهم ـمی کند. در متد If-then-elseدـستور

applyBrakes دسـتور از د توانـی مـی ،if-then-else برخی انجام برای نبود و ترمزها د؛ وقـتی دوچرـخه در حال حرـکت اـستفاده کنـی عملیات

گرفته شدند.void applyBrakes() { if (isMoving) { currentSpeed--; } else { System.err.println("The bicycle has " + "already stopped!"); }}

Decision Statements

دستورات تصمیم گیری

Switch برخالف دـستورات :if-then و if-then-else دـستور ،switch می با انواع switchتواـند چندـین مـسیر اجرای ممـکن داشـته باشد. دـستور

اصـلی و byte، short، charداده int نوع با ن همچنـی کند. ی ـم کار enumerated کالس ،String و تعدادی کالس ویـژه که انواع داده اصلی ،

( کار می کند.Character, Byte, Short, Integerرا پوشش میدهند )int day = 5;

Switch(day){ Case 1: dayString = “Saturday”; break; Case 2: dayString = “Sunday”; break; Case 3: dayString = “Monday”; break; Case 4: dayString = “Tuesday”; break; Case 5: dayString = “Wednesday”; break; Case 6: dayString = “Thursday”; break; Case 7: dayString = “Friday”; break; default: dayString = “Invalid Input!”; break;}

Decision Statements

دستورات حلقهWhile تور دـس :while ،برگرداند را ی بوـل مقدار ک ـی د باـی ه ـک ی عبارـت

دستور بود، "درسـت" ی ارزیاـب ه نتیـج ر اـگ کند. ی ـم ی whileارزیاـب را اجرا می کند.whileدستور)ات( داخل بالک

دـستورwhile عـمل تـست عبارت را اداـمه ـمی دـهد و بالک آن را اجرا می کند تا زمانی که نتیجه ارزیابی "نادرست" شود.

Do-while تفاوت بین :while و do-while این است که class WhileDemo {

do-while عبارت را پائین حلقه public static void main(String[] args) {

;int count = 1 ارزیابی می کند؛ بنابراین دستورات داخل حلقه

do .همیشه حداقل یکبار اجرا می شوند while (count < 11) {

System.out.println("Count is: " + count);

count++;

}

}

}

Loop Statements

دستورات حلقهfor دـستور :for ج باال از مقادیر را ـیک راه فشرده برای تکرار ـیک رـن

" رجوع forفراـهم ـمی کند. برناـمه نوـیس ـها اغـلب ـبه ـآن بعنوان "حلقه ـمی کنـند؛ چون یکی از روشهای اـست ـکه حلـقه بارـها و بارـها تکرار می

شود تا زمانیکه یک شرط مخصوص برقرار است.:به یاد داشته باشید کهحلـقه را مقدار دـهی اولـیه ـمی کـند؛ ـآن یک بار ”initialization“عبارت •

اجرا می شود ارزیاـبی "نادرـست" شود، حلـقه خاتـمه می ”termination“وقـتی عبارت •

یابد.این ”increment“عبارت • شود. ی ـم احضار ه حلـق تکرار ر ـه از د بـع

عبارت برای افزایش یا کاهش یک مقدار کامال قابل قبول است.for (initialization; termination; increment) {

statement(s) }

Loop Statements

دستورات انشعابBreak تور دـس :break .برچسب بدون و دار برچـسب دارد: ل دو شـک

دیدـید و همچنـین ـمی توانید برای switchبدون برچـسب را در دـستور بدون برچسب استفاده کنید.breakپایان دادن یک حلقه از دستور

دسـتور ک دستور breakـی ن ترـی ی داخـل برچسـب بدون switch، for، while، do-while را پایان ـمی دـهد اـما دـستور break برچـسب دار یک

دستور خارجی تر را پایان می دهد:search:

for (i = 0; i < arrayOfInts.length; i++) { for (j = 0; j < arrayOfInts[i].length; j++) {

if (arrayOfInts[i][j] == searchfor) { foundIt = true; break search; } } }

Branch Statements

دستورات انشعابContinue دـستور :continue از تکرار فعـلی ـیک حلـقه for، while ـیا do-

while پایان داخـلی ترین ه ـب ـصرفنظر ـمی کند. حاـلت بدون برچـسب بدـنه حلـقه پرش ـمی کـند و عبارت شرـطی ـکه حلـقه را ـچک ـمی کند،

ارزیابی می کند. دـستورcontinue برچـسب دار از تکرار فعـلی حلـقه خارـجی ـبا برچسب

مشخص، پرش میکند.test:

for (int i = 0; i <= max; i++) { int n = substring.length(), j = I, k = 0; while (n-- != 0) { if (searchMe.charAt(j++) != substring.charAt(k++)) { continue test; } } foundIt = true; break test; }

Branch Statements

دستورات انشعابReturn انشعابـ، دـستور ن دـستور آخرـی :return اـست. دستور return

را ه متد ـک ی ه جاـی ـب را د جاری ـمی شود و کنترل از مـت باـعث خروج فراخوانی کرده بود، برمی گرداند.

دستورreturn .دو حالت دارد: یکی یک مقدار برمی گرداند و دیگری نه برای برگرداندن ـیک مقدار، ـیک مقدار )ـیا ـیک عبارت ـکه یک مقدار را

می آید:returnمحاسبه می کند( بعد از کلمه کلیدی return ++count;

مقدار نوع داده بازگشتی باید با مقدار برگشتی اعالن شده متد یکی اعالن می شود، از حالتی که مقدار برگشت voidباشد. وقتی یک متد

داده نمی شود استفاده می شود:return;

Branch Statements

References[1]http://docs.oracle.com/javase/tutorial/java/

nutsandbolts/index.html[2]http://en.wikipedia.org/wiki/Computing_platform[3]http://forum.downloadina.com/thread19025.html[4]http://sun73.persianblog.ir/post/68/[5]http://www.sampadia.com/forum/index.php?

topic=3051.0

منـابع و مـآخذ