آموزش Java به صورت پروژه‌محور: سریع، کاربردی و حرفه‌ای |جلسه یازدهم :نحو پایه
برنامه نویسی جاوا

آموزش Java به صورت پروژه‌محور: سریع، کاربردی و حرفه‌ای |جلسه یازدهم :نحو پایه

زمانی که ما یک برنامه جاوا را در نظر می‌گیریم، می‌توان آن را به عنوان مجموعه‌ای از اشیاء تعریف کرد که از طریق فراخوانی متدهای یکدیگر با هم ارتباط برقرار می‌کنند. اکنون بیایید به طور مختصر نگاهی به مفاهیم کلاس، شیء، متدها و متغیرهای نمونه بیاندازیم.

  • شیء (Object) − اشیاء دارای حالات و رفتارها هستند. به عنوان مثال: یک سگ دارای حالات – رنگ، نام، نژاد و همچنین رفتارهایی مانند تکان دادن دم، پارس کردن، خوردن است. یک شیء نمونه‌ای از یک کلاس است.
  • کلاس (Class) − یک کلاس می‌تواند به عنوان یک الگو یا طرحی تعریف شود که رفتار/حالاتی را که اشیاء از نوع خود پشتیبانی می‌کنند، توصیف می‌کند.
  • متدها (Methods) − یک متد در واقع یک رفتار است. یک کلاس می‌تواند متدهای زیادی داشته باشد. این متدها جایی هستند که منطق نوشته می‌شود، داده‌ها دستکاری می‌شوند و تمام عملیات انجام می‌شود.
  • متغیرهای نمونه (Instance Variables) − هر شیء مجموعه‌ای منحصر به فرد از متغیرهای نمونه دارد. وضعیت یک شیء توسط مقادیری که به این متغیرهای نمونه اختصاص داده می‌شود، ایجاد می‌شود.

اولین برنامه جاوا

بیایید نگاهی به کد ساده‌ای بیاندازیم که کلمات “Hello World” را چاپ می‌کند.

مثال کامپایلر را باز کنید.

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
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
}
}
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 } }
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
   }
}

بیایید نگاه کنیم به نحوه ذخیره‌سازی فایل، کامپایل و اجرای برنامه. لطفاً مراحل زیر را دنبال کنید:

  1. Notepad را باز کرده و کد را مانند بالا وارد کنید.

  2. فایل را با نام MyFirstJavaProgram.java ذخیره کنید.

  3. یک پنجره Command Prompt باز کنید و به دایرکتوری که فایل را در آن ذخیره کرده‌اید بروید. فرض می‌کنیم که در C:\ ذخیره کرده‌اید.

  4. عبارت javac MyFirstJavaProgram.java را تایپ کرده و Enter بزنید تا کد شما کامپایل شود. اگر در کد شما هیچ خطایی نباشد، پنجره Command Prompt شما به خط بعدی خواهد رفت (فرض می‌کنیم که متغیر Path تنظیم شده است).

  5. حالا، عبارت java MyFirstJavaProgram را تایپ کنید تا برنامه شما اجرا شود.

شما قادر خواهید بود عبارت Hello World را در پنجره مشاهده کنید.

خروجی

C:\> javac MyFirstJavaProgram.java
C:\> java MyFirstJavaProgram
Hello World

نحو پایه

در مورد برنامه‌های جاوا، نکات زیر بسیار مهم است:

حساسیت به حروف بزرگ و کوچک − جاوا حساس به حروف بزرگ و کوچک است، به این معنی که شناسه‌های Hello و hello در جاوا معانی متفاوتی خواهند داشت.

نام کلاس‌ها − برای تمام نام‌های کلاس، اولین حرف باید بزرگ باشد. اگر چندین کلمه برای تشکیل نام کلاس استفاده شود، اولین حرف هر کلمه داخلی باید بزرگ باشد.

مثال − class MyFirstJavaClass

نام متدها − تمام نام‌های متد باید با حرف کوچک شروع شوند. اگر چندین کلمه برای تشکیل نام متد استفاده شود، هر کلمه داخلی باید با حرف بزرگ شروع شود.

