English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
يقلب دالة Java Math negateExact() إشارة الرقم المحدد ويعود الرقم.
جملة دالة negateExact() هي:
Math.negateExact(num)
ملاحظةالنوع البياني: دالة negateExact() هي دالة ثابتة. لذلك، يمكننا استخدام اسم فئة Math للاستدلال على هذه الدالة.
num - المعامل الذي سيتم العكس منه
ملاحظةالنوع البياني للمعامل يجب أن يكون int أو long.
يعود قيمة بعدم إشارة المعامل المحدد
class Main { public static void main(String[] args) { // إنشاء متغيرات نوع int int a = 65; int b = -25; // مع دالة negateExact() بمعامل int. System.out.println(Math.negateExact(a)); // -65 System.out.println(Math.negateExact(b)); // 25 // إنشاء متغيرات long long c = 52336L; long d = -445636L; // مع دالة negateExact() بمعامل long. System.out.println(Math.negateExact(c)); // -52336 System.out.println(Math.negateExact(d)); // 445636 } }
في المثال السابق، استخدمنا دالة Math.negateExact() التي تأخذ متغيرات int وlong لتغيير إشارات هذه المتغيرات.
إذا كان الناتج من العكس يخرج من نطاق نوع البيانات، فإن دالة negateExact() تثير استثناء. أي أن الناتج يجب أن يكون داخل نطاق المتغير المحدد.
class Main { public static void main(String[] args) { // إنشاء متغير int. // أقل قيمة من نوع int int a = -2147483648; // مع دالة negateExact() بمعامل int. // يرسب استثناء System.out.println(Math.negateExact(a)); } }
في المثال السابق، قيمة a هي أقل قيمة من نوع int. هنا، يتم تغيير إشارة المتغير a بواسطة دالة negateExact().
-(a) => -(-2147483648) => 2147483648 // خارج نطاق نوع int
لذلك، يسبب طريقة negateExact() استثنائي التفوق على integer.