SlideShare a Scribd company logo
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 .‫آورد‬ ‫بوجود‬ ،‫داشت‬ ‫را‬ ‫جاوا‬ ‫های‬
‫سال‬1995‫جاوا‬ ‫سازی‬ ‫برنامه‬ ‫زبان‬ ‫از‬ ‫نسخه‬ ‫اولین‬)Java 1.0 (‫برنامه‬ ‫اختیار‬ ‫در‬
.‫گرفت‬ ‫قرار‬ ‫نویسان‬
‫سوق‬ ‫زیر‬ ‫موارد‬ ‫مانند‬ ‫هایی‬ ‫فعالیت‬ ‫سمت‬ ‫به‬ ‫ابزار‬ ‫این‬ ،‫جاوا‬ ‫اول‬ ‫نسخه‬ ‫ورود‬ ‫با‬
:‫نمود‬ ‫پیدا‬
‫آنلین‬ ‫وب‬ ‫های‬ ‫فروشگاه‬
‫تراکنش‬ ‫پردازش‬
‫داده‬ ‫پایگاه‬ ‫های‬ ‫رابط‬
،‫موبایل‬ ‫مثل‬ ‫کوچک‬ ‫های‬ ‫پلتفرم‬PDA‫هوشمند‬ ‫های‬ ‫کارت‬ ،
History
‫نویسی‬ ‫برنامه‬ ‫زبانهای‬ ‫تاریخچه‬
‫موبایل‬
‫جدیـد‬ ‫نسـخه‬java2،‫مختلف‬ ‫ع‬‌‫ا‬ ‫انوا‬ ‫برای‬ ‫را‬ ‫جدیدی‬ ‫بهای‬‌‫ا‬ ‫ترکی‬ ‫توانسـت‬
.‫کند‬ ‫ایجاد‬ ‫مها‬‌‫ا‬ ‫پلتفر‬
‫سال‬ ‫در‬2006‫جدید‬ ‫نسخه‬ ‫شرکت‬ ‫این‬ ،‫بازاریابی‬ ‫هدف‬ ‫با‬J2‫مهای‬‌‫ا‬ ‫نا‬ ‫با‬ ‫را‬
JavaEE ،JavaME‫و‬JavaSE.‫کرد‬ ‫منتشر‬
:‫است‬ ‫شده‬ ‫گرفته‬ ‫نظر‬ ‫در‬ ‫جاوا‬ ‫سازی‬ ‫پیاده‬ ‫زمان‬ ‫در‬ ‫اصلی‬ ‫هدف‬ ‫پنج‬
‫شود‬ ‫استفاده‬ ‫کامل‬ ‫بطور‬ ‫زبان‬ ‫این‬ ‫در‬ ‫گرایی‬ ‫شی‬ ‫متدلوژی‬ ‫از‬
‫مختلف‬ ‫های‬ ‫عامل‬ ‫سیستم‬ ‫در‬ ‫یکسان‬ ‫های‬ ‫برنامه‬ ‫اجرای‬ ‫قابلیت‬
‫کامپیوتری‬ ‫های‬ ‫شبکه‬ ‫های‬ ‫ویژگی‬ ‫از‬ ‫پشتیبانی‬
‫امن‬ ‫کامل‬ ‫بصورت‬ ‫ها‬ ‫برنامه‬ ‫دور‬ ‫راه‬ ‫اجرای‬
‫زبانهای‬ ‫سایر‬ ‫مفید‬ ‫اجزاء‬ ‫انتخاب‬ ‫کمک‬ ‫به‬ ‫زبان‬ ‫ساده‬ ‫و‬ ‫راحت‬ ‫کاربرد‬
‫جاوا‬ ‫در‬ ‫آن‬ ‫از‬ ‫استفاده‬ ‫و‬ ‫شیءگرا‬
History
‫جاوا‬ ‫زبان‬ ‫های‬ ‫قابلیت‬
:‫از‬ ‫عبارتند‬ ‫جاوا‬ ‫زبان‬ ‫ی‬ ‫ها‬ ‫قابلیت‬
++ ‫به‬ ‫شبیه‬ ‫جاوا‬ ‫زبان‬C ‫است‬
‫دارد‬ ‫تری‬ ‫گرایی آسان‬ ‫شی‬ ‫مدل‬
‫می کند‬ ‫پشتیبانی‬ ‫کمتری‬ ‫پایین‬ ‫سطح‬ ‫قابلیتهای‬ ‫از‬
‫دهد‬ ‫می‬ ‫انجام‬ ‫خودکار‬ ‫بطور‬ ‫حافظه را‬ ‫مدیریت‬
‫است‬ ‫بال‬ ‫زبان‬ ‫این‬ ‫به‬ ‫شده‬ ‫نوشته‬ ‫ههای‬‌‫ه‬ ‫برنام‬ ‫عملکرد‬ ‫اطمینان‬ ‫ضریب‬
‫نیست‬ ‫)سکو( خاصی‬ ‫عامل‬ ‫به سیستم‬ ‫وابسته‬
‫یشوند‬‌‫ه‬ ‫م‬ ‫بیتی کامپایل‬ ‫کدهای‬ ‫صورت‬ ‫به‬ ‫جاوا‬ ‫ههای‬‌‫ه‬ ‫برنام‬
Capability
‫اصلی‬ ‫های‬ ‫داده‬ ‫نوع‬
:‫از‬ ‫عبارتند‬ ‫جاوا‬ ‫اصلی‬ ‫های‬ ‫داده‬ ‫نوع‬
byte: ‫یک‬8) ‫است‬ ‫صحیح‬ ‫عدد‬ ‫دو‬ ‫مکمل‬ ‫علمتدار‬ ‫بیتی‬127‫تا‬128-).
short: ‫یک‬16) ‫است‬ ‫صحیح‬ ‫عدد‬ ‫دو‬ ‫مکمل‬ ‫علمتدار‬ ‫بیتی‬32767‫تا‬
32768-).
int:‫یک‬32) ‫است‬ ‫صحیح‬ ‫عدد‬ ‫دو‬ ‫مکمل‬ ‫علمتدار‬ ‫بیتی‬2147483647‫تا‬
2147483648-).
long:‫یک‬64‫است‬ ‫صحیح‬ ‫عدد‬ ‫دو‬ ‫مکمل‬ ‫علمتدار‬ ‫بیتی‬
)9223372036854775807‫تا‬9223372036854775808-).
float: ‫یک‬32‫)در‬ ‫رقمی‬ ‫تک‬ ‫بیت‬IEEE) ‫دقت‬ ‫با‬754‫است‬ ‫شناور‬ ‫نقطه‬ .
double: ‫یک‬64‫)در‬ ‫رقمی‬ ‫دو‬ ‫بیت‬IEEE) ‫دقت‬ ‫با‬754‫است‬ ‫شناور‬ ‫نقطه‬ .
boolean: ‫بگیرد‬ ‫مقدار‬ ‫دو‬ ‫تواند‬ ‫می‬ ‫:فقط‬false, true
char: ‫یونیکد‬ ‫کاراکتر‬ ‫یک‬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);
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/nutsand
bolts/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
‫مسآخذ‬ ‫و‬ ‫منسابع‬

