انواع دادهها در جاوا اندازهها و مقادیر مختلفی دارند که میتوانند در متغیرهایی ذخیره شوند که برای راحتی و شرایط خاص ایجاد شدهاند تا تمام موارد تست پوشش داده شوند.
جاوا دو دستهبندی دارد که انواع دادهها در آنها تقسیمبندی میشوند:
1. نوع دادههای اولیه (Primitive Data Type): مانندboolean، char، int، short، byte، long، float و double. Boolean با حرف بزرگ B یک کلاس پوششی برای نوع داده اولیه boolean در جاوا است.
2. نوع دادههای غیر اولیه یا نوع داده شیء (Non-Primitive Data Type or Object Data Type): مانند String، Array و غیره.
// Java Program to demonstrate int data-type
import java.io.*;
class GFG
{
public static void main (String[] args)
{
// declaring two int variables
int a = 10;
int b = 20;
System.out.println( a + b );
}
}
30
حالا بیایید انواع مختلف دادههای اولیه و غیر اولیه را بررسی کنیم.

نوع دادههای اولیه در جاوا

داده نوع boolean
boolean booleanVar;
داده نوع byte
byte byteVar;
داده نوع short
short shortVar;
داده نوع int
int intVar;
داده نوع long
long longVar;
داده نوع float
float floatVar;
داده نوع double
این نوع داده برای زمانی مناسب است که نیاز به دقت بالاتر در عملیاتهای اعشاری دارید. در مقایسه با float، double دقت بیشتری دارد و برای ذخیرهسازی اعداد اعشاری بزرگتر و دقیقتر استفاده میشود.
double doubleVar;
یادآوری:
همچنین، توصیه میشود که خطاهای مربوط به گرد کردن در جاوا را مطالعه کنید.
داده نوع char
char charVar;
چرا اندازه char در جاوا ۲ بایت است؟
در نتیجه، جاوا برای ذخیره یک char از ۲ بایت استفاده میکند تا بتواند هر کاراکتر یونیکد را نمایندگی کند. این طراحی به جاوا این امکان را میدهد که بتواند به راحتی کاراکترهای مختلف از زبانهای مختلف را پشتیبانی کند و فراتر از محدودیتهای مجموعه ASCII برود.
// Java Program to Demonstrate Char Primitive Data Type
class GFG
{
public static void main(String args[])
{
// Creating and initializing custom character
char a = 'G';
// Integer data type is generally
// used for numeric values
int i = 89;
// use byte and short
// if memory is a constraint
byte b = 4;
// this will give error as number is
// larger than byte range
// byte b1 = 7888888955;
short s = 56;
// this will give error as number is
// larger than short range
// short s1 = 87878787878;
// by default fraction value
// is double in java
double d = 4.355453532;
// for float use 'f' as suffix as standard
float f = 4.7333434f;
// need to hold big range of numbers then we need
// this data type
long l = 12121;
System.out.println("char: " + a);
System.out.println("integer: " + i);
System.out.println("byte: " + b);
System.out.println("short: " + s);
System.out.println("float: " + f);
System.out.println("double: " + d);
System.out.println("long: " + l);
}
}
char: G
integer: 89
byte: 4
short: 56
float: 4.7333436
double: 4.355453532
long: 12121
نوع دادههای غیر اولیه (ارجاعی)
1- رشتهها (Strings)
در جاوا، رشتهها به عنوان یک شیء از کلاس String پیادهسازی میشوند، که امکانات و متدهای مختلفی را برای کار با متن فراهم میآورد. این ویژگیها شامل جستجو، جایگزینی، و مقایسه رشتهها است.
<String_Type> <string_variable> = “<sequence_of_string>”;
// Declare String without using new operator
String s = "GeeksforGeeks";
// Declare String using new operator
String s1 = new String("GeeksforGeeks");
2- کلاس (Class)
Modifiers(واژههای اصلاحی): یک کلاس میتواند عمومی (public) باشد یا دسترسی پیشفرض داشته باشد. برای اطلاعات بیشتر به مشخصکنندههای دسترسی برای کلاسها یا رابطها (interfaces) در جاوا مراجعه کنید.
نام کلاس: نام کلاس باید با یک حرف ابتدایی شروع شود (طبق قرارداد بهصورت بزرگ نوشته میشود).
کلاس والد (اگر وجود داشته باشد): نام کلاس والد (superclass)، اگر وجود داشته باشد، که با کلمهکلیدی extends پیش از آن قرار میگیرد. یک کلاس میتواند تنها یک والد داشته باشد.
رابطها (اگر وجود داشته باشند): فهرستی از رابطهایی که کلاس آنها را پیادهسازی میکند، اگر وجود داشته باشند، که با کلمهکلیدی implements پیش از آن قرار میگیرند. یک کلاس میتواند چندین رابط را پیادهسازی کند.
بدنه: بدنه کلاس که با براکتها { } احاطه شده است.
3- شیء (Object)
وضعیت (State): وضعیت شیء با ویژگیهای آن نمایان میشود. این ویژگیها خواص شیء را نشان میدهند.
رفتار (Behavior): رفتار شیء با متدهای آن نمایان میشود. این رفتار همچنین پاسخ شیء به اشیاء دیگر را منعطف میکند.
هویت (Identity): هویت شیء یک نام منحصر به فرد به آن میدهد و اجازه میدهد که یک شیء با سایر اشیاء تعامل داشته باشد.
4- رابط (Interface)
رابطها مشخص میکنند که یک کلاس باید چه کارهایی انجام دهد و نه چطور انجام دهد. رابط نقشه راه کلاس است.
رابطها در مورد قابلیتها هستند، مانند اینکه یک "بازیکن" (Player) ممکن است یک رابط باشد و هر کلاسی که آن را پیادهسازی کند، باید قادر به انجام عملیاتی مانند move() باشد. بنابراین، یک رابط مجموعهای از متدها را مشخص میکند که یک کلاس باید آنها را پیادهسازی کند.
اگر یک کلاس یک رابط را پیادهسازی کند و بدنه متدها را برای تمام توابع مشخصشده در رابط فراهم نکند، آن کلاس باید بهعنوان انتزاعی (abstract) اعلام شود.
یک مثال از یک رابط در کتابخانه جاوا، رابط Comparator است. اگر یک کلاس این رابط را پیادهسازی کند، میتواند برای مرتبسازی یک مجموعه استفاده شود.
5- آرایه (Array)
در جاوا، تمامی آرایهها بهصورت داینامیک تخصیص داده میشوند.
از آنجا که آرایهها در جاوا اشیاء هستند، میتوانیم طول آنها را با استفاده از عضو length پیدا کنیم. این با C/C++ تفاوت دارد که در آن طول با استفاده از size بدست میآید.
یک متغیر آرایه در جاوا میتواند مانند سایر متغیرها با استفاده از [] بعد از نوع داده تعریف شود.
متغیرهای داخل آرایه بهصورت مرتب هستند و هرکدام یک ایندکس دارند که از ۰ شروع میشود.
آرایهها در جاوا میتوانند بهعنوان یک فیلد استاتیک، یک متغیر محلی یا یک پارامتر متد استفاده شوند.
اندازه آرایه باید با یک مقدار از نوع int مشخص شود و نمیتوان از long یا short استفاده کرد.
کلاس والد مستقیم یک نوع داده آرایه، Object است.
هر نوع داده آرایه دو رابط Cloneable و java.io.Serializable را پیادهسازی میکند.
نکات کلیدی برای یادآوری
کارایی حافظه: انتخاب نوع داده صحیح بر اساس محدوده و دقت مورد نیاز به مدیریت مؤثر حافظه کمک میکند.
ثبات رشتهها (Immutability of Strings): رشتهها در جاوا پس از ایجاد شدن قابل تغییر نیستند که این ویژگی امنیت را در محیطهای چندرشتهای (multithreaded) تضمین میکند.
طول آرایهها (Array Length): طول آرایهها در جاوا پس از اعلام ثابت است و میتوان آن را با استفاده از ویژگی length دسترسی داشت.
درک نوعهای داده در جاوا برای برنامهنویسی مؤثر ضروری است. هر نوع داده کاربردها و محدودیتهای خاص خود را دارد که انتخاب نوع صحیح برای هر کار، استفاده بهینه از حافظه و عملکرد برنامه را تضمین میکند، در حالی که سیستم چککردن نوع جاوا میتواند خطاها را در مراحل اولیه توسعه شناسایی کند.
سؤالات متداول – نوع دادهها در جاوا
نوع دادهها در جاوا اندازهها و مقادیر مختلفی دارند که میتوانند در متغیرهایی که بر اساس راحتی و شرایط ساخته میشوند ذخیره شوند تا تمامی حالتهای آزمایشی را پوشش دهند.
۸ نوع داده اصلی که در جاوا استفاده میشود کدامند؟
در جاوا ۸ نوع داده اصلی (primitive) وجود دارد که عبارتند از:
boolean
byte
char
short
int
long
float
double
کدام نوع داده در جاوا نوع اولیه (Primitive) است؟
نوعهای داده اولیه در جاوا انواعی هستند که میتوانند یک مقدار واحد را ذخیره کنند و هیچ قابلیت خاصی ارائه نمیدهند.
چرا در جاوا نوع داده char از ۲ بایت استفاده میکند و \u0000 چیست؟
نوع داده char در جاوا از ۲ بایت استفاده میکند زیرا از سیستم یونیکد (Unicode) به جای سیستم ASCII استفاده میکند. \u0000 کمترین مقدار در سیستم یونیکد است.

جمعبندی
حالا نوبت شماست. اگر هنوز سوالی در مورد نوعهای داده در جاوا دارید یا تجربهای جالب از کار با آنها داشتهاید، همین حالا در قسمت کامنتها با ما به اشتراک بگذارید. 😊
ورود و ثبت نام برای ارسال نظر وارد شوید