آشنایی با انواع متغیرها در جاوا(JAVA)

آشنایی با انواع متغیرها در جاوا(JAVA)
خرداد ۱۸, ۱۳۹۸ No Comments javascript زهرا ابراهیمی

در این بخش از آموزش زبان جاوا  به معرفی انواع متغیرها در زبان جاوا به همراه مثال‌های ساده میپردازیم در این آموزش نیز با ما همراه باشید.

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

متغیر نوع داده[ = value][, variable [ = value] …] ;

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

در زیر نمونه های معتبر از اعلام متغیر و مقداردهی اولیه در جاوا آمده است.

مثال

int a, b, c;         // Declares three ints, a, b, and c.

int a = 10, b = 10;  // Example of initialization

byte B = 22;         // initializes a byte type variable B.

double pi = 3.14159; // declares and assigns a value of PI.

char a = ‘a’;        // the char variable a iis initialized with value ‘a’

انواع متغیر‌ها در زبان جاوا

این فصل به توضیح انواع متغیرها در زبان برنامه نویسی جاوا می پردازد. در جاوا سه نوع متغیر وجود دارد

• متغیرهای محلی

• متغیرهای نمونه

• متغیرهای کلاس / استاتیک

  متغیرهای محلی

یکی از انواع متغیرها در زبان جاوا متغیرهای محلی است.

·      متغیرهای محلی در روش ها، سازندگان یا بلوک ها اعلام می شوند.

·        متغیرهای محلی هنگامی که روش، سازنده یا بلوک وارد می شود، ایجاد می شوند و هنگامی که از روش، سازنده یا بلوک خارج می شود، متغیر از بین می رود.

·        اصلاحگرهای دسترس نمی توانند برای متغیرهای محلی استفاده شوند.

·        متغیرهای محلی فقط در روش اعلام شده، سازنده یا بلوک قابل مشاهده هستند.

·        متغیرهای محلی در سطح پشته به صورت داخلی اجرا می شوند.

·        مقدار پیش فرض برای متغیرهای محلی وجود ندارد، بنابراین متغیرهای محلی باید اعلام شود و قبل از اولین استفاده باید مقدار اولیه تعیین شود.

مثال

در اینجا سن یک متغیر محلی است. این تعریف درون روش ()pupAge تعریف شده است و آزادی عمل آن فقط به این روش محدود می شود.

public class Tes
public class Test {

   public void pupAge() {

      int age = 0;

      age = age + 7;

      System.out.println(“Puppy age is : ” + age);

   }

   public static void main(String args[]) {

      Test test = new Test();

      test.pupAge();

   }

}

نتیجه زیر را تولید خواهد شد

خروجی

Puppy age is: 7

مثال

مثال زیر از سن بدون مقدار دهی اولیه استفاده می کند، بنابراین در زمان کامپایل کردن برنامه، خطایی می یابد.

public class Test {

   public void pupAge() {

      int age;

      age = age + 7;

      System.out.println(“Puppy age is : ” + age);

   }

   public static void main(String args[]) {

      Test test = new Test();

      test.pupAge();

   }

}

اگر شما این برنامه را کامپایل کنید با خطا مواجه خواهید شد.

خروجی

Test.java:4: variable number might not have been initialized

age = age + 7;

^

۱ error

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

متغیرهای نمونه یکی دیگر از انواع متغیرها در جاوا است:

·        متغیرهای نمونه در داخل یک کلاس اما در خارج از یک روش، سازنده یا هر بلوک اعلام می شوند.

·        هنگامی که یک فضای برای یک موضوع در پشته اختصاص داده می شود، یک اسلات برای هر مقدار متغیر نمونه ایجاد می شود.

·        متغیرهای نمونه زمانی ایجاد می شوند که یک موضوع با استفاده از کلمه کلیدی “new” ایجاد میشوند و با از بین رفتن موضوع نابود می گردند.

·        متغیرهای نمونه دارای مقادیری هستند که باید توسط بیش از یک روش، سازنده یا بلوک، یا بخش های ضروری وضعیت یک موضوع که باید در کل کلاس حضور داشته باشند، ارجاع داده شود.

·        متغیرهای نمونه را می توان قبل یا بعد از استفاده در سطح کلاس اعلام کرد.

·        اصلاح گرهای دسترس می توانند برای متغیرهای نمونه داده شود.

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