More Related Content

PPTX
PDF
Cpusimulation
PDF
Mohamady zahedy c#
PDF
Jozve c#2 mohamady_zahedy
PPT
ODP
Go Programming Language
PPTX
DOC
رزومه باستی مهر 94
Cpusimulation
Mohamady zahedy c#
Jozve c#2 mohamady_zahedy
Go Programming Language
رزومه باستی مهر 94

Viewers also liked (20)

DOCX
CATERING ASSISTANT CV
PDF
дороги побед
PPTX
Ethnic Identities
PDF
Literary Criticism Based on the Social Psychology
DOC
ERIC NEW RESUME[1]
PPTX
Articles
PPTX
Reversible Jackets
PPTX
Lienket
PPTX
PPT
Eating the Elephant
PDF
PACS Literature Review
PPTX
Powerpoint for walmart
PDF
Socket Programming in C++
PDF
مجموعه آموزش های برنامه نویسی آردوینو با محوریت پروژه های رباتیک
PPTX
ATMEGA 328
PPT
War field spying robot
PPTX
THE VEIL FRAMEWORK
PPTX
Seminar on Body Area Networks
PPTX
War Field Spying Robot with Fire Fighting Alarm.
PPTX
Wireless Body Area Networks
CATERING ASSISTANT CV
дороги побед
Ethnic Identities
Literary Criticism Based on the Social Psychology
ERIC NEW RESUME[1]
Articles
Reversible Jackets
Lienket
Eating the Elephant
PACS Literature Review
Powerpoint for walmart
Socket Programming in C++
مجموعه آموزش های برنامه نویسی آردوینو با محوریت پروژه های رباتیک
ATMEGA 328
War field spying robot
THE VEIL FRAMEWORK
Seminar on Body Area Networks
War Field Spying Robot with Fire Fighting Alarm.
Wireless Body Area Networks
Ad

Similar to Java programming languages (20)

