Programming? – Telegram
Programming?
11.9K subscribers
373 photos
645 videos
978 files
511 links
🏅Channel privileges

🎗Ninth year of operation
🎗Completely specialized members
🎗Transmitter in channel automation
🎗, ...

🎯 second channel Programming books 👇
@topbookit

🎯 third channel laptop👇
@sysline


👨🏻‍💻Admin channels : @coderme
Download Telegram
تعریف متغیرها از لحاظ حق دسترسی :
در جلسه قبل ما انواع متعیرها و نوع های داده ای رو در جاوا توضیح دادیم و اما تعریف متغیر ها بر اساس حق دسترسی که در برنامه بهشون می تونیم داشته باشیم به 3 صورت می باشد. 1- متغیرهای محلی local 2- متغیرهای نمونه instance 3- متغیرهای ثابت کلاس class/static
متغیرهای محلی :
متغیرهای محلی به متغیرهایی گفته می شود که داخل یک متد یا سازنده و یا داخل یک بلوک مشخص تعریف کنیم متغیرهایی که به این صورت تعریف می شوند فقط در داخل همون بازه اعتبار دارند .
public void sam()
{
int a = 5;
}
متغیرهای نمونه :
این نوع متغیر ها داخل کلاس و خارج از همه متدهای که داخل اون کلاس هست تعریف می شنوند طوری که تمامی متدهای های داخل اون کلاس می تونن بهش دسترسی داشته باشن و اگر به صورت public تعریف بشوند حتی از کلاس های دیگر نیز می توان بهش دسترسی داشت
public class Main {

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

private int aa = 5;

// متغیر نمونه با دسترسی عمومی

public double db = 145.22;

}
متغیرهای ثابت کلاسی :
این نوع متغیر های نیز مثل متغیرهای نمونه تعریف می شوند و در تمام موارد با آن ها یکی هستند به جز اینکه در تعریف متغیرهای ثابت کلاسی قبل از تعریف متغیر از کلمه کلیدی static استفاده می کنیم
public class Main {
// متغیرهای کلاسی
private static int in = 10;

// متغیر ثابت کلاسی با دسترسی عمومی
public static double db = 254.42;
}
ثابت ها :
ثابت ها همان متغیرهایی هستن که مقدارشان قابل تغییر نیست یا به صورت دیگر برای ذخیره مقادیری که مقدارشان هیچ وقت تغییر نخواهد کرد باید آن را بصورت ثابت یا constant تعریف کرد. برای تعریف ثابت در جاوا کافی است که به ابتدای فرایند تعریف متغییر کلمه کلیدی final را اضافه کنیم مانند مثال زیر
final float p = 3.14f;
تبدیل و casting :
گر تجربه برنامه سازی داشته باشید حتما می دونید که تخصیص یک نوع مقدار به متغیری از نوع دیگر نسبتا متداول است. اگر آن دو نوع سازگار باشند در آن صورت جاوا عمل تبدیل را به صورت خودکار انجام خواهد داد اما همیشه تمام داده های مختلف سازگار نیستند و از این رو همه تبدیلات به طور ضمنی ممکن نیست. به عنوان نمونه هیچ تبدیلی برای double به byte تعریف نشده است.

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

وقتی یک نوع داده به متغیری از نوع دیگر تخصیص می یابد؛ چنانچه شرایط ذیل مهیا باشد عمل تبدیل خودکار انجام می شود:

آن دو نوع سازگار باشند
نوع مقصد بزرگتر از نوع مبدا باشد

هرگاه این دو شرط برقرار باشد نوعی “تبدیل همراه با بزرگ سازی” widening conversion انجام می شود. مثلا نوع int همیشه برای نگهداری مقادیر byte به اندازه کافی بزرگ است بنابراین استفاده از عبارتcasting به صورت صریح ضرورت ندارد.

برای تبدیلات همراه با بزرگ سازی؛ انواع داده های عددی از جمله اعداد صحیح و اعشاری با ممیز شناور با یکدیگر سازگار هستند اما انواع داده های عددی با char یا Boolean سازگار نیستند. همچنین char و Boolean با هم نیز سازگار نیستند.