الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

جمع متحولين أوليين

مغلق
بدأه mofeed chaar في 25 فبراير 2006 · 2 رد · 374 مشاهدة · في JavaSE
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

إذا جمعنا مثلا متحولين أوليين من النوع بايت وكان الناتج خارج نطاق المتحول فإن الجافا لن تعطي أي رسالة خطأ فمثلا

class A{
public static void main(String[]argv){
byte a=150;
byte b=150;
System.out.println(a+b);
}
}

النتيجة هي 300 دون أن تعطي أي رسالة خطأ لان الجافا تحولها تلقائيا إلى النمط int حتى لو كان الناتج ضمن النمط byte ولكي نحدد الناتج أن يكون ضمن النمط بايت يجب أن نضيف

pyte c=a+b;
System.out.println(c);

وفي مثالنا هذا نجد ان المترجم لا يترجم الكود لان العدد 300 خارج مجال البايت

mofeedchaar@hotmail.com

#2

السلام عليكم

مشكور أخي

بس المثال الأول المترجم لم يتعامل مع الأرقام 150 بحيث يعطي خطأ.

لكن لو غيرنا الرقم , مثلاً 105 أو 109 تتم العملية بنجاح ، ما بعرف ليش.يا ريت لو توضح.

ومشكور على الشرح والمعلومة

#3

صحيح أخي الكريم ذلك لأن العدد 150 هو خارج مجال الbyte والذي هو ضمن المجال -128 إلى 127 لذا أعطى رسالة الخطأ أثناء الترجمة و أنا أعتذر عن ذلك الخطأ

mofeedchaar@hotmail.com

هذا الموضوع مغلق.

مواضيع مشابهة