PPTX
Javascript
PPTX
Javascript
PPTX
مقدمه ای بر F#
PPTX
اسلاید های شروع برنامه نویسی اندروید با جاوا - مهندس سید وحید هاشمی
PPTX
مقایسه دو زبان جاوا و لیسپ درس پی ال
PDF
how enable ceph dashboard
PDF
rbdmap in ceph
PDF
Pg autoscaling in ceph
PPTX
Java script
PDF
Rbdmap ceph realease 0.2
PPTX
About Programming - persion.pptx
PPTX
آشنایی با زبان جاوا - مقدماتی اندروید
PDF
Sql tuning
PDF
Cisco Exploration 2 In Persion-Muhibullah Aman
PDF
مسیردهی و پروتوکولهای مسیریابی
PDF
How Create Waf With Naxsi
PDF
Ssh edition 2
PDF
(Linux Ubuntu Guide in Persian- Basic)رهنمود سیستم عامل اوبنتو فارسی- محب ال...
PDF
Machine & Assembly Language - Chapter 1
PPTX
سی پلاس پلاس به عنوان زبان دومی برای یادگیری شی گرایی
Javascript
Javascript
مقدمه ای بر F#
اسلاید های شروع برنامه نویسی اندروید با جاوا - مهندس سید وحید هاشمی
مقایسه دو زبان جاوا و لیسپ درس پی ال
how enable ceph dashboard
rbdmap in ceph
Pg autoscaling in ceph
Java script
Rbdmap ceph realease 0.2
About Programming - persion.pptx
آشنایی با زبان جاوا - مقدماتی اندروید
Sql tuning
Cisco Exploration 2 In Persion-Muhibullah Aman
مسیردهی و پروتوکولهای مسیریابی
How Create Waf With Naxsi
Ssh edition 2
(Linux Ubuntu Guide in Persian- Basic)رهنمود سیستم عامل اوبنتو فارسی- محب ال...
Machine & Assembly Language - Chapter 1
سی پلاس پلاس به عنوان زبان دومی برای یادگیری شی گرایی
Ad