مثال − public void myMethodName()

نام فایل برنامه − نام فایل برنامه باید دقیقاً با نام کلاس مطابقت داشته باشد.

هنگام ذخیره‌سازی فایل، باید آن را با نام کلاس ذخیره کنید (یادتان باشد که جاوا حساس به حروف بزرگ و کوچک است) و پسوند .java را به انتهای نام اضافه کنید (اگر نام فایل و نام کلاس مطابقت نداشته باشد، برنامه شما کامپایل نخواهد شد).

اما لطفاً توجه داشته باشید که اگر کلاس public در فایل وجود نداشته باشد، نام فایل می‌تواند متفاوت از نام کلاس باشد. همچنین وجود کلاس public در فایل الزامی نیست.

مثال − فرض کنید نام کلاس MyFirstJavaProgram است. در این صورت فایل باید به صورت MyFirstJavaProgram.java ذخیره شود.

public static void main(String args[]) − پردازش برنامه جاوا از متد main() شروع می‌شود که بخشی ضروری از هر برنامه جاوا است.

شناسه‌های جاوا

تمام اجزای جاوا نیاز به نام دارند. نام‌هایی که برای کلاس‌ها، متغیرها و متدها استفاده می‌شوند، شناسه‌ها نامیده می‌شوند.

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

  • تمام شناسه‌ها باید با یک حرف (A تا Z یا a تا z)، علامت ارز ($) یا یک زیرخط (_) شروع شوند.
  • پس از اولین کاراکتر، شناسه‌ها می‌توانند هر ترکیبی از کاراکترها را داشته باشند.
  • یک کلمه کلیدی نمی‌تواند به عنوان شناسه استفاده شود.
  • مهم‌ترین نکته این است که شناسه‌ها حساس به حروف بزرگ و کوچک هستند.

مثال‌های شناسه‌های مجازage$salary_value__1_value.

مثال‌های شناسه‌های غیرمجاز123abc-salary.

اصلاح‌کننده‌های جاوا

مانند سایر زبان‌ها، امکان تغییر کلاس‌ها، متدها و غیره با استفاده از اصلاح‌کننده‌ها وجود دارد. دو دسته از اصلاح‌کننده‌ها وجود دارد:

  1. اصلاح‌کننده‌های دسترسی − defaultpublicprotectedprivate
  2. اصلاح‌کننده‌های غیر دسترسی − finalabstractstrictfp

ما جزئیات بیشتری را در مورد اصلاح‌کننده‌ها در بخش بعدی بررسی خواهیم کرد.

متغیرهای جاوا

در جاوا، انواع مختلفی از متغیرها وجود دارد:

  1. متغیرهای محلی
  2. متغیرهای کلاس (متغیرهای استاتیک)
  3. متغیرهای نمونه (متغیرهای غیر استاتیک)

آرایه‌های جاوا

آرایه‌ها اشیایی هستند که چندین متغیر از یک نوع مشابه را ذخیره می‌کنند. با این حال، یک آرایه خود یک شیء در حافظه است. ما در فصول بعدی به نحوه اعلام، ساخت و مقداردهی آرایه‌ها خواهیم پرداخت.

ENUM‌های جاوا

ENUM‌ها در جاوا 5.0 معرفی شدند. ENUM‌ها یک متغیر را محدود به داشتن یکی از چندین مقدار از پیش تعریف شده می‌کنند. مقادیر موجود در این فهرست شمارش‌شده به نام enum شناخته می‌شوند.

با استفاده از enumها می‌توان تعداد باگ‌ها را در کد خود کاهش داد.

برای مثال، اگر یک برنامه برای یک فروشگاه آبمیوه تازه در نظر بگیریم، می‌توان اندازه لیوان را به کوچک، متوسط و بزرگ محدود کرد. این کار باعث می‌شود که هیچ فردی نتواند اندازه‌ای غیر از کوچک، متوسط یا بزرگ سفارش دهد.

مثال

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
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);
}
}
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); } }
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);
   }
}

