راهنمای جامع انواع داده ها در جاوا با مثال

جاوا، به عنوان یک زبان تایپ ایستا، مستلزم آن است که هر متغیر با یک نوع داده خاص اعلان شود. این امر ایمنی نوع را تضمین می کند و خوانایی و قابلیت نگهداری کد را افزایش می دهد. در این راهنمای جامع، انواع مختلف دادههای موجود در جاوا، ویژگیهای آنها را بررسی میکنیم و مثالهایی برای نشان دادن استفاده از آنها ارائه میکنیم.
فهرست مطالب
- مقدمه ای بر انواع داده ها
-
انواع داده های اولیه
-
انواع داده های مرجع
- نوع تبدیل و ریخته گری
- کلاس های لفاف دار
- نتیجه
مقدمه ای بر انواع داده ها
انواع داده در جاوا اندازه و نوع مقادیر قابل ذخیره سازی در متغیرها را مشخص می کند. آنها برای تعریف عملیات قابل انجام بر روی داده ها و نحوه ذخیره داده ها در حافظه ضروری هستند.
انواع داده های جاوا را می توان به دو نوع اصلی دسته بندی کرد:
- انواع داده های اولیه
- انواع داده های مرجع
انواع داده های اولیه
انواع داده های اولیه ابتدایی ترین انواع داده در جاوا هستند. آنها توسط زبان از پیش تعریف شده و با یک کلمه کلیدی رزرو شده نامگذاری شده اند. جاوا دارای هشت نوع داده اولیه است:
بایت
- اندازه: 1 بایت (8 بیت)
- دامنه: -128 تا 127
- استفاده از مورد: مفید برای ذخیره حافظه در آرایه های بزرگ که در آن صرفه جویی در حافظه بیشتر مورد نیاز است.
public class ByteExample {
public static void main(String[] args) {
byte b = 100;
System.out.println("Byte value: " + b);
}
}
کوتاه
- اندازه: 2 بایت (16 بیت)
- دامنه: -32,768 تا 32,767
- استفاده از مورد: برای ذخیره حافظه در آرایه های بزرگ استفاده می شود.
public class ShortExample {
public static void main(String[] args) {
short s = 10000;
System.out.println("Short value: " + s);
}
}
بین المللی
- اندازه: 4 بایت (32 بیت)
- دامنه: -2^31 تا 2^31-1
- استفاده از مورد: نوع داده پیش فرض برای مقادیر صحیح، مگر اینکه محدودیت حافظه وجود داشته باشد.
public class IntExample {
public static void main(String[] args) {
int i = 100000;
System.out.println("Int value: " + i);
}
}
طولانی
- اندازه: 8 بایت (64 بیت)
- دامنه: -2^63 تا 2^63-1
- استفاده از مورد: زمانی استفاده می شود که به محدوده وسیع تری نسبت به int نیاز باشد.
public class LongExample {
public static void main(String[] args) {
long l = 100000000L;
System.out.println("Long value: " + l);
}
}
شناور
- اندازه: 4 بایت (32 بیت)
- دامنه: تقریباً ± 3.40282347E+38F (6-7 رقم اعشاری قابل توجه)
- استفاده از مورد: برای ذخیره حافظه در آرایه های بزرگ اعداد ممیز شناور استفاده می شود.
public class FloatExample {
public static void main(String[] args) {
float f = 234.5f;
System.out.println("Float value: " + f);
}
}
دو برابر
- اندازه: 8 بایت (64 بیت)
- دامنه: تقریباً ±1.79769313486231570E+308 (15 رقم اعشاری قابل توجه)
- استفاده از مورد: نوع داده پیش فرض برای مقادیر اعشاری، معمولاً به عنوان نوع داده پیش فرض برای مقادیر اعشاری استفاده می شود.
public class DoubleExample {
public static void main(String[] args) {
double d = 123.4;
System.out.println("Double value: " + d);
}
}
کاراکتر
- اندازه: 2 بایت (16 بیت)
- دامنه: ‘\u0000’ (0) تا ‘\uffff’ (65,535)
- استفاده از مورد: برای ذخیره هر کاراکتری استفاده می شود.
public class CharExample {
public static void main(String[] args) {
char c = 'A';
System.out.println("Char value: " + c);
}
}
بولی
- اندازه: 1 بیت
- دامنه: فقط دو مقدار ممکن: true و false
- استفاده از مورد: برای پرچمهای ساده که شرایط درست/نادرست را دنبال میکنند استفاده میشود.
public class BooleanExample {
public static void main(String[] args) {
boolean b = true;
System.out.println("Boolean value: " + b);
}
}
انواع داده های مرجع
انواع داده های مرجع به اشیا و آرایه ها اشاره دارد. آنها مانند انواع داده های اولیه از پیش تعریف نشده اند، بلکه توسط برنامه نویس ایجاد می شوند.
رشته های
رشته ها در جاوا اشیایی هستند که دنباله ای از کاراکترها را نشان می دهند. آنها به طور گسترده در برنامه نویسی جاوا استفاده می شوند.
public class StringExample {
public static void main(String[] args) {
String str = "Hello, Java!";
System.out.println("String value: " + str);
}
}
آرایه ها
آرایه ها در جاوا اشیایی هستند که چندین متغیر از یک نوع را ذخیره می کنند. آنها می توانند انواع داده های اولیه و اشیاء را در خود نگه دارند.
public class ArrayExample {
public static void main(String[] args) {
int[] arr = {1, 2, 3, 4, 5};
for (int i : arr) {
System.out.println("Array value: " + i);
}
}
}
کلاس ها
کلاس ها در جاوا طرح هایی برای ایجاد اشیا هستند. یک کلاس می تواند دارای فیلدها (متغیرها) و متدهایی برای تعریف رفتار اشیا باشد.
public class Person {
String name;
int age;
Person(String name, int age) {
this.name = name;
this.age = age;
}
void display() {
System.out.println("Name: " + name + ", Age: " + age);
}
public static void main(String[] args) {
Person person = new Person("John", 25);
person.display();
}
}
رابط ها
رابط ها در جاوا انواع انتزاعی هستند که برای تعیین متدهایی که یک کلاس باید پیاده سازی کند استفاده می شود. آنها فقط می توانند شامل امضاهای متد و متغیرهای نهایی ثابت باشند.
interface Animal {
void makeSound();
}
class Dog implements Animal {
public void makeSound() {
System.out.println("Bark");
}
public static void main(String[] args) {
Dog dog = new Dog();
dog.makeSound();
}
}
نوع تبدیل و ریخته گری
تبدیل نوع در جاوا تبدیل یک نوع داده به نوع دیگر است. دو نوع تبدیل نوع وجود دارد:
تبدیل ضمنی (گسترش)
تبدیل ضمنی زمانی اتفاق می افتد که انواع داده های کوچکتر به طور خودکار توسط کامپایلر به انواع داده های بزرگتر تبدیل شوند.
public class WideningExample {
public static void main(String[] args) {
int i = 100;
long l = i; // implicit conversion
System.out.println("Long value: " + l);
}
}
تبدیل صریح (کاهش)
تبدیل صریح نیاز به ریخته گری دارد. هنگامی که انواع داده های بزرگتر به انواع داده های کوچکتر تبدیل می شوند، نیاز به ریخته گری صریح دارند.
public class NarrowingExample {
public static void main(String[] args) {
double d = 100.04;
long l = (long) d; // explicit conversion
int i = (int) l; // explicit conversion
System.out.println("Int value: " + i);
}
}
کلاس های لفاف دار
جاوا برای همه انواع داده های ابتدایی کلاس های پوششی ارائه می کند. این کلاسها یک نوع اولیه را در یک شیء محصور میکنند. کلاس های wrapper برای تبدیل انواع داده های اولیه به اشیا استفاده می شود که در مجموعه هایی مانند مفید هستند ArrayList
که با اشیا کار می کنند.
نمونه ای از کلاس های Wrapper
public class WrapperExample {
public static void main(String[] args) {
int i = 5;
Integer intObj = Integer.valueOf(i); // Boxing
int intVal = intObj.intValue(); // Unboxing
System.out.println("Integer object: " + intObj);
System.out.println("Primitive int: " + intVal);
}
}
نتیجه
درک انواع داده در جاوا برای نوشتن کد کارآمد و بدون خطا ضروری است. انواع داده های اولیه بلوک های ساختمانی را برای دستکاری داده ها فراهم می کنند، در حالی که انواع داده های مرجع، مانند رشته ها، آرایه ها، کلاس ها و رابط ها، ایجاد ساختارهای داده پیچیده تری را امکان پذیر می کنند. استفاده مناسب از کلاسهای تبدیل نوع و wrapper انعطافپذیری و استحکام برنامههای جاوا را بیشتر میکند. با تسلط بر این مفاهیم، می توانید از پتانسیل کامل سیستم نوع جاوا برای توسعه نرم افزارهای کارآمد و قابل اعتماد استفاده کنید.