English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
في هذا الدليل، سنستخدم الأمثلة لدراسة Java تحويل النوعوسياقها.
عند دراسةقبل تحويل النوع في Java، تأكد من أنك تفهمأنواع البيانات في Java.
عملية تحويل قيمة نوع بيانات واحد (مثل int،float،double) إلى نوع بيانات آخر يُسمى تحويل النوع.
في Java، هناك 13 نوعًا من التحويلات. ولكن، في هذا الدليل، سنركز فقط على النوعين الرئيسيين.
1、تحويل التوقيع التلقائي
2、التحويل النحوي
فيتحويل نوع تلقائيتحويل نوع تلقائي
class Main { public static void main(String[] args) { مثال: تحويل int إلى double int num = 10; // إنشاء متغير نوع int // تحويل إلى نوع دوبل double data = num; System.out.println("قيمة دوبل: " + data); } }
نتيجة الخرج
قيمة integer: 10 قيمة دوبل: 10.0
في هذا المثال، قمنا بتعيين متغير int المسمى num إلى متغير دوبل المسمى data.
في هذا السياق، يقوم Java أولاً بتحويل بيانات نوع int إلى نوع دوبل. ثم يتم توزيعها على متغير دوبل.
فيتحويل نوع تلقائيفي هذه الحالة، يتم تحويل نوع البيانات الأقل (أقل حجم) إلى نوع بيانات أعلى (أكبر حجم). لذا، لا يوجد فقدان للبيانات. هذا هو السبب في أن هذا النوع من التحويلات يحدث تلقائيًا.
الاحتياطهذا يُعرف أيضًا بتحويل نوع غير صريح.
فيتحويل نوع إجباريفي، نستخدم الباريتا لتحويل يدويًا نوع بيانات واحد إلى آخر.
class Main { public static void main(String[] args) { // إنشاء متغير نوع دوبل double num = 10.99; System.out.println("قيمة double: " + num); // تحويل إلى نوع int int data = (int)num; System.out.println("قيمة integer: " + data); } }
نتيجة الخرج
قيمة double: 10.99 قيمة integer: 10
في هذا المثال، قمنا بتعيين متغير double المسمى num إلى متغير int المسمى data.
انتبه إلى هذا السطر
int data = (int)num;
في هذا السياق، يشير المفتاح int في الباريتا إلى أن متغير num يتم تحويله إلى نوع int.
فيتحويل نوع إجباريفي هذه الحالة، يتم تحويل نوع البيانات الأعلى (المزيد من الحجم) إلى نوع بيانات أقل (أقل حجم). لذا، هناك فقدان للبيانات. هذا هو السبب في أن هذا النوع من التحويلات لا يحدث تلقائيًا.
الاحتياطهذا يُعرف أيضًا بتحويل نوع صريح.
دعونا نرى بعض الأمثلة الأخرى للتحويلات بين الأنواع في Java.
class Main { public static void main(String[] args) { // إنشاء متغير نوع int int num = 10; System.out.println("قيمة العدد: " + num); // تحويل نوع int إلى نص String data = String.valueOf(num); System.out.println("قيمة السلسلة: " + data); } }
نتيجة الخرج
قيمة العدد: 10 قيمة السلسلة: 10
انتبه إلى هذا السطر في البرنامج السابق
String data = String.valueOf(num);
في هذا السياق، نستخدمفئة Java Stringمетод الـvalueOf() يحوّل متغير نوع int إلى نص.
class Main { public static void main(String[] args) { //إنشاء متغير نوع سلسلة String data = "10"; System.out.println("قيمة السلسلة: " + data); //تحويل متغير السلسلة إلى عدد int num = Integer.parseInt(data); System.out.println("قيمة العدد: " + num); } }
نتيجة الخرج
قيمة السلسلة: 10 قيمة العدد: 10
في المثال السابق، يرجى ملاحظة الخطوات التالية
int num = Integer.parseInt(data);
في هذا المكان، استخدمنا طريقة parseInt() من فئة Java Integer لتحويل متغير النوع السلسلة إلى متغير نوع int.
الاحتياطإذا لم يتمكن من تحويل متغير السلسلة إلى متغير عددي، فإنه سيتم إطلاق استثناء NumberFormatException.