خروجی

مثال بالا نتیجه زیر را تولید خواهد کرد

حجم: MEDIUM

توجه − enumها می‌توانند به‌طور مستقل یا داخل یک کلاس اعلام شوند. متدها، متغیرها و سازنده‌ها می‌توانند داخل enumها نیز تعریف شوند.

کلمات کلیدی جاوا

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

کلمات رزرو شده و توضیحات در جاوا

  1. abstract طبق واژه‌نامه، انتزاع کیفیتی است که با ایده‌ها به جای رویدادها سر و کار دارد.

  2. assert کلمه کلیدی assert در جاوا برای تعریف ارزیابی‌ها (assertions) استفاده می‌شود. ارزیابی یک دستور در جاوا است که صحت هرگونه فرضیاتی که در برنامه انجام شده باشد را تضمین می‌کند.

  3. boolean نوع داده boolean یکی از هشت نوع داده اولیه‌ای است که جاوا از آن پشتیبانی می‌کند. این نوع داده امکان ایجاد متغیرهایی با مقادیر بولی (true یا false) را فراهم می‌کند.

  4. break دستور break در زبان برنامه‌نویسی جاوا دو کاربرد دارد:

    • زمانی که دستور break در داخل یک حلقه استفاده می‌شود، آن حلقه بلافاصله خاتمه می‌یابد و کنترل برنامه به دستور بعد از حلقه می‌رود.
    • می‌تواند برای خاتمه دادن به یک case در دستور switch استفاده شود.
  5. byte نوع داده byte یکی از هشت نوع داده اولیه‌ای است که جاوا از آن پشتیبانی می‌کند. این نوع داده امکان ایجاد متغیرهای byte که مقادیر بایت را می‌پذیرند فراهم می‌آورد.

  6. case کلمه کلیدی case قسمتی از دستور switch است که به یک متغیر این امکان را می‌دهد که برای مقایسه با یک لیست از مقادیر آزمایش شود.

  7. catch یک استثنا (یا رویداد استثنایی) مشکلی است که در طول اجرای برنامه پیش می‌آید.

  8. char نوع داده char یکی از هشت نوع داده اولیه‌ای است که جاوا از آن پشتیبانی می‌کند.

  9. class جاوا یک زبان شی‌گرا است. یک کلاس الگو یا طرحی است که رفتار و وضعیت یک شی از نوع خود را توصیف می‌کند.

  10. const کلمه کلیدی final برای تعریف مقادیر ثابت یا متدها/کلاس‌های نهایی در جاوا استفاده می‌شود.

  11. continue کلمه کلیدی continue می‌تواند در هر ساختار کنترلی حلقه‌ای استفاده شود.

  12. default کلمه کلیدی default قسمتی از دستور switch است که به یک متغیر این امکان را می‌دهد که برای مقایسه با یک لیست از مقادیر آزمایش شود.

  13. do حلقه do...while مشابه حلقه while است، به جز اینکه حلقه do...while تضمین می‌کند که حداقل یک بار اجرا شود.

  14. double نوع داده double یکی از هشت نوع داده اولیه‌ای است که جاوا از آن پشتیبانی می‌کند.

  15. if دستور if می‌تواند با یک دستور else اختیاری همراه باشد که زمانی که عبارت بولی نادرست باشد اجرا می‌شود.

  16. enum کلاس Enum در جاوا پایه مشترک تمام انواع شمارش در زبان جاوا است.

  17. extends کلمه کلیدی extends برای وراثت خصوصیات یک کلاس استفاده می‌شود. این کلمه کلیدی به کلاس اجازه می‌دهد که ویژگی‌های یک کلاس دیگر را به ارث ببرد.

  18. final کلمه کلیدی final برای تعریف مقادیر ثابت یا متدها/کلاس‌های نهایی در جاوا استفاده می‌شود.

  19. finally کلمه کلیدی finally برای تعریف یک بلوک finally استفاده می‌شود. بلوک finally پس از بلوک try یا catch قرار می‌گیرد و همیشه اجرا می‌شود، صرف نظر از اینکه استثنایی رخ داده باشد یا نه.

  20. float نوع داده float یکی از هشت نوع داده اولیه‌ای است که جاوا از آن پشتیبانی می‌کند. این نوع داده امکان ایجاد متغیرهای float که مقادیر اعشاری را می‌پذیرند فراهم می‌آورد.

  21. for حلقه for یک ساختار کنترل تکرار است که به شما این امکان را می‌دهد که حلقه‌ای را برای تعداد خاصی دفعات به طور مؤثر بنویسید.

  22. goto دستور goto در حال حاضر توسط جاوا پشتیبانی نمی‌شود. این کلمه کلیدی برای آینده رزرو شده است. به‌عنوان جایگزین، جاوا از برچسب‌ها (labels) با دستورات break و continue پشتیبانی می‌کند.

  23. if یک دستور if شامل یک عبارت بولی است که به دنبال آن یک یا چند دستور قرار می‌گیرد.

  24. implements معمولاً کلمه کلیدی implements با کلاس‌ها استفاده می‌شود تا خصوصیات یک اینترفیس را به ارث ببرد.

  25. import کلمه کلیدی import برای وارد کردن پکیج‌ها استفاده می‌شود.

  26. instanceof کلمه کلیدی instanceof یک عملگر است که فقط برای متغیرهای ارجاعی شیء استفاده می‌شود.

  27. int نوع داده int یکی از هشت نوع داده اولیه‌ای است که جاوا از آن پشتیبانی می‌کند.

  28. interface یک اینترفیس یک نوع ارجاعی در جاوا است. شبیه به کلاس است و مجموعه‌ای از متدهای انتزاعی می‌باشد.

  29. long نوع داده long یکی از هشت نوع داده اولیه‌ای است که جاوا از آن پشتیبانی می‌کند.

  30. native کلمه کلیدی native برای تعریف متدهایی استفاده می‌شود که در خارج از جاوا (معمولاً به زبان C یا C++) پیاده‌سازی شده‌اند.

  31. new کلمه کلیدی new برای ایجاد یک شی جدید از یک کلاس استفاده می‌شود.

  32. package پکیج‌ها در جاوا برای جلوگیری از تعارض نام‌ها، کنترل دسترسی، و تسهیل در جستجو و استفاده از کلاس‌ها، اینترفیس‌ها، شمارش‌ها و الحاقات استفاده می‌شوند.

  33. private متدها، متغیرها و سازندگانی که به‌صورت private اعلام شده‌اند فقط می‌توانند در داخل کلاس خود دسترسی داشته باشند.

  34. protected اصلاح‌کننده دسترسی protected نمی‌تواند برای کلاس‌ها و اینترفیس‌ها اعمال شود.

  35. public یک کلاس، متد، سازنده، اینترفیس و غیره که به‌صورت public اعلام شده‌اند، از هر کلاس دیگری قابل دسترسی هستند.

  36. return کلمه کلیدی return برای بازگشت از یک متد استفاده می‌شود.

  37. short نوع داده short برای ذخیره اعداد صحیح کوتاه در جاوا استفاده می‌شود.

  38. static کلمه کلیدی static برای ایجاد متغیرهایی استفاده می‌شود که به‌صورت مستقل از هرگونه نمونه ساخته شده از کلاس وجود خواهند داشت.

  39. strictfp کلمه کلیدی strictfp برای اعمال دقت ثابت در محاسبات شناور استفاده می‌شود.

  40. super کلمه کلیدی super مشابه با کلمه کلیدی this است و به والدین یک کلاس اشاره دارد.

  41. switch دستور switch به شما این امکان را می‌دهد که یک متغیر را با یک لیست از مقادیر برای برابری آزمایش کنید.

  42. synchronized کلمه کلیدی synchronized برای همگام‌سازی دسترسی به متدها در محیط‌های چندریسمانی استفاده می‌شود.

  43. this کلمه کلیدی this برای شناسایی شیء جاری استفاده می‌شود.

  44. throw اگر یک متد استثنای بررسی شده را مدیریت نکند، باید آن را با کلمه کلیدی throws اعلام کند.

  45. transient کلمه کلیدی transient برای جلوگیری از سریال‌سازی یک متغیر استفاده می‌شود.

  46. try متدها برای مدیریت استثناها از ترکیب کلمات کلیدی try و catch استفاده می‌کنند.

  47. void کلمه کلیدی void برای تعریف متدهایی که هیچ مقداری باز نمی‌گردانند استفاده می‌شود.

  48. volatile کلمه کلیدی volatile برای متغیرهایی استفاده می‌شود که در محیط‌های چندریسمانی تغییر می‌کنند.

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

