متغیرها مکان حافظه را اشغال می کنند تا مقادیر را ذخیره کنند. این بدین معنی است، هنگامی که شما یک متغیر را ایجاد می کنید، مقداری فضا را در حافظه رزرو یا اشغال می کنید.
براساس نوع داده ی یک متغیر، سیستم عامل مورد نظر فضای مورد نیاز را به آن اختصاص می دهد و تصمیم می گیرد که چه چیزی می تواند در حافظه ی رزرو شده، ذخیره شود. بنابراین با انتساب دادن نوع داده های متفاوت به متغیرها، شما می توانید اعداد صحیح(integer) یا اعداد شمارشی(decimal) یا کاراکترها را در این متغیرها ذخیره کنید.
دو نوع داده در جاوا وجود دارند:
- نوع داده ی اولیه(Primitive)
- نوع داده ی مرجع(Reference)
نوع داده ی اولیه
هشت نوع داده ی اولیه وجود دارند که توسط جاوا پشتیبانی می شوند. نوع داده های اولیه توسط زبان برنامه نویسی مورد نظر، از قبل تعریف شده اند و به وسیله ی یک کلمه ی کلیدی، نام گذاری می شوند. اجازه دهید تا به طور جزئی، به هشت نوع داده ی اولیه بپردازیم:
byte:
نوع داده ی byte، درواقع یک عدد صحیح 8 بیتی علامت دار مکمل 2 می باشد.
کمترین مقدار آن 128- است(7^2-)
بیشترین مقدار آن 127 است(1-7^2) که شامل خود این عدد نیز می شود.
مقدار پیش فرض آن 0 است.
از نوع داده ی byte برای صرفه جویی در فضا در آرایه های بزرگ و به طور عمده به جای عدد صحیح از آن استفاده می شود، زیرا یک byte، چهار برابر کوچک تر از یک int است.
مثال: byte a = 100 , byte b = -50
short
- نوع داده ی short، درواقع یک عدد صحیح مکمل 2 علامت دار 16 بیتی است.
- کمترین مقدار آن 32768- است(15^2-).
- بیشترین مقدار آن 32767 است(1-15^2) که شامل خود این عدد نیز می شود.
- از نوع داده ی short می توان مانند نوع داده ی byte، برای صرفه جویی در حافظه استفاده نمود. لازم به ذکر است که نوع داده ی short دو برابر کوچکتر از نوع داده ی int می باشد.
- مقدار پیش فرض آن 0 است.
- مثال: short s = 10000, short r = -20000
int
- نوع داده ی int، درواقع یک عدد صحیح مکمل 2 علامت دار 32 بیتی است.
- کمترین مقدار آن 2147483647- است(31^2-).
- بیشترین مقدار آن 2147483647 است(1-31^2) که شامل خود این عدد نیز می شود.
- از نوع داده ی int می توان بعنوان نوع داده ی پیش فرض برای مقادیر انتگرال استفاده نمود، درصورتی که در مورد میزان حافظه نگرانی نداشته باشیم.
- مقدار پیش فرض آن 0 است.
- مثال: int a = 100000, int b = -200000
long
- نوع داده ی long، درواقع یک عدد صحیح مکمل 2 علامت دار 64 بیت است.
- کمترین مقدار آن 9223372036854775808- است(63^2-).
- بیشترین مقدار آن 9223372036854775807 است(1-63^2) که شامل خود این عدد نیز می شود.
- از این نوع داده هنگامی استفاده می شود که به برد بیشتری نسبت به int نیاز داشته باشیم.
- مقدار پیش فرض آن 0L است.
- مثال: long a = 100000L , long b = -200000L
float
- نوع داده ی float درواقع یک عدد ممیز شناور تک دقتی 32 بیت IEEE 754 می باشد.
- از نوع داده ی float برای صرفه جویی در حافظه در آرایه های بزرگ از اعداد ممیز شناور استفاده می شود.
- مقدار پیش فرض آن 0.0f می باشد.
- از نوع داده ی float هرگز برای مقادیر دقیق مانند واحد پول استفاده نمی شود.
- مثال: float f1 = 234.5f
double
- نوع داده ی double درواقع یک عدد ممیز شناور دو دقتی(با دقت 2) 64 بیت IEEE 754 می باشد.
- از نوع داده ی double در اصل بعنوان نوع داده ی پیش فرض برای اعداد اعشاری استفاده می شود.
- از نوع داده ی double هرگز نباید برای مقادیر دقیق مانند واحد پول استفاده کرد.
- مقدار پیش فرض آن 0.0d است.
- مثال: double d1 = 123.4
boolean
- نوع داده ی boolean مشخص کننده ی یک بیت از اطلاعات می باشد.
- تنها دو مقدار true و false امکان پذیر هستند.
- از این نوع داده در دستورات شرطی true و false استفاده ی فراوان می شود.
- مقدار پیش فرض آن false است.
- مثال: boolean one = true
char
- نوع داده ی char درواقع یک کاراکتر یونیکد 16 بیتی تکی را مشخص می کند.
- کمترین مقدار آن 'u0000\' (یا 0) می باشد.
- بیشترین مقدار آن 'uffff\' است(و یا 65535 که شامل خود آن نیز هست).
- از نوع داده ی char برای ذخیره کاراکترها استفاده می شود.
- مثال: 'char letterA = 'A
نوع داده ی مرجع
- متغیرهای مرجع ایجاد شده اند تا سازنده(constructor)های تعریف شده ی کلاس های مورد نظر را به کار ببرند.
- اشیاء کلاس، و انواع مختلف متغیرهای آرایه ای، در زمره ی نوع داده ی مرجع قرار می گیرند.
- مقدار پیش فرض هر متغیر مرجع، برابر با null است.
- از یک متغیر مرجع می توان برای اشاره به هر شیء از هر نوع که تعریف شده باشد یا هر نوع سازگار استفاده نمود.
- مثال: ("Animal animal = new Animal("giraffe
ثابت ها یا لیترال ها(literal) در جاوا
یک لیترال، درواقع نماینده ی یک مقدار ثابت می باشد. از این مقادیر ثابت می توان مستقیما در کدها استفاده نمود.
ثابت ها را می توان به هر نوع متغیر اولیه(که در ابتدای مقاله ذکر شدند) انتساب داد(برابر قرار داد). بعنوان مثال داریم:
کد
byte a =68;
char a ='A'
نوع داده های byte و int و short را می توان به صورت دسیمال(مبنای 10) و هگزادسیمال(مبنای 16) و اکتال(مبنای 8) به خوبی تبدیل نمود.
همان طور که در زیر مشاهده می کنید، به هنگام استفاده از این سیستم های عددی از پیشوند 0، برای مشخص کردن اکتال، و از پیشوند 0x برای مشخص کردن هگزادسیمال برای ثابت ها استفاده می شود. بعنوان مثال داریم:
کد
intdecimal=100;
int octal =0144;
int hexa =0x64;
لیترال های رشته ای در جاوا، همانند دیگر زبان ها، با قرار دادن تعدادی کاراکتر در بین دابل-کوتیشن ها تعریف می شوند. در زیر نمونه های از ثابت های رشته ای را مشاهده می کنید:
کد
"Hello World"
"two\nlines"
"\"This is in quotes\""
ثابت هایی از نوع string و char، می توانند شامل کاراکترهای یونیکد باشند، مانند:
کد
char a ='\u0001';
String a ="\u0001";
زبان جاوا، از تعدادی کاراکترهای خاص بعنوان برخی ثابت های رشته ای پشتیبانی می کند که عبارتند از:
کاراکتر خاص | توضیح کاراکتر |
---|---|
n\ | (0x0a) خط جدید |
r\ | (Carriage return (0x0d |
f\ | (Formfeed (0x0c |
b\ | (Backspace (0x08 |
s\ | (Space (0x20 |
t\ | tab |
"\ | دابل کوتیشن |
'\ | تک کوتیشن |
\\ | backslash |
ddd\ | (ddd) کاراکتر اکتال |
uxxxx\ | (xxxx) کاراکتر یونیکد هگزا دسیمال |
در ادامه خواهید آموخت...
در این مقاله، انوع داده های مختلف آموزش داده شدند.
در مقاله ی بعدی به تشریح و توضیح نوع متغیرهای مختلف و کاربرد آنها می پردازیم. این آموزش باعث خواهد شد تا شما از کاربرد آنها در کلاس ها و رابط های جاوا و ...، مطلع شوید.