Java programming languages

  • 1. Java Programming Languages ‫جاوا‬ ‫نویسی‬ ‫برنامه‬ ‫زبان‬ ‫جوادی‬ ‫برات‬ ‫بهــــــار‬91
  • 2. ‫مطالب‬ ‫فهرست‬ ‫چیست؟‬ ‫سـکو‬ ‫موبایل‬ ‫نویسی‬ ‫برنامه‬ ‫زبان‬ ‫تاریخچه‬ ‫جاوا‬ ‫های‬ ‫قابلیت‬ ‫اصلی‬ ‫داده‬ ‫نوع‬ ‫جاوا‬ ‫زبان‬ ‫گرامر‬ ‫جاوا‬ ‫زبان‬ ‫در‬ ‫ساختار‬ ‫دستورات‬ ‫و‬ ‫دید‬ ‫میدان‬ ،‫عبارات‬ ‫کنترلی‬ ‫ساختار‬ ‫منابع‬ Index
  • 3. ‫چیست؟‬ ‫سـکو‬ ‫مجموعه‬ ‫از‬ ‫اسـت‬ ‫عبارت‬ ،‫کاربردی‬ ‫و‬ ‫غیرعلمـی‬ ‫تعریـف‬ ‫یـک‬ ‫در‬ ‫سـکو‬ ‫زیربنای‬ ‫قرارگرفتن‬ ‫هم‬ ‫کنار‬ ‫با‬ ‫که‬ ‫مافزاری‬‌‫ا‬ ‫نر‬ ‫و‬ ‫تافزاری‬‌‫ا‬ ‫سخ‬ ‫پایه‬ ‫ههای‬‌‫ا‬ ‫مؤلف‬ .‫یکنند‬‌‫ا‬ ‫م‬ ‫فراهم‬ ‫را‬ ‫مافزار‬‌‫ا‬ ‫نر‬ ‫یک‬ ‫اجرای‬ ‫و‬ ‫تهیه‬ .‫است‬ ‫افزار‬ ‫نرم‬ ‫توسعه‬ ‫در‬ ‫کننده‬ ‫تعیین‬ ‫عنصر‬ ‫یک‬ ‫سکو‬ ‫کد‬ ‫کـه‬ ‫دهـد‬ ‫مـی‬ ‫پیشنهاد‬ ‫افراز‬ ‫نرم‬ ‫دهنده‬ ‫توسـعه‬ ‫بـه‬ ‫سـکو‬ ‫کننده‬ ‫فراهـم‬ ‫اجرا‬ ‫سکوها‬ ‫بقیه‬ ‫برروی‬ ‫و‬ ‫طولنی‬ ‫مدت‬ ‫به‬ ،‫نقص‬ ‫بدون‬ ‫که‬ ‫کند‬ ‫اجرا‬ ‫منطقی‬ ‫شود‬. :‫موبایل‬ ‫سکوهای‬ ‫از‬ ‫برخی‬ •Android •Symbian •IOS •Windos Phone •... What’s Platform?
  • 4. ‫نویسی‬ ‫برنامه‬ ‫زبانهای‬ ‫تاریخچه‬ ‫موبایل‬ ‫سال‬1991‫شرکت‬ ،‫میلدی‬Sun Microsystems ‫عنوان‬ ‫تحت‬ ‫ای‬ ‫پروژه‬Green‫را‬ .‫نمود‬ ‫آغاز‬ ‫هایی‬ ‫دسـتگاه‬ ‫کنترل‬ ‫جهـت‬ ‫افزاری‬ ‫نرم‬ ‫ابزار‬ ‫ایجاد‬ ‫پروژـه‬ ‫ایـن‬ ‫اصلی‬ ‫هدف‬ ‫ماننـد‬set-top Box‫و‬ (‫اینترنت‬ ‫بـه‬ ‫دسـترسی‬ ‫جهـت‬ ‫ای‬ ‫)وسـیله‬PDA (Personal Digital Assistant( .‫بود‬ ... ‫و‬ ‫با‬ ‫بازار‬ ‫به همسو کردن‬ ‫قادر‬ ‫جدید‬ ‫تکنولوژی‬ ‫یک‬ ‫ایجاد‬ ‫وجود‬ ‫با‬ ‫فوق‬ ‫گروه‬ .‫نبود‬ ‫همراه‬ ‫موفقیت‬ ‫با‬ ‫محصولشان‬ ‫فروش‬ ‫نتیجه‬ ‫در‬ ‫و‬ ‫نبودند‬ ‫خود‬ ‫اهداف‬ ‫فهمیدند‬ ‫گروه‬ ‫اعضای‬ ،‫بررسی‬ ‫و‬ ‫تحقیق‬ ‫مدتی‬ ‫پس از‬ ‫با‬ ‫که‬‫تکنولوژی‬ ‫کارگیری‬ ‫به‬ ‫و‬ ‫اینترنت‬ ‫عرصه‬ ‫به‬ ‫ورود‬ ‫ابداعی‬.‫رسید‬ ‫خواهند‬ ‫موفقیت‬ ‫به‬ ،‫خود‬ History
  • 5. ‫نویسی‬ ‫برنامه‬ ‫زبانهای‬ ‫تاریخچه‬ ‫موبایل‬ Gosling ‫گوید‬ ‫می‬ ‫زمینه‬ ‫این‬ ‫:در‬ ‫ها‬ ‫برنامه‬ ‫اجرای‬ ‫و‬ ‫توزیع‬ ‫جهت‬ ‫امکانی‬ ‫ایجاد‬ ،‫بودیم‬ ‫آن‬ ‫بدنبال‬ ‫که‬ ‫چیزی‬ ‫ه‬‌‫ا‬ ‫"هم‬ ".‫بود‬ ‫اینترنت‬ ‫تحت‬ ‫شرکـت‬Sun‫سـال‬ ‫در‬1994 ‫نام‬ ‫بـا‬ ‫اینترنتـی‬ ‫مرورگـر‬ ‫یـک‬HotJtava ‫توانایی‬ ‫کـه‬ ‫اجرای‬Applet .‫آورد‬ ‫بوجود‬ ،‫داشت‬ ‫را‬ ‫جاوا‬ ‫های‬ ‫سال‬1995‫جاوا‬ ‫سازی‬ ‫برنامه‬ ‫زبان‬ ‫از‬ ‫نسخه‬ ‫اولین‬)Java 1.0 (‫برنامه‬ ‫اختیار‬ ‫در‬ .‫گرفت‬ ‫قرار‬ ‫نویسان‬ ‫سوق‬ ‫زیر‬ ‫موارد‬ ‫مانند‬ ‫هایی‬ ‫فعالیت‬ ‫سمت‬ ‫به‬ ‫ابزار‬ ‫این‬ ،‫جاوا‬ ‫اول‬ ‫نسخه‬ ‫ورود‬ ‫با‬ :‫نمود‬ ‫پیدا‬ ‫آنلین‬ ‫وب‬ ‫های‬ ‫فروشگاه‬ ‫تراکنش‬ ‫پردازش‬ ‫داده‬ ‫پایگاه‬ ‫های‬ ‫رابط‬ ،‫موبایل‬ ‫مثل‬ ‫کوچک‬ ‫های‬ ‫پلتفرم‬PDA‫هوشمند‬ ‫های‬ ‫کارت‬ ، History
  • 6. ‫نویسی‬ ‫برنامه‬ ‫زبانهای‬ ‫تاریخچه‬ ‫موبایل‬ ‫جدیـد‬ ‫نسـخه‬java2،‫مختلف‬ ‫ع‬‌‫ا‬ ‫انوا‬ ‫برای‬ ‫را‬ ‫جدیدی‬ ‫بهای‬‌‫ا‬ ‫ترکی‬ ‫توانسـت‬ .‫کند‬ ‫ایجاد‬ ‫مها‬‌‫ا‬ ‫پلتفر‬ ‫سال‬ ‫در‬2006‫جدید‬ ‫نسخه‬ ‫شرکت‬ ‫این‬ ،‫بازاریابی‬ ‫هدف‬ ‫با‬J2‫مهای‬‌‫ا‬ ‫نا‬ ‫با‬ ‫را‬ JavaEE ،JavaME‫و‬JavaSE.‫کرد‬ ‫منتشر‬ :‫است‬ ‫شده‬ ‫گرفته‬ ‫نظر‬ ‫در‬ ‫جاوا‬ ‫سازی‬ ‫پیاده‬ ‫زمان‬ ‫در‬ ‫اصلی‬ ‫هدف‬ ‫پنج‬ ‫شود‬ ‫استفاده‬ ‫کامل‬ ‫بطور‬ ‫زبان‬ ‫این‬ ‫در‬ ‫گرایی‬ ‫شی‬ ‫متدلوژی‬ ‫از‬ ‫مختلف‬ ‫های‬ ‫عامل‬ ‫سیستم‬ ‫در‬ ‫یکسان‬ ‫های‬ ‫برنامه‬ ‫اجرای‬ ‫قابلیت‬ ‫کامپیوتری‬ ‫های‬ ‫شبکه‬ ‫های‬ ‫ویژگی‬ ‫از‬ ‫پشتیبانی‬ ‫امن‬ ‫کامل‬ ‫بصورت‬ ‫ها‬ ‫برنامه‬ ‫دور‬ ‫راه‬ ‫اجرای‬ ‫زبانهای‬ ‫سایر‬ ‫مفید‬ ‫اجزاء‬ ‫انتخاب‬ ‫کمک‬ ‫به‬ ‫زبان‬ ‫ساده‬ ‫و‬ ‫راحت‬ ‫کاربرد‬ ‫جاوا‬ ‫در‬ ‫آن‬ ‫از‬ ‫استفاده‬ ‫و‬ ‫شیءگرا‬ History
  • 7. ‫جاوا‬ ‫زبان‬ ‫های‬ ‫قابلیت‬ :‫از‬ ‫عبارتند‬ ‫جاوا‬ ‫زبان‬ ‫ی‬ ‫ها‬ ‫قابلیت‬ ++ ‫به‬ ‫شبیه‬ ‫جاوا‬ ‫زبان‬C ‫است‬ ‫دارد‬ ‫تری‬ ‫گرایی آسان‬ ‫شی‬ ‫مدل‬ ‫می کند‬ ‫پشتیبانی‬ ‫کمتری‬ ‫پایین‬ ‫سطح‬ ‫قابلیتهای‬ ‫از‬ ‫دهد‬ ‫می‬ ‫انجام‬ ‫خودکار‬ ‫بطور‬ ‫حافظه را‬ ‫مدیریت‬ ‫است‬ ‫بال‬ ‫زبان‬ ‫این‬ ‫به‬ ‫شده‬ ‫نوشته‬ ‫ههای‬‌‫ه‬ ‫برنام‬ ‫عملکرد‬ ‫اطمینان‬ ‫ضریب‬ ‫نیست‬ ‫)سکو( خاصی‬ ‫عامل‬ ‫به سیستم‬ ‫وابسته‬ ‫یشوند‬‌‫ه‬ ‫م‬ ‫بیتی کامپایل‬ ‫کدهای‬ ‫صورت‬ ‫به‬ ‫جاوا‬ ‫ههای‬‌‫ه‬ ‫برنام‬ Capability
  • 8. ‫اصلی‬ ‫های‬ ‫داده‬ ‫نوع‬ :‫از‬ ‫عبارتند‬ ‫جاوا‬ ‫اصلی‬ ‫های‬ ‫داده‬ ‫نوع‬ byte: ‫یک‬8) ‫است‬ ‫صحیح‬ ‫عدد‬ ‫دو‬ ‫مکمل‬ ‫علمتدار‬ ‫بیتی‬127‫تا‬128-). short: ‫یک‬16) ‫است‬ ‫صحیح‬ ‫عدد‬ ‫دو‬ ‫مکمل‬ ‫علمتدار‬ ‫بیتی‬32767‫تا‬ 32768-). int:‫یک‬32) ‫است‬ ‫صحیح‬ ‫عدد‬ ‫دو‬ ‫مکمل‬ ‫علمتدار‬ ‫بیتی‬2147483647‫تا‬ 2147483648-). long:‫یک‬64‫است‬ ‫صحیح‬ ‫عدد‬ ‫دو‬ ‫مکمل‬ ‫علمتدار‬ ‫بیتی‬ )9223372036854775807‫تا‬9223372036854775808-). float: ‫یک‬32‫)در‬ ‫رقمی‬ ‫تک‬ ‫بیت‬IEEE) ‫دقت‬ ‫با‬754‫است‬ ‫شناور‬ ‫نقطه‬ . double: ‫یک‬64‫)در‬ ‫رقمی‬ ‫دو‬ ‫بیت‬IEEE) ‫دقت‬ ‫با‬754‫است‬ ‫شناور‬ ‫نقطه‬ . boolean: ‫بگیرد‬ ‫مقدار‬ ‫دو‬ ‫تواند‬ ‫می‬ ‫:فقط‬false, true char: ‫یونیکد‬ ‫کاراکتر‬ ‫یک‬16‫تکی‬ ‫بیت‬ (u0000‫تا‬uffff) ) ‫یا‬0‫تا‬65535). Primitive Data Type
  • 9. ‫جاوا‬ ‫زبان‬ ‫گرامر‬ ‫از‬ ‫جاوا‬ ‫زبان‬ ‫گرامر‬ ‫بیشتر‬C++‫است‬ ‫شده‬ ‫مشتق‬  ‫خل ف‬ ‫بر‬C++، ‫گرا‬ ‫یافته، عمومی، شی‬ ‫از برنامه نویسی ساخت‬ ‫که ترکیبی‬ ‫شده‬ ‫گرا ساخته‬ ‫زبان شی‬ ‫انحصاری به عنوان یک‬ ‫طور‬ ‫به‬ ‫است، جاوا تقریبا‬ .‫است‬ ‫جز‬ ‫به‬ ‫است؛‬ ‫شی‬ ‫یک‬ ‫چیز‬ ‫هر‬ ‫و‬ ‫شوند‬ ‫می‬ ‫نوشته‬ ‫کل س‬ ‫داخل‬ ‫کدها‬ ‫همه‬ ‫اصلی‬ ‫های‬ ‫داده‬ ‫نوع‬ ‫برخل ف‬C++،،‫کل س‬ ‫برای‬ ‫چندگانه‬ ‫وراثت‬ ‫و‬ ‫عملگرها‬ ‫سربارگذاری‬ ‫از‬ ‫جاوا‬ ‫کند‬ ‫نمی‬ ‫پشتیبانی‬.‫و‬ ‫بالقوه‬ ‫خطاهای‬ ‫از‬ ‫جلوگیری‬ ‫در‬ ‫و‬ ‫ساده‬ ‫را‬ ‫زبان‬ ‫کار‬ ‫این‬ ‫کند‬ ‫می‬ ‫کمک‬ ‫طراحی‬ ‫الگوی‬ ‫ضد‬  :‫دارد‬ ‫وجود‬ ‫جاوا‬ ‫در‬ ‫توضیحات‬ ‫نوشتن‬ ‫برای‬ ‫مختلف‬ ‫راه‬ ‫سه‬ (‫خط‬ ‫)یک‬ ‫توضیحات‬ ‫جمله‬ ‫اول‬ ‫در‬ // ‫از‬ ‫استفاده‬ ‫توضیحات‬ ‫جمله‬ ‫آخر‬ ‫در‬ */ ‫و‬ ‫جمله‬ ‫اول‬ ‫در‬ /* ‫از‬ ‫استفاده‬(‫خط‬ ‫)چند‬ ‫برای‬ ‫خاص‬ ‫)حالت‬ ‫توضیحات‬ ‫جمله‬ ‫آخر‬ ‫در‬ */ ‫و‬ ‫جمله‬ ‫اول‬ ‫در‬ /** ‫از‬ ‫استفاده‬ Javadoc( Syntax
  • 10. ‫جاوا‬ ‫زبان‬ ‫ساختار‬ :‫جاوا‬ ‫ساختارهای‬ ‫از‬ ‫برخی‬ )‫خودکار‬ ‫تبدیل‬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
  • 11. ‫دید‬ ‫میدان‬ ،‫دستورات‬ ،‫عبارات‬ ‫عبارت‬‫شده‬ ‫بنا‬ ‫زبان‬ ‫آن‬ ‫گرامر‬ ‫اسا س‬ ‫بر‬ ‫که‬ ‫متدهایی‬ ‫و‬ ‫عملگر‬ ،‫متغیر‬ ‫از‬ : .‫شوند‬ ‫می‬ ‫ساخته‬ ،‫اند‬ :‫ید‬‫د‬ ‫میدان‬‫و‬ ‫است‬ ‫بسته‬ ‫و‬ ‫باز‬ ‫اکولد‬ ‫بین‬ ‫بیشتر‬ ‫یا‬ ‫دستور‬ ‫صفر‬ ‫از‬ ‫جمعی‬ .‫گیرد‬ ‫قرار‬ ‫استفاده‬ ‫مورد‬ ‫است‬ ‫مجاز‬ ‫دستور‬ ‫یک‬ ‫که‬ ‫هرجا‬ ‫تواند‬ ‫می‬ ‫ستور‬‫د‬‫یک‬ ‫دستور‬ .‫هستند‬ ‫طبیعی‬ ‫زبان‬ ‫در‬ ‫جملت‬ ‫معادل‬ ‫تقریبا‬ ‫دستورات‬ : ‫یک‬ ‫داخهل‬ ‫تواننهد‬ ‫مهی‬ ‫عبارات‬ ‫انواع‬ .‫دهد‬ ‫مهی‬ ‫شکهل‬ ‫را‬ ‫اجرا‬ ‫از‬ ‫کامهل‬ ‫واحهد‬ .‫شوند‬ ‫ساخته‬ ،‫کولن‬ ‫سمی‬ ‫یک‬ ‫با‬ ‫عبارت‬ ‫دادن‬ ‫پایان‬ ‫توسط‬ ‫دستور‬ ‫زیر‬ ‫دستورات‬“‫بیانی‬ ‫دستورات‬”.‫شوند‬ ‫می‬ ‫نامیده‬ ‫جایگزینی‬ ‫عبارات‬ -- ++‫یا‬ ‫از‬ ‫استفاده‬ ‫هر‬ ‫متدها‬ ‫فراخوانی‬ ‫شی‬ ‫ساخت‬ ‫عبارات‬ Expressions, Statements, Blocks
  • 12. ‫کنترلی‬ ‫دستورات‬ ‫و‬ ‫حلقه‬ ،‫گیری‬ ‫تصمیم‬ ‫بکارگیری‬ ‫با‬ ‫را‬ ‫جاری‬ ‫دستور‬ ‫اجرای‬ ‫کنترلی‬ ‫دستورات‬ ‫صورت‬ ‫بهه‬ ‫تها‬ ‫سهازند‬ ‫مهی‬ ‫قادر‬ ‫را‬ ‫شمها‬ ‫برنامهه‬ ‫و‬ ‫کنهد‬ ‫مهی‬ ‫تفکیهک‬ ‫انشعاب‬ .‫شود‬ ‫اجرا‬ ‫کد‬ ‫از‬ ‫خاصی‬ ‫بل ک‬ ‫مشروط‬ ) ‫گیری‬ ‫تصمیم‬ ‫دسهتورات‬ ‫درباره‬ ‫بخهش‬ ‫ایهن‬if-then, if-then-else, switch،( ) ‫هه‬‫ه‬‫حلق‬ ‫هتورات‬‫ه‬‫دس‬for, while, do-while) ‫انشعاب‬ ‫دستورات‬ ‫و‬ (break, continue, return:‫دهد‬ ‫می‬ ‫توضیح‬ ‫شوند‬ ‫می‬ ‫پشتیبانی‬ ‫جاوا‬ ‫توسط‬ ‫که‬ ( False True Control Flow Statements Start Is True? Statement Stop
  • 13. ‫تصمیم‬ ‫دستورات‬ ‫گیری‬ 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
  • 14. ‫تصمیم‬ ‫دستورات‬ ‫گیری‬ 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
  • 15. ‫تصمیم‬ ‫دستورات‬ ‫گیری‬ 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
  • 16. ‫حلقه‬ ‫دستورات‬ 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); Loop Statements
  • 17. ‫حلقه‬ ‫دستورات‬ for: ‫دستور‬for‫فراهم‬ ‫را‬ ‫مقادیر‬ ‫از‬ ‫بال‬ ‫رنج‬ ‫یک‬ ‫تکرار‬ ‫برای‬ ‫فشرده‬ ‫راه‬ ‫یک‬ ‫"حلقه‬ ‫بعنوان‬ ‫آن‬ ‫به‬ ‫اغلب‬ ‫ها‬ ‫نویس‬ ‫برنامه‬ .‫کند‬ ‫می‬for" ‫کنند؛‬ ‫می‬ ‫رجوع‬ ‫زمانیکه‬ ‫تا‬ ‫شود‬ ‫می‬ ‫تکرار‬ ‫بارها‬ ‫و‬ ‫بارها‬ ‫حلقه‬ ‫که‬ ‫است‬ ‫روشهای‬ ‫از‬ ‫یکی‬ ‫چون‬ ‫است‬ ‫برقرار‬ ‫مخصوص‬ ‫شرط‬ ‫.یک‬ :‫که‬ ‫باشید‬ ‫داشته‬ ‫یاد‬ ‫به‬ •‫عبارت‬“initialization”‫اجرا‬ ‫بار‬ ‫یک‬ ‫آن‬ ‫کند؛‬ ‫می‬ ‫اولیه‬ ‫دهی‬ ‫مقدار‬ ‫را‬ ‫حلقه‬ ‫شود‬ ‫می‬ •‫عبارت‬ ‫وقتی‬“termination”.‫یابد‬ ‫می‬ ‫خاتمه‬ ‫حلقه‬ ،‫شود‬ "‫"نادرست‬ ‫ارزیابی‬ •‫عبارت‬“increment”‫برای‬ ‫عبارت‬ ‫این‬ .‫شود‬ ‫می‬ ‫احضار‬ ‫حلقه‬ ‫تکرار‬ ‫هر‬ ‫از‬ ‫بعد‬ .‫است‬ ‫قبول‬ ‫قابل‬ ‫کامل‬ ‫مقدار‬ ‫یک‬ ‫کاهش‬ ‫یا‬ ‫افزایش‬ for (initialization; termination; increment) { statement(s) } Loop Statements
  • 18. ‫انشعاب‬ ‫دستورات‬ 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
  • 19. ‫انشعاب‬ ‫دستورات‬ 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
  • 20. ‫انشعاب‬ ‫دستورات‬ Return: ‫دستور‬ ،‫انشعاب‬ ‫دستور‬ ‫روتسد ،باعشنا روتسد نیرخآخرین‬return‫دستور‬ .‫است‬return‫باعث‬ ‫کرده‬ ‫فراخوانی‬ ‫را‬ ‫متد‬ ‫که‬ ‫جایی‬ ‫به‬ ‫را‬ ‫کنترل‬ ‫و‬ ‫شود‬ ‫می‬ ‫جاری‬ ‫متد‬ ‫از‬ ‫خروج‬ ‫گرداند‬ ‫برمی‬ ،‫.بود‬ ‫دستور‬return‫برای‬ .‫نه‬ ‫دیگری‬ ‫و‬ ‫گرداند‬ ‫برمی‬ ‫مقدار‬ ‫یک‬ ‫یکی‬ :‫دارد‬ ‫حالت‬ ‫دو‬ ‫می‬ ‫محاسبه‬ ‫را‬ ‫مقدار‬ ‫یک‬ ‫که‬ ‫عبارت‬ ‫یک‬ ‫)یا‬ ‫مقدار‬ ‫یک‬ ،‫مقدار‬ ‫یک‬ ‫برگرداندن‬ ‫کلیدی‬ ‫کلمه‬ ‫از‬ ‫بعد‬ (‫کند‬return:‫روتسد ،باعشنا روتسد نیرخآید‬ ‫می‬ return ++count; .‫باشد‬ ‫یکی‬ ‫متد‬ ‫شده‬ ‫اعلن‬ ‫برگشتی‬ ‫مقدار‬ ‫با‬ ‫باید‬ ‫بازگشتی‬ ‫داده‬ ‫نوع‬ ‫مقدار‬ ‫متد‬ ‫یک‬ ‫وقتی‬void‫نمی‬ ‫داده‬ ‫برگشت‬ ‫مقدار‬ ‫که‬ ‫حالتی‬ ‫از‬ ،‫شود‬ ‫می‬ ‫اعلن‬ :‫شود‬ ‫می‬ ‫استفاده‬ ‫شود‬ return; Branch Statements