کامنت‌ها در جاوا

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

مثال

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
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");
}
}
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"); } }
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");
   }
}

خروجی

Hello World

استفاده از خطوط خالی

یک خط که تنها شامل فضای خالی باشد، ممکن است با یک کامنت همراه باشد، به عنوان یک خط خالی شناخته می‌شود و جاوا کاملاً آن را نادیده می‌گیرد.

وراثت در جاوا

کلاس‌ها می‌توانند از کلاس‌های دیگر مشتق شوند. به طور اساسی، اگر نیاز به ایجاد یک کلاس جدید داشته باشید و کلاسی وجود داشته باشد که بخشی از کدی که به آن نیاز دارید را داشته باشد، می‌توان کلاستان را از آن کد موجود مشتق کرد.

وراثت در جاوا به شما این امکان را می‌دهد که فیلدها و متدهای کلاس موجود را بدون نیاز به نوشتن دوباره کد در کلاس جدید، دوباره استفاده کنید. در این سناریو، کلاس موجود به عنوان کلاس والد (superclass) و کلاس مشتق شده به عنوان کلاس فرزند (subclass) شناخته می‌شود.

رابط‌ها در زبان جاوا

یک رابط (Interface) می‌تواند به عنوان یک قرارداد بین اشیاء برای نحوه برقراری ارتباط با یکدیگر تعریف شود. رابط‌ها در مفهوم وراثت نقش حیاتی دارند.

