دیتا تایپ ها در زبان جاوا

جلسه هفتم – دیتا تایپ چیست؟ معرفی دیتا تایپ های زبان جاوا

در زبان های برنامه نویسی و همینطور زبان جاوا، همیشه با اطلاعات درگیر هستید و باید بتوانید عملیات مختلف را روی این داده ها انجام بدهید. خود این دیتاهایی که قرار است با آنها کار کنیم دارای دسته بندی های متفاوتی هستند. مثل یک عدد مانند ۲ با یک کاراکتر مانند c هیچوقت در یک دسته بندی قرار نمیگیرند. برای طبقه بندی این داده ها، قسمتی تحت عنوان Data Type در برنامه نویسی وجود دارد. برای آشنایی با دیتا تایپ های زبان جاوا، با برنامه چی همراه باشید. (منبع نوشته: tutorialspoint)

در این مقاله سرفصل های زیر بررسی میشوند:
ارتباط متغیر و Data Type
دیتا تایپ های اولیه یا Primitive
byte (بایت)
short
int
long
float
double
boolean
char
دیتا تایپReference  (مرجع)
Literal های جاوا
دانلود فایل PDF این جلسه


ارتباط متغیر و Data Type

متغیر ها چیزی به جز فضای رزرو شده در حافظه برای نگه داری مقدار نیستند. به عبارت دیگر وقتی یک متغیر را در هنگام کدنویسی تعریف میکنید، یک مقدار فضا را در حافظه رزرو میکنید. بر اساس نوع داده (دیتا تایپ) متغیر، سیستم عامل مقدار مموری مورد نیاز را مشخص میکند و تصمیم میگیرد که چه چیزهایی میتواند در این فضای مشخص شده، ذخیره شود. بنابراین با مشخص کردن دیتا تایپ های مختلف برای متغیر ها، میتوانید عدد صحیح (Integer)، عدد اعشاری (decimal) یا کاراکتر (Character) در آنها ذخیره کنید. دو نوع دیتا تایپ در جاوا وجود دارد:

  • دیتا تایپ های اولیه (Primitive)
  • دیتا تایپ های مرجع یا آبجکت (Reference/Object)

دیتا تایپ های اولیه یا Primitive

در زبان جاوا از هشت نوع دیتا تایپ Primitive پشتیبانی میشود. دیتا تایپ های Primitive توسط زبان برنامه نویسی از قبل تعریف شده اند و با استفاده از یک کلمه کلیدی (Keyword) نامگذاری شده اند. با برنامه چی همراه باشید تا نگاه دقیقی به این ۸ نوع دیتا تایپ بیاندازیم.


byte (بایت)

  • دیتا تایپ byte یک integer است که معادل ۸ بیت از فضای مموری میباشد.
  • کمترین مقدار آن ۱۲۸- است (۲۷)-
  • بیشترین مقدار آن ۱۲۷ است ۱-(۲۷)
  • مقدار پیشفرض آن ۰ است.
  • Byte برای ذخیره سازی فضا در آرایه های بزرگ استفاده میشود. در اصل هم به جای integer بکار میرود. زیرا چهار برابر کوچکتر از یک integer است.

مثال:

Byte a = 100, byte b = -50

Short

  • دیتا تایپ short یک عدد صحیح علامت دار ۱۶ بیتی میباشد.
  • کمترین مقدار آن ۲۳۷۶۸- است (۲۱۵)-.
  • بیشترین مقدار آن ۳۲۷۶۷ میباشد ۱-(۲۱۵).
  • دیتا تایپ short نیز میتواند برای صرفه جویی در مموری، به عنوان دیتا تایپ byte استفاده شود. یک short دو برابر از یک integer کوچکتر است.
  • مقدار پیشفرض ۰ است.

مثال:

Short s = 10000, short r = -20000

int

  • Int یک عدد صحیح علامتدار ۳۲ بیتی میباشد.
  • کمترین مقدار آن ۲,۱۴۷,۴۸۳,۶۴۸- است. (۲۳۱).
  • بیشترین مقدار آن ۲,۱۴۷,۴۸۳,۶۴۷ میباشد. (۲۳۱).
  • Int به عنوان دیتا تایپ پیشفرض برای مقادیر عدد صحیح به کار میرود مگر اینکه در حافظه دستگاه محدودیت های زیادی وجود داشته باشد.
  • مقدار پیشفرض ۰ است.

مثال:

int a = 100000, ont b = -200000

long

  • دیتا تایپ long یک عدد صحیح ۶۴ بیتی و علامت دار است.
  • کمترین مقدار آن ۹,۲۲۳,۳۷۲,۰۳۶,۸۵۴,۷۷۵,۸۰۸- است. (۲۶۳)-.
  • بیشترین مقدار آن هم ۹,۲۲۳,۳۷۲,۰۳۶,۸۵۴,۷۷۵,۸۰۷ میباشد. ۱-(۲۶۳).
  • این دیتا تایپ زمانی استفاده میشود که به بازه ی بزرگتری از int نیاز است.
  • مقدار پیشفرض آن ۰L است.

مثال:

Long a = 100000L, long b = -200000L

float

  • دیتا تایپ float اعداد اعشاری با دقت یک رقم اعشار را ذخیره میکند و ۳۲ بیت حافظه را اشغال میکند.
  • Float عمدتا برای صرفه جویی مموری در آرایه های اعداد اعشاری استفاده میشود.
  • مقدار پیشفرض آن ۰٫۰f است.
  • Float هیچوقت برای مقادیر دقیق مانند قیمت ارز استفاده نمیشود.

