java programming languages
TRANSCRIPT
فهرست مطالب
سـکو چیست؟تاریخچه زبان برنامه نویسی موبایلقابلیت های جاوانوع داده اصلیگرامر زبان جاواساختار در زبان جاواعبارات، میدان دید و دستوراتساختار کنترلیمنابع
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