یک رابط متدهایی را تعریف می‌کند که کلاس مشتق شده (کلاس فرزند) باید از آن‌ها استفاده کند. اما پیاده‌سازی این متدها به طور کامل به عهده کلاس فرزند است.

چه چیزی در انتظار است؟

بخش بعدی به توضیح در مورد اشیاء و کلاس‌ها در برنامه‌نویسی جاوا می‌پردازد. در پایان این بخش، شما قادر خواهید بود تصویری روشن از این که اشیاء چیستند و کلاس‌ها در جاوا چه مفهومی دارند به دست آورید.

PHP از دستورات echo و print برای نمایش خروجی در مرورگر یا کنسول PHP استفاده می‌کند. هر دو ساختارهای زبان...
شناسه‌ها در ++C نام‌های منحصربه‌فردی هستند که برای شناسایی متغیرها، توابع، کلاس‌ها، آرایه‌ها و سایر آیتم‌های تعریف‌شده توسط کاربر در...
++C
کلمات کلیدی در C++ کلمات رزرو شده‌ای هستند که برای کامپایلر معنا و مفهوم خاصی دارند. این کلمات نمی‌توانند برای...
++C
ثابت‌ها به مقادیر ثابتی اشاره دارند که برنامه نباید آن‌ها را تغییر دهد و به آن‌ها لیترال (Literal) گفته می‌شود. ثابت‌ها می‌توانند...
C++ Programming Language
توکن‌های C++ کوچک‌ترین واحدهای مستقل در یک برنامه هستند که توسط کامپایلر شناسایی و پردازش می‌شوند. این توکن‌ها با هم...
C++ Programming Language
حذف فضای نام (Namespace) شما می‌توانید به‌صورت صریح از پیشوند std:: برای اشیاء و توابع کتابخانه استاندارد استفاده کنید، به‌جای اینکه از...
C++ Programming Language
1

پشتیبانی واتساپ هوش فعال