قواعد نحوی دستورات در زبان جاوا
یک برنامه جاوا را می توان به عنوان مجموعه ای از اشیائی تعریف کرد که از طریق فراخوانی متدهای یکدیگر با هم ارتباط برقرار می کنند. حال به طور خلاصه به بررسی کلاس، شیء، متدها و متغیرها می پردازیم.
شیء (Object)
اشیاء حالت ها و رفتارهایی دارند. مثلا یک سگ حالت هایی مانند رنگ، نام، نژاد و رفتار هایی مانند پارس کردن، غذا خوردن و غیره را دارد. یک شیء نمونه ای از یک کلاس می باشد.
کلاس (Class)
یک کلاس حالت ها و رفتارهایی که در یک شیء از نوع آن کلاس پشتیبانی می شود، را تعریف می کند.
متدها (Methods)
یک متد اساسا یک رفتار است. هر کلاس می تواند متدهای مختلفی داشته باشد. متدها معمولا برای انجام عملیات های مختلف و دستکاری داده های استفاده می شوند.
متغیرهای نمونه (Instance Variables)
هر شیء یک مجموعه منحصر به فرد از متغیرها را دارد و حالت های یک شیء توسط مقادیری که به این متغیرها اختصاص داده می شود، تعیین می شوند.
اولین برنامه جاوا
به مثال زیر که عبارت “Hello World” را در خروجی چاپ می کند، توجه کنید:
1 2 3 4 5 6 7 8 | public class MyFirstJavaProgram { /* This is my first java program. * This will print 'Hello World' as the output */ public static void main(String []args) { System.out.println("Hello World"); // prints Hello World } } |
در زیر چگونگی ذخیره فایل، کامپایل و اجرا برنامه را توضیح داده شده است:
- Notepad را باز کنید و کد زیر را اضافه کنید.
- فایل را با نام MyFirstJavaProgram.java ذخیره کنید.
- CMD را باز کرده و با استفاده از دستور cd به محلی که فایل جاوای خود را ذخیره کردید، بروید.
- سپس در CMD دستور javac MyFirstJavaProgram.java را تایپ کرده و اینتر را بزنید تا کدهای موجود در فایل جاوای شما کامپایل شوند. اگر خطای در هنگام کامپایل رخ ندهد، به خط بعدی در CMD منتقل خواهید شد (دستور javac زمانی کار خواهد کرد که متغیر PATH به درستی تنظیم شده باشد).
- حال دستور java MyFirstJavaProgram را تایپ کنید تا برنامه شما اجرا شود.
- بعد از اجرا شدن برنامه شما، عبارت Hello World بر روی صفحه CMD چاپ خواهد شد.
خروجی
1 2 3 | C:> javac MyFirstJavaProgram.java C:> java MyFirstJavaProgram Hello World |
قواعد نحوی دستورات
در برنامه نویسی به زبان جاوا، توجه به نکات زیر، بسیار مهم است:
- حساسیت به حروف (Case Sensitivity)
زبان برنامه نویسی جاوا به حروف بزرگ و کوچک حساس است. بنابراین شناسه Hello با شناسه hello متفاوت است.
- نام کلاس (Class Names)
نام گذاری کلاس ها در زبان جاوا، باید به صورت Pascal Case باشد. یعنی حرف اول تمامی کلمات باید بزرگ باشد (مثال class MyFirstJavaClass).
- نام متد (Method Names)
برخلاف کلاس ها، نام گذاری متدها، باید به صورت Camel Case باشد. به این معنی که اولین کلمه با حرف کوچک نوشته می شود و سایر کلمات با حرف بزرگ (مثال void myMethodName).
- نام فایل برنامه
نام فایل برنامه باید دقیقا مطابق با نام کلاس باشد. یعنی اگر نام کلاس ما MyFirstJavaProgram باشد، فایل برنامه ها ما هم باید با نام MyFirstJavaProgram.java ذخیره شود.
- تابع اصلی (public static void main(String args[]))
برنامه های جاوا کار خود را از تابع main آغاز می کنند. به این معنی که قبل از همه توابع این تابع اجرا می شود. توجه داشته باشید که وجود این تابع در برنامه های جاوا اجباری است.
شناسنه ها در جاوا
تمام اجزای جاوا نیاز به نام دارند. نام هایی که برای کلاس ها، متغیرها و متدها استفاده می شوند، شناسه نام دارند.
در هنگام نام گذاری شناسه ها به نکات زیر توجه داشته باشید:
- یک شناسه می تواند شامل حروف از A تا Z، a تا z، خط زیر (_)، ($) و اعداد 0 تا 9 باشد. نام یک شناسه نمی تواند با عدد آغاز شود.
- نمی توان از یک کلمه کلیدی به عنوان نام یک شناسه استفاده کرد.
- مهمتر از همه، شناسه ها حساس به حروف هستند.
- نمونه هایی از شناسه های مجاز: age، $salary، _value، __1_value
- نمونه هایی از شناسه های غیرمجاز: 123abc و –salary
Modifier ها در جاوا
مانند سایر زبان ها، با استفاده از Modifier ها می توان کلاس ها، متدها و غیره را تغیر داد. دو دسته Modifier وجود دارد:
- Modifier های مربوط به سطح دسترسی (Access Modifiers): default، public، private و protected.
- Modifier هایی که مربوط به سطح دسترسی نیستند (Non-access Modifiers) : final، abstract و strictfp.
Modifier ها در بخش بعدی با جزئیات بیشتری بررسی می شوند.
متغیرها در جاوا
در زیر لیست انواع متغیری که می توان در جاوا تعریف کرد را مشاهده می کنید:
- متغیرهای محلی (Local Variables)
- متغیرهای کلاس (Class Variables)
- متغیرهای یک شیء یا نمونه (Instance Variables)
آرایه ها در جاوا
آرایه ها اشیایی هستند که چندین متغیر از یک نوع را در خود ذخیره می کنند. با این حال، یک آرایه خود یک شیء است که در حافظه Heap قرار دارد.
Enum ها در جاوا
Enum در نسخه 5.0 جاوا معرفی شد. از نوع داده enum برای نگه داری مقادیر ثابت و بدون تغییر استفاده می شود.
با استفاده از enum ها می توان تعداد اشکالات موجود در کد را کاهش داد.
به عنوان مثال، اگر ما یک برنامه برای یک فروشگاه آب را در نظر بگیریم، می توان اندازه شیشه های آب آن فروشگاه را به صورت کوچک، متوسط و بزرگ (small، medium و large) محدود کرد. این موضوع باعث می شود تا هیچ کس نتواند، خارج از اندازه های تعیین شده، سفارشی انجام دهد.
1 2 3 4 5 6 7 8 9 10 11 | class FreshJuice { enum FreshJuiceSize{ SMALL, MEDIUM, LARGE } FreshJuiceSize size; } public class FreshJuiceTest { public static void main(String args[]) { FreshJuice juice = new FreshJuice(); juice.size = FreshJuice.FreshJuiceSize.MEDIUM ; System.out.println("Size: " + juice.size); } } |
نتیجه کد بالا به صورت زیر خواهد بود:
1 | Size: MEDIUM |
کلمات کلیدی جاوا (Java Keywords)
لیست زیر، کلمات رزرو شده در جاوا را نشان می دهد. از کلمات رزو شده نمی توان برای اسم شناسه ها استفاده کرد.
abstract | assert | boolean | break |
byte | case | catch | char |
class | const | continue | default |
do | double | else | enum |
extends | final | finally | float |
for | goto | if | implements |
import | instanceof | int | interface |
long | native | new | package |
private | protected | public | return |
short | static | strictfp | super |
switch | synchronized | this | throw |
throws | transient | try | void |
volatile | while |
کامنت ها در جاوا
پشتیبانی جاوا از کامنت های تک خطی و چند خطی بسیار شبیه به زبان C و زبان C++ می باشد. هر کاراکتری که در داخل محدوده کامنت شده نوشته شود، توسط کامپایلر جاوا نادیده گرفته می شود.
1 2 3 4 5 6 7 8 9 10 11 | public class MyFirstJavaProgram { /* This is my first java program. * This will print 'Hello World' as the output * This is an example of multi-line comments. */ public static void main(String []args) { // This is an example of single line comment /* This is also an example of single line comment. */ System.out.println("Hello World"); } } |
خروجی کد بالا:
1 | Hello World |
استفاده از خطوط خالی
خطی که تنها شامل فضای خالی و یا کامنت باشد، به عنوان خط خالی شناخته می شود و کامپایلر جاوا آن را به طور کامل نادیده می گیرد.
وراثت (Inheritance)
در زبان برنامه نویسی جاوا، یک کلاس می تواند از کلاسی دیگر مشتق شود. مثلا اگر شما نیاز به ایجاد یک کلاس جدید دارید و قبلا یک کلاس نوشته اید که برخی از کارهایی که می خواهد در کلاس جدید انجام دهید را انجام می دهد، می توانید کلاس جدید را از کلاس قبلی مشتق کنید. به عبارت دیگر کلاس جدید فرزند کلاس قبلی می شود و قابلیت های آن را به ارث می برد.
این مفهوم به شما اجازه می دهد تا از فیلدها و متدهای تعریف شده در کلاس پدر، بدون اینکه نیاز به بازنویسی آن ها باشد، در کلاس فرزند استفاده کنید. در این سناریو، کلاس موجود superclass نامیده می شود و کلاس جدید که از کلاس موجود مشتق شده است، subclass نامیده می شود.
اینترفیس (Interface)
در زبان جاوا، یک اینترفیس را می توان به عنوان یک قرار داد بین اشیاء در نظر گرفت که نحوه ارتباط این اشیاء با یک دیگر را مشخص می کند. اینترفیس ها نقش مهمی در مفهوم وراثت ایفا می کنند.
یک اینترفیس متدها را تعریف می کند و یک کلاس فرزند یا مشتق شده از این اینترفیس آن ها را پیاده سازی می کند.
مثال:
1 2 3 4 | interface Animal { public void eat(); public void travel(); } |
هیچ نظری ثبت نشده است