مثال:

float f1 = 234.5f

double

  • دیتا تایپ double مقادیر اعشاری با دقت دو رقم اعشار را ذخیره میکند و ۶۴ بیت حافظه را اشغال مینماید.
  • این نوع داده به عنوان نوع پیشفرض برای مقادیر اعشاری دهدهی استفاده میشود.
  • دیتا تایپ double هیچوقت برای مقادیر دقیق مانند قیمت ارز استفاده نمیشود.
  • مقدار پیشفرض آن ۰٫۰d است.

مثال:

double d1 = 123.4d

boolean

  • دیتا تایپ Boolean یک بیت از اطلاعات را نیاز دارد.
  • فقط دو مقدار برای این نوع از داده وجود دارد: true و flase (درست و غلط).
  • این نوع از داده ها برای شرایطی استفاده میشوند که فقط به دو مقدار درست یا غلط نیاز داریم.
  • مقدار پیشفرض آن false است.

مثال:

boolean one = true

char

  • char یک دیتا تایپ تکی است که ۱۶ بیت از حافظه را اشغال میکند.
  • کمترین مقدار آن ‘u0000\’ (یا ۰) است.
  • بیشترین مقدار آن ‘uffff\’ (یا ۶۵,۵۳۵) است.
  • این نوع داده برای ذخیره کردن کاراکتر ها استفاده میشود. (مثلا حروف و علامت هایی مانند @ و # در میان کاراکتر ها قرار میگیرند).

مثال:

char letterA = ‘A’

دیتا تایپ Reference (مرجع)

متغیر های مرجع (Reference Variables) با استفاده از Constructor های تعریف شده در کلاس ها تولید میشوند. (اگر با متد های سازنده آشنا نیستید، درس قبلی را مطالعه بفرمایید). از این متغیر ها برای دسترسی به ابجکت ها استفاده میشود. این متغیر ها از یک نوع خاص تعریف میشوند که نمیتوانیم بعدا آنها را تغییر بدهیم. برای مثال Employee، Puppy و غیره.

  • آبجکت های کلاس ها و بسیاری از انواع آرایه ها در زیرمجموعه دیتا تایپ های Reference قرار میگیرند.
  • مقدار پیشفرض برای همه این متغیر های مرجع، null میباشد. (این همان موردی است که در درس قبلی اشاره کردیم باعث ایجاد خطای Null Pointer Exception میشود).
  • یک متغیر مرجع میتواند برای همه انواع آبجکت هایی که از انواع مختلف تعریف میشوند، استفاده بشود.
  • مثال:
Animal animal = new Animal(“cat”);

یک object را اینگونه در زبان جاوا تعریف میکنیم. در اینجا animal یک متغیر مرجع است که درون آن یک آبجکت (یا یک Instance که معنی نمونه میدهد)، از کلاس Animal قرار میگیرد.
برای توضیح کامل تر به عکس زیر توجه کنید:

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

Literal های جاوا

یک literal تکه ای از سورس کد است که یک مقدار ثابت را نشان میدهند. این مقادیر ثابت بدون هیچگونه محاسباتی، بصورت مستقیم در کد قرار میگیرند. Literal ها میتوانند به همه انواع Primitive ها اختصاص داده بشوند. برای مثال:

byte a = 68;
char a = 'A';

byte، int، long و short میتوانند در سیستم اعداد دسیمال (مبنای ۱۰)، هگزادسیمال (مبنای ۱۶) و اکتال (مبنای ۸) بکار بروند.
مقدار پیشفرض ۰ برای زمانی که از سیستم اعداد اکتال استفاده میکنید، و مقدار ۰x برای هنگامی که از سیستم اعداد هگزادسیمال استفاده میکنید، کاربرد دارند. برای مثال:

int decimal = 100;
int octal = 0144;
int hexa =  0x64;

Literal های رشته ای (string) در زبان جاوا مانند بسیاری از زبان های برنامه نویسی دیگر، با کنار هم قرار دادن تعدادی از کاراکتر ها درون علامت نقل قول دوتایی (Double Quotation) تعریف میشوند. نمونه هایی از literal های رشته ای را در زیر مشاهده میکنید:

"Hello World"
"two\nlines"
"\"This is in quotes\""

Literal هایی که از جنس char یا string باشند، میتوانند همه کاراکتر های Unicode (یک استاندارد جهانی برای کاراکتر ها) را درون خود قرار بدهند. برای مثال:

char a = '\u0001';
String a = "\u0001";

همچنین زبان جاوا از یک سری کاراکتر خاص برای کنترل string و char پشتیبانی میکند. اگر این کاراکتر ها را درون رشته بنویسید، اعمال خاصی انجام خواهد شد که آنها را ی یکی به شما معرفی میکنیم. در ادامه جدول آنها را مشاهده میکنید:

NotationCharacter Represented
\nNewline (0x0a)
\rCarriage return (0x0d)
\fFormfeed (0x0c)
\bBackspace (0x08)
\sSpace (0x20)
\ttab
\”Double quote
\’Single quote
\\backslash
\dddOctal character (ddd)
\uxxxxHexadecimal UNICODE character (xxxx)

دانلود فایل PDF این جلسه


جلسه بعد چه چیزی یاد میگیریم؟

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

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

دیدگاه‌ خود را بنویسید

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

اسکرول به بالا