برنامه نویسی

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

1) متغیرها تعریف:
متغیرها ظروف هستند که مقادیر داده را در هنگام اجرای برنامه در حافظه ذخیره می کنند.

2) طبقه بندی متغیرها
A. بر اساس نوع داده
1) انواع داده های اولیه

Data Type   Default Value   Size (bits) Range/Example
byte    0   8   -128 to 127
short   0   16  -32,768 to 32,767
int 0   32  -2³¹ to 2³¹-1
long    0L  64  -2⁶³ to 2⁶³-1
float   0.0f    32  3.4e-038 to 3.4e+038
double  0.0d    64  1.7e-308 to 1.7e+308
char    '\u0000'    16  'A', '1', '$'
boolean false   1 (JVM-dependent)   true or false
حالت تمام صفحه را وارد کنید

از حالت تمام صفحه خارج شوید

2) انواع داده های غیر حساس (مرجع)

Data Type   Default Value   Example
String  null    "Hello"
Arrays  null    int[] arr = {1, 2, 3};
Classes null    Tourist tourist = new Tourist();
حالت تمام صفحه را وارد کنید

از حالت تمام صفحه خارج شوید

3) دامنه متغیر
الف) متغیرهای محلی

Declared inside methods/constructors/blocks.
No default value (must be initialized before use).
Lifetime: Exists only while the method executes.
حالت تمام صفحه را وارد کنید

از حالت تمام صفحه خارج شوید

مثال:

public void calculate() {
    int localVar = 10; // Local variable (must be initialized)
    System.out.println(localVar);
}
حالت تمام صفحه را وارد کنید

از حالت تمام صفحه خارج شوید

B. متغیرهای جهانی (زمینه ها)

Declared inside a class, outside methods.
Have default values (if not initialized).

Two types:
    Static (static keyword) → Class-level (shared).
    Non-Static (no keyword) → Instance-level (object-specific).
حالت تمام صفحه را وارد کنید

از حالت تمام صفحه خارج شوید

مثال:

public class Tourist {
    static int globalStaticVar = 1000; // Static (class-level)
    int globalNonStaticVar = 500;      // Non-static (instance-level)
}
حالت تمام صفحه را وارد کنید

از حالت تمام صفحه خارج شوید

4) مقادیر پیش فرض

Variable Type   Default Value
Global (Static/Non-Static)  Yes (e.g., 0, null)
Local   No (Compiler Error if Uninitialized)
حالت تمام صفحه را وارد کنید

از حالت تمام صفحه خارج شوید

سوال مصاحبه:
❓ “آیا متغیرهای محلی مقادیر پیش فرض دارند؟”
➡ نه! فقط متغیرهای جهانی مقادیر پیش فرض را دریافت می کنند.

5) درگیری های نامگذاری متغیر
مورد 1): متغیر متغیر محلی متغیر جهانی

If a local variable has the same name as a global variable, the local variable takes precedence.
حالت تمام صفحه را وارد کنید

از حالت تمام صفحه خارج شوید

مثال:

public class Tourist {
    static int amount = 100000; // Global static

    public void havingDinner() {
        int amount = 2000; // Local variable (shadows global)
        System.out.println(amount); // Prints 2000 (local)
    }

    public static void main(String[] args) {
        System.out.println(Tourist.amount); // 100000 (global)
        Tourist t = new Tourist();
        t.havingDinner(); // 2000 (local)
    }
}
حالت تمام صفحه را وارد کنید

از حالت تمام صفحه خارج شوید

مورد 2): دسترسی به متغیر جهانی در داخل (با استفاده از این برای غیر استاتیک)

public class Example {
    int value = 100; // Non-static global

    public void printValue() {
        int value = 50; // Local variable
        System.out.println(value); // 50 (local)
        System.out.println(this.value); // 100 (global)
    }
}
حالت تمام صفحه را وارد کنید

از حالت تمام صفحه خارج شوید

6) بهترین روشها

✔ از نامهای معنی دار استفاده کنید (به عنوان مثال ، کاربر به جای A).
✔ متغیرها را قبل از استفاده (به خصوص محلی) اولیه کنید.
✔ از سایه زدن خودداری کنید مگر اینکه لازم باشد (می تواند خوانایی را کاهش دهد).
✔ برای ثابت های کلاس از استاتیک استفاده کنید (به عنوان مثال ، دو برابر نهایی استاتیک PI = 3.14 ؛).

Summary Table
Feature Local Variables Global Variables
Scope   Inside method/block Class-level
Default Value   ❌ No (must initialize)    ✔ Yes
Lifetime    Method execution    Entire program (static) / Object lifetime (non-static)
Shadowing   Can override global Can be accessed via ClassName.staticVar or this.nonStaticVar
حالت تمام صفحه را وارد کنید

از حالت تمام صفحه خارج شوید

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

توجه: قالب بندی و ساختار برای وضوح با کمک AI بهینه سازی شدند.

—————————– پایان وبلاگ ————————————-

نوشته های مشابه

دیدگاهتان را بنویسید

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

دکمه بازگشت به بالا