·        متغیرهای نمونه دارای مقادیر پیش فرض هستند. برای اعداد، مقدار پیش فرض ۰ است، برای بولی ها این مقدار به صورت نادرست بیان می شود، و برای ارجاعات موضوع اشاره گر تهی null قرار می گیرد. مقادیر  را می توان در زمان اعلام یا درون سازنده تعیین کرد.

·        می توان به طور مستقیم با فراخوانی نام متغیر داخل کلاس به متغیرهای نمونه دسترسی پیدا کرد. با این حال، در روش های استاتیک (زمانی که متغیرهای نمونه در دسترس هستند)، آنها باید با استفاده از نام کامل ObjectReference.VariableName خوانده شوند.

مثال

import java.io.*;

public class Employee {

   // this instance variable is visible for any child class.

   public String name;

   // salary  variable is visible in Employee class only.

   private double salary;

   // The name variable is assigned in the constructor.

   public Employee (String empName) {

      name = empName;

   }

   // The salary variable is assigned a value.

   public void setSalary(double empSal) {

      salary = empSal;

   }

   // This method prints the employee details.

   public void printEmp() {

      System.out.println(“name  : ” + name );

      System.out.println(“salary :” + salary);

   }

   public static void main(String args[]) {

      Employee empOne = new Employee(“Ransika”);

      empOne.setSalary(1000);

      empOne.printEmp();

   }

}

نتیجه زیر قابل مشاهده است

خروجی

name  : Ransika

salary :1000.0

متغیرهای کلاس / استاتیک

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

·        فقط یک کپی از هر متغیر کلاس در هر کلاس وجود دارد، صرف نظر از اینکه چند موضوع از طریق آن ایجاد شده است.

·        متغیر های استاتیک به جز در مواری که به عنوان ثابت اعلام می شود، به ندرت مورد استفاده قرار می گیرند. ثابتها ومتغیرهایی هستند که به صورت عمومی / خصوصی، نهایی و استاتیک اعلام می شوند. مقدار اولیه متغیرهای ثابت هرگز تغییر نمی کنند.

·        متغیرهای استاتیک در حافظه استاتیک ذخیره می شوند. از متغیر های استاتیک به ندرت در اعلام نهایی و به عنوان ثابت عمومی یا خصوصی استفاده می شود

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

·        ضهور این متغیرها شبیه متغیرهای نمونه است. با این حال، اکثر متغیرهای استاتیک به صورت عمومی اعلام می شوند، زیرا آنها باید برای کاربران کلاس در دسترس باشند.

·        مقادیر پیش فرض همان مقادیر مربوط به متغیرهای نمونه هستند. برای اعداد، مقدار پیش فرض ۰ است؛ برای بولی ها این مقدار به صورت نادرست در نظر گرفته می شود؛ و برای ارجاعات موضوع اشاره گر تهی null قرار می گیرد. مقادیر را می توان در زمان اعلام یا درون سازنده تعیین کرد. علاوه بر این، مقادیر را می توان در بلوک های اولیه استاتیک مشخص کرد.

·        متغیرهای استاتیک با استفاده از نام کلاس Name ClassName.VariableName نامگذاری می شوند.

·        هنگام اعلام متغیرهای کلاس به صورت عمومی نهایی، استاتیک، نام متغیر (ثابت) همه موارد به صورت حروف بزرگ نوشته می شود. اگر متغیرهای استاتیک عمومی و نهایی نیستند، نحوه نامگذاری همانند مغیرهای نمونه و محلی انجام می شود.

مثال

import java.io.*;

public class Employee {

   // salary  variable is a private static variable

   private static double salary;

   // DEPARTMENT is a constant

   public static final String DEPARTMENT = “Development “;

   public static void main(String args[]) {

      salary = 1000;

      System.out.println(DEPARTMENT + “average salary:” + salary);

   }

}

در نهایت پس از اجرا کردن برنامه نتجه زیر حاصل می گردد.

خروجی

Development average salary:1000

توجه داشته باشید اگر متغیرها از یک کلاس خارجی قابل دسترسی باشند، ثابت باید به صورت Employee.DEPARTMENT در دسترس باشد.

چه مواردی در مطلب بعد ارائه می شود؟

شما در این فصل با اصلاح گرهای دسترسی (عمومی و خصوصی) مواجه شدید. در  فصل بعدی توضیحات اصلاح کننده ها دسترسی و غیر دسترسی ارائه می گردد.

tutorialspoint

Tags
درباره نویسنده

Leave a reply

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *