انواع داده‌ها در جاوا

از ویکی کد
پرش به ناوبری پرش به جستجو
Main Page Tutorial
Java-menu.jpeg
موارد آموزشی
۱آموزش
۲مقدمه
۳شروع
۴شیوهٔ نوشتار
۵نظرات
۶متغیرها
۷انواع داده‌ها
۸تبدیل‌کردن نوع داده‌ها
۹عملگرها
۱۰مقادیر رشته‌ای
۱۱کلاس ریاضی
۱۲مقادیر منطقی
۱۳ساختار If … Else
۱۴عبارت Switch
۱۵حلقهٔ While
۱۶حلقهٔ For
۱۷عبارات Break و Continue
۱۸آرایه‌ها
متدها در جاوا
کلاس‌ها در جاوا
فایل‌ها در جاوا
مرجع در جاوا
مثال‌ها در جاوا

انواع داده‌ها درجاوا

همان‌طور که در فصل گذشته توضیح داده شد، یک متغیر در جاوا می‌بایست با یک نوع داده مشخص شود: [۱]

مثال

1 int myNum = 5;               // Integer (whole number)
2 float myFloatNum = 5.99f;    // Floating point number
3 char myLetter = 'D';         // Character
4 boolean myBool = true;       // Boolean
5 String myText = "Hello";     // String

مشاهدهٔ نتیجه


انواع داده در جاوا اسکریپت به دو گروه تقسیم می‌شوند:

  • نوع داده‌های اصلی - شاملboolean،byte،short،int،long،float،doubleوchar.
  • نوع داده‌های غیر-اصلی (به انگلیسی: Non-primitive) همانند String , Array و Classes (شما دربارهٔ این نوع داده‌ها در فصل‌های آینده مطالب بیشتری را خواهید آموخت).

نوع داده‌های اصلی (به انگلیسی: Primitive)

یک نوع داده اصلی اندازه و نوع مقدار متغیر را مشخص می‌کند، و هیچ متد اضافه‌ای ندارد.

هشت نوع داده اصلی در جاوا وجود دارد:

نوع داده اندازه توضیحات
Byte ۱بایت اعداد صحیح بین ۱۲۷ تا ۱۲۸- را ذخیره می‌کند.
Short ۲ بایت اعداد صحیح بین -۳۲٬۷۶۸ تا ۳۲۷۶۷ را ذخیره می کند.
Int ۴ بایت اعداد صحیح بین -۲٬۱۴۷٬۴۸۳٬۶۴۸ تا ۲٬۱۴۷٬۴۸۳٬۶۴۷ را ذخیره می‌کند.
Long ۸ بایت اعداد صحیح بین -۹٬۲۲۳٬۳۷۲٬۰۳۶٬۸۵۴٬۷۷۵٬۸۰۸ تا ۹٬۲۲۳٬۳۷۲٬۰۳۶٬۸۵۴٬۷۷۵٬۸۰۷ را ذخیره می‌کند.
Float ۴ بایت اعداد اعشاری تا ۶ تا ۷ رقم اعشار را ذخیره می‌کند.
Double ۸ بایت اعداد اعشاری تا ۱۵ رقم اعشار را ذخیره می‌کند.
Boolean ۱ بایت مقادیر منطقی true/false را ذخیره می‌کند.
Char ۲ بایت یک کاراکتر یا یک حرف یا مقادیر اسکی را ذخیره می‌کند.

نوع داده عددی

اعداد اصلی به دو گروه مختلف تقسیم می‌شوند:

نوع صحیح که تمامی اعداد بدون اعشار، چه مثبت و چه منفی (مانند ۱۲۳ یا ۴۵۶-) را ذخیره می‌کنند. نوع‌های متعبر عبارتند ازbyte،short،int،long. شما می‌بایست با توجه به مقدار عددی که می‌خواهید ذخیره کنید نوع متغیر خود را انتخاب کنید.

نوع float مربوط به اعداد اعشاری می‌شود که یک تا چند رقم اعشار دارند. این نوع داده به دو نوعfloatوdoubleتقسیم می‌شود.

اگرچه نوع داده‌های مختلفی برای مقادیر عددی در زبان برنامه‌نویسی جاوا وجود دارد، اما نوعint(برای اعداد صحیح و بدون اعشار) و نوعdouble(برای اعداد اعشاری) بیشترین استفاده را دارند. اما ما همه نوع داده‌ها را به ترتیبی که خواهید خواند، توضیح خواهیم داد.

نوع اعداد صحیح (به انگلیسی: Integer)

Byte

نوع دادهbyteبرای ذخیرهٔ اعداد صحیح بین ۱۲۸- تا ۱۲۷ استفاده می‌شود. این نوع داده می‌تواند به جای نوعintیا سایر نوع داده‌های عدد صحیح استفاده شود تا میزان مصرف حافظه در زمانی که مقدار داده بین ۱۲۸- تا ۱۲۷ است مدیریت شود:

مثال

1 byte myNum = 100;
2 System.out.println(myNum);

مشاهدهٔ نتیجه

Short

نوع دادهshortمی‌تواند برای ذخیره اعداد صحیح بین ۳۲۷۶۸- تا ۳۲۷۶۷ استفاده شود:

مثال

1 short myNum = 5000;
2 System.out.println(myNum);

مشاهدهٔ نتیجه

Int

نوع دادهintمی‌تواند اعداد صحیح بین ۲۱۴۷۴۸۳۶۴۸- تا ۲۱۴۷۴۸۳۶۴۷ را ذخیره کند. در حالت عادی، و در آموزش ما، نوع داده int برای زمانی که ما یک متغیر برای مقدار عددی ایجاد می‌کنیم، استفاده می‌شود.

مثال

1 int myNum = 100000;
2 System.out.println(myNum);

مشاهدهٔ نتیجه

Long

نوع عددیlongمی‌تواند عددی بین -۹۲۲۳۳۷۲۰۳۶۸۵۴۷۷۵۸۰۸ تا ۹۲۲۳۳۷۲۰۳۶۸۵۴۷۷۵۸۰۷ را ذخیره کند. این نوع زمانی استفاده می‌شود که نوع int برای ذخیره مقدار مد نظر ما کافی نیست. توجه داشته باشید که شما می‌بایست از کاراکتر "L" در انتهای مقدار این نوع متغیرها استفاده کنید:

مثال

1 long myNum = 15000000000L;
2 System.out.println(myNum);

مشاهدهٔ نتیجه


نوع داده اعداد اعشاری

شما می‌بایست زمانی که می‌خواهید اعدادی مانند ۹٫۹۹ یا ۳٫۱۴۵۱۵ را ذخیره کنید از نوع داده اعشاری استفاده کنید.

Float

نوع دادهfloatمی‌تواند اعداد اعشاری را از ۳٫۴e-۰۳۸ تا ۳٫۴e+۰۳۸ ذخیره کنید. توجه داشته باشید که می‌بایست در انتهای مقادیر این نوع متغیرها از کاراکتر "f" استفاده کنید:

مثال

1 float myNum = 5.75f;
2 System.out.println(myNum);

مشاهدهٔ نتیجه

Double

نوع دادهdoubleمی‌تواند اعداد اعشاری از ۱٫۷e−۳۰۸ تا ۱٫۷e+۳۰۸ را ذخیره کنید. توجه داشته باشید که شما می‌بایست در انتهای مقادیر این نوع داده از کاراکتر "d" استفاده کنید:

مثال

1 double myNum = 19.99d;
2 System.out.println(myNum);

مشاهدهٔ نتیجه

از کدام یک استفاده کنیم؟ float یا double؟

دقت یک مقدار اعشاری تعداد ارقامی که می‌توانند بعد از علامت اعشار قرار گیرند را مشخص می‌کند. دقت نوع float تنها شش یا هفت رقم اعشار است، این در حالی است که متغیرهای اعشاری double دقتی تا ۱۵ رقم اعشار دارند؛ بنابراین استفاده از نوع double برای بیشتر محاسبات مناسب‌تر است.

اعداد علمی

نوع داده‌های اعشاری می‌توانند می‌تواند مقادیر اعداد علمی که با یک کاراکتر "e" مشخص می‌شوند و به معنای به توان ۱۰ است را در خود ذخیره کند:

مثال

1 float f1 = 35e3f;
2 double d1 = 12E4d;
3 System.out.println(f1);
4 System.out.println(d1);

مشاهدهٔ نتیجه


مقادیر منطقی

یک نوع دادهbooleanبه وسیله کلمه کلیدی keyword تعریف می‌شود و تنها می‌تواند مقادیری مانندtrueیاfalseرا در خود ذخیره کند:

مثال

1 boolean isJavaFun = true;
2 boolean isFishTasty = false;
3 System.out.println(isJavaFun);     // Outputs true
4 System.out.println(isFishTasty);   // Outputs false

مشاهدهٔ نتیجه


مقادیر منطقی اغلب برای بررسی شرط‌ها استفاده می‌شوند که شما در این باره مطالب بیشتری را در فصل‌های آینده خواهید آموخت.

نوع دادهcharبرای ذخیره یک کاراکتر استفاده می‌شود. کاراکتر می‌بایست درون علامت ′ ′ قرار گیرد، مانند ′A′ یا ′c′:

مثال

1 char myGrade = 'B';
2 System.out.println(myGrade);

مشاهدهٔ نتیجه


از طرفی دیگر، شما می‌توانید از مقادیر کد اسکی برای نمایش کاراکترهای بخصوص استفاده کنید:

مثال

1 char a = 65, b = 66, c = 67;
2 System.out.println(a);
3 System.out.println(b);
4 System.out.println(c);

مشاهدهٔ نتیجه


نکته: شما می‌توانید لیستی از کدهای اسکی (به انگلیسی: ASCII) را در جدول کدهای اسکی ما بیابید.

مقادیر رشته‌ای یا متنی

نوع دادهStringبرای ذخیره مجموعه ای از کاراکتر (متن‌ها) استفاده می‌شود. مقادیر متنی یا رشته‌ای می‌بایست درون علامت ″ ″ قرار گیرند:

مثال

1 String greeting = "Hello World";
2 System.out.println(greeting);

مشاهدهٔ نتیجه

نوع داده String یا متنی، بسیار و به صورت یکپارچه در جاوا استفاده می‌شود، به گونه ای که آن را «نوع داده مخصوص نهم» می‌نامند.

یک مقدار متنی در جاوا در حقیقت یک نوع داده غیر-اصلی (به انگلیسی: non-primitive) است، زیرا که به یک شیء اشاره می‌کند. شیء String متدهایی را دارد که به وسیله آنها می‌توان عملیات‌هایی را روی مقادیر متنی انجام داد. اگر مفهوم "object" را درک نمی‌کنید، نگران نباشید. ما در مورد مقادیر متنی (به انگلیسی: String) و اشیاء در فصل آینده مطالب بیشتری را خواهیم آموخت.

نوع داده‌های غیر اصلی (به انگلیسی: Non-Primitive)

نوع داده‌های غیر-اصلی (به انگلیسی: non-primitive) نوع مرجع (به انگلیسی: reference)نامیده می‌شوند زیرا که آنها به اشیاء اشاره می‌کنند.

تفاوت اصلی بین نوع داده‌های اصلی (به انگلیسی: primitive) و غیر-اصلی (به انگلیسی: non-primitive) به صورت زیر است:

  • نوع داده‌های اصلی درجاوا از پیش تعریف شده‌اند. نوع داده‌های غیر اصلی (به جزString) توسط برنامهنویسان ایجاد شده‌اند و توسط جاوا تعریف نشده‌اند.
  • برای نوع داده‌های غیر اصلی می‌توان متدهایی را برای انجام عملیات‌های اصلی فراخوانی کرد، در حالی که این امکان برای نوع داده‌های اصلی وجود ندارد.
  • یک نوع داده اصلی همیشه یک مقدار دارد، این در حالی است که نوع داده‌های غیراصلی می‌توانندnullباشند.
  • نوع داده‌های اصلی با حروف کوچک آغاز می‌شوند، این در حالی است که نوع داده‌های غیر اصلی همیشه با حروف بزرگ شروع می‌شوند.
  • اندازه نوع داده‌های اصلی به نوع آن بستگی دارد، این در حالی است که تمامی نوع داده‌های غیر اصلی یک اندازه یکسان دارند.

مثال‌هایی از نوع داده‌های غیر اصلی عبارتند از: String یا مقادیر رشته‌ای، Arrays یا آرایه‌ها، Classes یا کلاس‌ها، Interface یا رابط و…. شما در مورد این نوع داده‌ها در فصل‌های آینده مطالب بیشتری را خواهید آموخت.

تمرینات جاوا

Time2wait.svg ساخت نمونه مثال این بخش در دست اقدام است.


منابع آموزشی