Java Type Casting
تُعرف عملية تحويل قيمة نوع بيانات واحد (int و float و double وما إلى ذلك) إلى نوع بيانات آخر باسم typecasting.
في Java ، هناك 13 نوعًا من أنواع التحويل، ومع ذلك سنركز فقط على النوعين الرئيسيين.
- Widening Type Casting
- Narrowing Type Casting
Widening Type Casting
في Widening Type Casting، تقوم Java تلقائيًا بتحويل نوع بيانات واحد إلى نوع بيانات آخر.
مثال (تحويل int لـ double):
class Main {
public static void main(String[] args) {
int num = 10; // int type variable
System.out.println("Integer value is: " + num);
// convert 'int' type into 'double' type
double newType = num;
System.out.println("The double value: " + newType);
}
}
في المثال السابق، نقوم بتعيين متغير نوعه int المسمى num إلى متغير نوعه double يسمى newType.
تقوم Java أولاً بتحويل بيانات النوع int إلى نوع double. ثم قم بتعيينه للمتغير double.
في حالة Widening Type Casting، يتم تحويل نوع البيانات الأقل (الحجم الأصغر) إلى نوع البيانات الأعلى (الحجم الأكبر). وبالتالي لا توجد خسارة في البيانات، هذا هو السبب في أن هذا النوع من التحويل يحدث تلقائيًا.
Narrowing Type Casting
في Narrowing Type Casting ، نقوم يدويًا بتحويل نوع بيانات إلى آخر باستخدام الأقواس ().
مثال (تحويل int لـ double):
class Main {
public static void main(String[] args) {
double num = 10.99; // double type variable
System.out.println("Double value is: " + num);
// convert 'int' type into 'double' type
int newType = (int)num;
System.out.println("Integer value is: " + newType);
}
}
في المثال السابق، نقوم بتعيين متغير نوعه int المسمى num إلى متغير نوعه double يسمى newType.
تشير الكلمة int داخل الأقواس إلى أن المتغير num يتم تحويله إلى النوع int.
في حالة Narrowing Type Casting، يتم تحويل أنواع البيانات الأعلى (الحجم الأكبر) إلى أنواع بيانات أقل (حجم أصغر). وبالتالي هناك فقدان للبيانات، هذا هو السبب في أن هذا النوع من التحويل لا يحدث تلقائيًا.
💡 ملاحظة: يُعرف كلا من Widening Type Casting و Narrowing Type Casting، أيضًا بـ Implicit Type Casting.
الإبلاغ عن خطأ
×إذا وجد خطأ وتريد الإبلاغ عن هذا الخطأ، أو إذا كنت تريد تقديم اقتراح على شىء معين، فلا تتردد في إرسال بريد إلكتروني إلينا:
info@albashmoparmeg.com
شكرًا لك على مساعدتك لنا!