"إذا أراد العامل أن يؤدي عمله بشكل جيد، فعليه أولاً أن يشحذ أدواته." - كونفوشيوس، "مختارات كونفوشيوس. لو لينجونج"
الصفحة الأمامية > برمجة > لماذا يُظهر كود Java الخاص بي خطأ \"عدد صحيح حرفي خارج النطاق\" على الرغم من أنني أستخدم متغيرًا طويلًا؟

لماذا يُظهر كود Java الخاص بي خطأ \"عدد صحيح حرفي خارج النطاق\" على الرغم من أنني أستخدم متغيرًا طويلًا؟

تم النشر بتاريخ 2024-11-13
تصفح:505

Why does my Java code throw an \

فهم أنواع البيانات ومعالجة الأخطاء

في الكود الخاص بك، قمت بتعريف متغير طويل اسمه testLong وحاولت تعيين القيمة 9223372036854775807 ومع ذلك، فقد واجهت خطأ يفيد بأن القيمة الحرفية خارج نطاق int النوع.

دور أنواع البيانات

يمثل كل نوع بيانات في Java نطاقًا مختلفًا من القيم. يمكن أن يحتوي نوع البيانات الطويل على قيم عددية بين -9,223,372,036,854,775,808 و9,223,372,036,854,775,807. تقع القيمة التي حاولت محاولتها ضمن هذا النطاق.

تحديد الخطأ تشير رسالة الخطأ التي تلقيتها إلى أن المترجم يفسر الحرفي 9223372036854775807 كنوع int، والذي يحتوي على نطاق قيمة أصغر. سبب هذا التفسير هو غياب الحرف 'L' في نهاية الحرف.

تصحيح الكود

لحل هذه المشكلة، يجب عليك صراحةً تحديد أن الحرفي من النوع طويل. يمكن القيام بذلك عن طريق إضافة الحرف 'L' إلى نهاية الحرف، كما هو موضح أدناه:

long testLong = 9223372036854775807L;

مع هذا التعديل، سيعمل المترجم بشكل صحيح قم بتفسير القيمة الحرفية كقيمة طويلة وقم بتعيينها للمتغير testLong.
            
أحدث البرنامج التعليمي أكثر>

تنصل: جميع الموارد المقدمة هي جزئيًا من الإنترنت. إذا كان هناك أي انتهاك لحقوق الطبع والنشر الخاصة بك أو الحقوق والمصالح الأخرى، فيرجى توضيح الأسباب التفصيلية وتقديم دليل على حقوق الطبع والنشر أو الحقوق والمصالح ثم إرسالها إلى البريد الإلكتروني: [email protected]. سوف نتعامل مع الأمر لك في أقرب وقت ممكن.

Copyright© 2022 湘ICP备2022001581号-3