في هذه المقالة ، سأقدم لك مفهومًا بسيطًا ولكنه مهم وهو إضافة رقمين في Java. ولكن قبل المضي قدمًا ، أقترح عليك التعرف على 'ما هي Java' وميزات Java وكيف يمكنك تثبيت Java على نظامك ، والتي يمكنك العثور عليها في السابق . سيساعدك هذا على فهم المفاهيم القادمة بسرعة وسهولة. المدونات الأخرى في سلسلة برامج Java التعليمية هذه التي كتبها سيغطي الخبراء جميع الموضوعات المهمة في Java & J2EE بعمق ،
سيتم تغطية المؤشرات التالية في هذه المقالة ،
- طريقة 1
- الطريقة الثانية
- مشغل أحادي متكرر
- جدول حلقة أولية
- عامل تشغيل Bitwise و Bitshift في Java
- العودية
فلنبدأ إذن ،
جمع رقمين في جافا
طريقة 1
دعنا نفهم مباشرة من خلال تطوير برنامج في Java لطباعة 'إضافة رقمين' على الشاشة.
Class AddTwoNumbers {public static void main (String [] args) {System.out.println (“إضافة عددين 10 + 20 هي” + (10 + 20))}}
انتاج |
يجب أن نفهم هذا ، هنا يتم إضافة الأرقام مباشرة نقول 10 + 20 أي 30. لكن ما نحصل عليه من الأرقام من وحدة التحكم. في هذه الحالة ، سيتم تخزين القيم في متغير. من حيث Java ، سيقوم متغير مصفوفة String بتخزين هذه الأرقام بناءً على فهرسها.
فئة عامة رئيسية {public static void main (String [] args) {System.out.println ('إضافة رقمين' + args [0] + '+' + args [1] + 'is' + (args [0 ] + args [1]))}}
سيكون ناتج هذا كما هو موضح في وحدة التحكم عندما نمرر نفس الرقم وهو 10 و 20.
كيف تجد أكبر رقم في مصفوفة جافا
إيه ، النتيجة التي حصلنا عليها هنا ليست مرغوبة 30. تذكر سلسلة [] args ، كل إدخال تأخذه من وحدة التحكم يتم تمثيله في سلسلة. إذن علينا هنا تحويل هذه السلاسل إلى عدد صحيح لحساب الجمع.
فئة عامة رئيسية {public static void main (String [] args) {//System.out.println(' إضافة عددين '+ args [0] +' + '+ args [1] +' is '+ (args [0] + args [1])) System.out.println ('إضافة رقمين' + args [0] + '+' + args [1] + 'هو' + (Integer.parseInt (args [0] ) + Integer.parseInt (args [1])))}}
انتاج |
الآن الناتج المطلوب هو ما نريد. هذه هي إضافة 10 و 20 هي 30 بعد تحليلنا لها من سلسلة إلى عدد صحيح.
التالي في هذه المقالة حول إضافة رقمين في Java
الطريقة الثانية
باستخدام عامل الطرح: يمكننا استخدام الطرح لجمع عددين بحيث ينفي القيمة السالبة ويؤدي بالتالي إلى الجمع.
فئة عامة AddTwoNumbers {public static int add (int a، int b) {return a - (-b)} public static void main (String [] args) {System.out.println (add (10، 20)) System. out.println (إضافة (-10، 20))}}
Ouput
30
10
التالي في هذه المقالة حول إضافة رقمين في Java
مشغل أحادي متكرر
يتضمن ذلك حلقة while ، والفكرة الأساسية وراء ذلك هي إحضار قيمة المعامل الأول إلى الصفر. والاستمرار في زيادة المعامل الثاني المقابل بنفس المقدار من التكرارات. فكر في المثال أدناه بنفسك.
فئة عامة HelloWorld {public static void main (String [] args) {System.out.println ('add' + add (10، 20)) System.out.println ('add' + add (-10، 20)) } public static int add (int a، int b) {//System.out.println ('--->' + a + ':' + b) while (a> 0) {//System.out.println ('while a> 0 --->' + a + ':' + b) b ++ a--} بينما (a<0) { //System.out.println('while a ' + a + ' : ' + b) b-- a++ } //System.out.println('return b--->'+ a +': '+ b) إرجاع b}}
Ouput
$ javac HelloWorld.java $ java -Xmx128M -Xms16M HelloWorld add 30 add 10
التالي في هذه المقالة حول إضافة رقمين في Java
عامل تشغيل Bitwise و Bitshift في Java
يمكننا أيضًا إضافة عددين صحيحين باستخدام عامل تشغيل XOR bitwise ويمكن الحصول على عملية النقل بواسطة عامل التشغيل AND. لإضافة حمل إلى المجموع ، نحتاج إلى استخدام عامل النقل الأيسر الموقعة. كيف يحدث هذا؟ دعونا نرى أولا مثالا.
فئة عامة HelloWorld {public static void main (String [] args) {System.out.println ('Addition using + ve' + addUsingBits (10، 20)) System.out.println ('Addition using -ve' + addUsingBits ( -10، 20))} public static int addUsingBits (int a، int b) {while (b! = 0) {int تحمل = (a & b) a = a ^ bb = حمل<< 1 } return a } }
انتاج |
$ javac HelloWorld.java
جافا -Xmx128M -Xms16M HelloWorld
الجمع باستخدام + ve 30
الجمع باستخدام -ve 10
تذكر دائمًا أن عملية XOR تُستخدم لتقييم إضافة بتين. AND العملية تستخدم لتقييم حمل بتين. دعونا نشريح هذا نحن؟ بالذهاب إلى قيم الإدخال ، لنأخذ أ = 10 و ب = 20 للشرط الأول.
عملية | تقييم التعبير | مكافئ ثنائي | قيمة عشرية |
إلى | 10 | 00001010 | 10 |
ب | عشرين | 00010100 | عشرين |
بينما (ب! = 0) | صحيح | ||
int تحمل = (أ & ب) | 10 و 20 | 0 | 0 |
أ = أ ^ ب | 10 ^ 20 | 00011110 | 30 |
ب = حمل<< 1 | 0<< 1 | 0 | 0 |
العودة أ | 30 | 00011110 | 30 |
الآن ، دعنا نأخذ إدخالًا سالبًا لنفترض -10 من أجل a. دعونا نفحص ما يحدث في الجدول أدناه.يتيح لنا ذلك إجراء حلقة حتى تصبح القيمة العشرية للحمل سالبة.
التالي في هذه المقالة حول إضافة رقمين في Java
جدول حلقة أولية
عملية | تقييم التعبير | مكافئ ثنائي | قيمة عشرية |
إلى | -10 | 11110110 | -10 |
ب | عشرين | 00010100 | عشرين |
بينما (ب! = 0) | صحيح | ||
int تحمل = (أ & ب) | -10 و 20 | 00010100 | عشرين |
أ = أ ^ ب | -10 ^ 20 | 11100010 | -30 |
ب = حمل<< 1 | عشرين<< 1 | 00101000 | 40 |
الحلقة 1.
عملية | تقييم التعبير | مكافئ ثنائي | قيمة عشرية |
إلى | -30 | 11100010 | -30 |
ب | 40 | 00101000 | 40 عاملي باستخدام العودية في ج |
بينما (ب! = 0) | صحيح | ||
int تحمل = (أ & ب) | -30 و 40 | 00100000 | 32 |
أ = أ ^ ب | -30 ^ 40 | 11001010 | -54 |
ب = حمل<< 1 | 32<< 1 | 00101000 | 64 |
وهكذا ، حتى تتحول الحلقة إلى b = 0 للإيجاز ، لا تظهر جميع النتائج هنا. لذلك يمثل الجدول أدناه الحلقة الأخيرة في هذه العملية.
عملية | تقييم التعبير | مكافئ ثنائي | قيمة عشرية |
إلى | -2147483638 | 111111111111111111111111111110000000000000000000000000001010 | -2147483638 |
ب | -2147483648 | 1111111111111111111111111110000000000000000000000000000000 | -2147483648 |
بينما (ب! = 0) | صحيح | ||
int تحمل = (أ & ب) | -2147483638 & -2147483648 | 1111111111111111111111111110000000000000000000000000000000 | -2147483648 |
أ = أ ^ ب | -2147483638 ^ -2147483648 | 00001010 | 10 |
ب = حمل<< 1 | -2147483648<< 1 | 0 | 0 |
العودة أ | 10 | 00001010 | 10 |
هذه هي الطريقة التي تم بها حساب الإضافة. تفو! كثيرا على الفكر. فكر فقط إذا تم إجراء هذا الحساب يدويًا بواسطة البشر ، بشكل أساسي الحسابات الثنائية.
التالي في هذه المقالة حول إضافة رقمين في Java
العودية
يمكننا أيضًا كتابة البرنامج أعلاه باستخدام العودية أيضًا. يختلف جزء الحساب اختلافًا طفيفًا ، فلننظر إلى هذا من أجل الواجب المنزلي ، فهل نحن؟ سأقدم المقتطف هنا للتكرار وستحاول بناء الجدول الخاص بك حتى تعرف كيف يعمل داخليًا. أيضًا ، لا داعي للتخلي عن كل هذا لغرض التمثيل فقط ما لم تكن متحمسًا للعمل الداخلي هنا.
public static int addUsingRecursion (int a، int b) {if (b == 0) تعيد مجموع int = a ^ b int تحمل = (a & b)<< 1 return add(sum, carry) }
كان هذا كله لإضافة رقمين في Java باستخدام عامل + وبدون استخدام عامل +. سيعتمد السبب وراء الذهاب إلى أيٍّ من هؤلاء كليًا على حاجة المشروع ومتطلباته.
لم أقم بتقييم واختبار عمل كل من السيناريو للتوصل إلى الأداء. أعتقد أن هذا لن يدخل حيز التنفيذ إلا إذا كنت تبني الصاروخ وتسليمه إلى الفضاء.
لقد شرحت فقط الأرقام المتعلقة بالأرقام الصحيحة للإيجاز والتي لها حد ذاكرة خاص بها. أترك الأمر لك لمزيد من الاستكشاف باستخدام تعويم ، ومضاعفة ، وما إلى ذلك. تذكر دائمًا أنه إذا تجاوزت القيمة الحدية للأنواع الأولية ، فستظهر النتيجة إجابة مختلفة.
تفحص ال من Edureka ، وهي شركة تعليمية موثوقة عبر الإنترنت مع شبكة تضم أكثر من 250000 متعلم راضٍ منتشرين في جميع أنحاء العالم. نحن هنا لمساعدتك في كل خطوة في رحلتك ، ولكي نصبح أفضل ما لديك ، فقد توصلنا إلى منهج مصمم للطلاب والمهنيين الذين يرغبون في أن يكونوا مطورين جافا.