رقم
عادة ، عندما نعالج الأرقام ، نستخدم أنواع البيانات البدائية مثل Byte ، Int ، Long ، Double ، إلخ.
مثال
int i = 5000 ؛ float gpa = 13.65 ؛ قناع البايت = 0xaf ؛
ومع ذلك ، في التطوير ، نواجه مواقف نحتاج فيها إلى استخدام الكائنات بدلاً من أنواع البيانات البدائية. لتحقيق ذلك ، توفر Java فئات غلاف لكل نوع بيانات أصلي.
جميع فئات الغلاف (عدد صحيح ، طويل ، بايت ، مزدوج ، تعويم ، قصيرة) هي فئات فرعية من رقم الفئة التجريدية.
تتم معالجة هذه العبوة من قبل المترجم ، وتسمى هذه العملية الملاكمة. لذلك ، عند استخدام نوع البيانات البدائية ، عند الحاجة إلى كائن ما ، يضع المترجم البيانات البدائية في فئة التفاف. وبالمثل ، يمكن للمترجم أيضًا إخراج الكائن وإعادته إلى نوع البيانات الأصلي. الرقم جزء من حزمة Java.lang.
فيما يلي مثال على التعبئة واللصق:
اختبار الفئة العامة {public static void main (String args []) {Integer x = 5 ؛ // مربعات int لكائن عدد صحيح x = x + 10 ؛ // unboxes the Integer to a int system.out.println (x) ؛ }}هذا سوف ينتج عنه النتائج التالية:
انسخ الرمز على النحو التالي: 15
عندما يتم تعيين x قيمة عدد صحيح ، يضع التحويل البرمجي عدد صحيح في المربع لأن x هو كائن عدد صحيح. بعد ذلك ، يتم إلغاء صندوق X بحيث يمكن إضافتها كمناسبات صحيحة.
طريقة الرقم
فيما يلي قائمة بطرق المثيل التي تم تنفيذها في جميع الفئات الفرعية التي تنفذها فئة الأرقام:
| Sn | وصف الطريقة |
|---|---|
| 1 | xxxvalue () يتم تحويل قيمة كائن الرقم إلى نوع بيانات XXX وإرجاعها |
| 2 | المقارنة () قارن كائن الرقم هذا بالمعلمات |
| 3 | يساوي () تحديد ما إذا كان كائن الرقم هذا يساوي المعلمة |
| 4 | قيمة () إرجاع كائن عدد صحيح يحمل القيمة الأصلية المحددة |
| 5 | tostring () إرجاع كائن سلسلة يمثل قيمة int أو عدد صحيح محدد |
| 6 | Parseint () يتم استخدام هذه الطريقة للحصول على نوع البيانات الأصلي للسلسلة |
| 7 | ABS () إرجاع القيمة المطلقة للمعلمة |
| 8 | سقف() الحد الأدنى لعدد عدد صحيح أكبر من أو يساوي هذه المعلمة. العودة كما مضاعفة |
| 9 | أرضية() الحد الأقصى لعدد عدد صحيح أقل من أو يساوي هذه المعلمة. العودة كما مضاعفة |
| 10 | rint () إرجاع عدد صحيح ، وهو أقرب قيمة لقيمة المعلمة. العودة كما مضاعفة |
| 11 | دائري() إرجاع أقرب طويل أو int ، المعلمة المشار إليها من نوع الإرجاع لهذه الطريقة |
| 12 | مين () إرجاع أصغر المعلمتين |
| 13 | الأعلى() إرجاع أكبر المعلمتين |
| 14 | exp () إرجاع قاعدة e من اللوغاريتم الطبيعي ، قيمة الطاقة لهذه المعلمة |
| 15 | سجل() إرجاع اللوغاريتم الطبيعي للمعلمة |
| 16 | أسير الحرب () إرجاع قيمة الطاقة للمعلمة الأولى إلى المعلمة الثانية |
| 17 | SQRT () إرجاع الجذر التربيعي للمعلمة |
| 18 | الخطيئة () إرجاع القيمة الجيب للقيمة المزدوجة المحددة |
| 19 | كوس () إرجاع قيمة جيب التمام للقيمة المزدوجة المحددة |
| 20 | تان () إرجاع قيمة الظل للقيمة المزدوجة المحددة |
| واحد وعشرون | asin () إرجاع الجيب العكسي للقيمة المزدوجة المحددة |
| إثنان وعشرون | ACOS () إرجاع قيمة جيب التمام العكسي للقيمة المزدوجة المحددة |
| ثلاثة وعشرين | atan () إرجاع القيمة arctangent للقيمة المزدوجة المحددة |
| أربعة وعشرون | ATAN2 () تحويل الإحداثيات الديكارتية (x ، y) إلى الإحداثيات القطبية (r ، θ) والعودة θ |
| 25 | Todegrees () تحويل المعلمات إلى الدرجات |
| 26 | توريديان () تحويل المعلمات إلى راديان |
| 27 | عشوائي() إرجاع رقم عشوائي |
صفيف
يوفر Java بنية بيانات: صفيف ، يخزن مجموعة مستمرة ذات حجم ثابت من نفس النوع. المصفوفات هي مجموعات تستخدم لتخزين البيانات ، ولكن غالبًا ما تعتبر المصفوفات مجموعات من المتغيرات من نفس النوع.
على عكس إعلان متغير واحد ، مثل الرقم 0 ، الرقم 1 ، ... الرقم 99 ، يعلن عن متغير صفيف ، مثل الأرقام ويستخدم الأرقام [0] ، الأرقام [1] ... ، الأرقام [99] لتمثيل كل متغير.
سيشرح هذا البرنامج التعليمي كيفية إعلان متغيرات الصفيف باستخدام متغيرات الفهرس ، وإنشاء صفائف ، ومصفوفات العملية.
إعلان متغيرات الصفيف
لاستخدام مجموعة من البرنامج ، يجب أن تعلن متغيرًا للإشارة إلى الصفيف ، ويجب عليك تحديد النوع الذي يمكن أن يشير إليه متغير الصفيف. فيما يلي بناء الجملة لإعلان متغير صفيف:
نوع البيانات [] arrayrefvar ؛ // الطريق المفضل.
أو
نوع البيانات arrayrefvar [] ؛ // يعمل ولكن ليس الطريق المفضل.
ملاحظة نماذج datatype [] arrayrefvar مفضل. نمط datatype arrayrefvar [] يأتي من لغة C/C ++ ، والتي هي مريحة لجافا لراثي نمط البرمجة C/C ++.
مثال
مقتطف الكود التالي هو مثال على هذا الجملة:
مزدوج [] MyList ؛ // الطريق المفضل.
أو
مضاعفة mylist [] ؛ // يعمل ولكن ليس الطريق المفضل.
إنشاء صفيف
يمكن إنشاء صفيف باستخدام بناء الجملة التالي باستخدام المشغل الجديد:
ArrayRefvar = نوع بيانات جديد [ArraySize] ؛
البيان أعلاه يفعل شيئين:
إعلان متغيرات المصفوفة ، وإنشاء صفيف ، وتعيينها إلى مراجع صفيف متغيرة يمكن استخدامها مجتمعة في بيان ، على النحو التالي:
نوع البيانات [] ArrayRefvar = نوع بيانات جديد [ArraySize] ؛
بالإضافة إلى ذلك ، يمكنك إنشاء صفيف على النحو التالي:
datatype [] ArrayRefvar = {value0 ، value1 ، ... ، valuek} ؛يتم الوصول إلى عناصر الصفيف من خلال الفهارس. تبدأ مشتركات الصفيف في 0 ، أي أنها تبدأ من 0 إلى ArrayRefvar.length-1.
مثال
يعلن البيان التالي عن MyList متغير صفيف ، ويقوم بإنشاء مجموعة من 10 عناصر من النوع المزدوج ، ويعين إشارة إلى MyList:
Double [] MyList = New Double [10] ؛
تمثل الصورة التالية مجموعة MyList. هنا ، يحتوي MyList على 10 قيم مزدوجة ، والفهرس من 0 إلى 9.
صفائف المعالجة
عند معالجة عناصر الصفيف ، غالبًا ما تستخدم حلقات الحلقة أو حلقات foreach لأن جميع العناصر في صفيف من نفس النوع ويعرف حجم الصفيف.
مثال
فيما يلي مثال كامل يوضح كيفية إنشاء صفيف وتهيئته ومعالجته:
الفئة العامة testarray {public static void main (string [] args) {double [] MyList = {1.9 ، 2.9 ، 3.4 ، 3.5} ؛ // طباعة جميع عناصر الصفيف لـ (int i = 0 ؛ i <myList.length ؛ i ++) {system.out.println (myList [i]+"") ؛ } // جمع جميع العناصر مجموع المزدوجة = 0 ؛ لـ (int i = 0 ؛ i <mylist.length ؛ i ++) {total+= myList [i] ؛ } system.out.println ("total is" + total) ؛ // العثور على أكبر عنصر مزدوج كحد أقصى = MyList [0] ؛ لـ (int i = 1 ؛ i <mylist.length ؛ i ++) {if (myList [i]> max) max = myList [i] ؛ } system.out.println ("max is" + max) ؛ }}هذا سوف ينتج عنه النتائج التالية:
1.92.93.43.5total هو 11.7max هو 3.5
حلقة Foreach
يقدم JDK 1.5 جديدًا لـ Loop المسمى Foreach Loop أو محسّن للحلقة ، والذي لا يتطلب متغير فهرس لاجتياز الصفيف تمامًا.
مثال
يعرض الرمز التالي جميع العناصر في مجموعة MyList:
الفئة العامة testarray {public static void main (string [] args) {double [] MyList = {1.9 ، 2.9 ، 3.4 ، 3.5} ؛ // طباعة جميع عناصر الصفيف لـ (عنصر مزدوج: MyList) {system.out.println (element) ؛ }}}هذا سوف ينتج عنه النتائج التالية:
1.92.93.43.5
تمرير صفيف إلى طريقة
تمامًا مثل الطريقة التي تمرر قيمة النوع البدائي ، يمكن أيضًا تمرير مجموعة إلى طريقة. على سبيل المثال ، تعرض الطريقة التالية عناصر في صفيف int:
printarray printArray الثابتة العامة (int []) {for (int i = 0 ؛ i <array.length ؛ i ++) {system.out.print (Array [i]+"") ؛ }}يمكنك تسميته عن طريق تمرير صفيف. على سبيل المثال ، يستدعي البيان التالي الطريقة PrintArray لعرض 3 ، 1 ، 2 ، 6 ، 4 ، 2:
printArray (new int [] {3 ، 1 ، 2 ، 6 ، 4 ، 2}) ؛ أعد صفيف من طريقة
يمكن أن تعيد الطريقة أيضًا صفيفًا. على سبيل المثال ، تُرجع الطريقة الموضحة أدناه صفيفًا وهو انعكاس لمجموعة أخرى:
int static int [] العكس (int [] قائمة) {int [] result = new int [list.length] ؛ لـ (int i = 0 ، j = result.length-1 ؛ i <list.length ؛ i ++ ، j--) {result [j] = list [i] ؛ } نتيجة الإرجاع ؛} صف المصفوفات
يحتوي الفصل في java.util.arrays على طرق ثابتة مختلفة لفرز المصفوفات والبحث ، ومقارنة المصفوفات وعناصر الصفيف. هذه الطرق مثقلة لجميع الأنواع البدائية.
| Sn | الطرق والأوصاف |
|---|---|
| 1 | STATIC int -binarysearch (كائن [] A ، مفتاح الكائن) استخدم خوارزمية البحث الثنائي للبحث عن الصفيف المحدد (البايتات ، الأعداد الصحيحة ، الزوجي ، إلخ) للكائن لتحديد القيمة. يجب تصنيف الصفيف قبل إجراء هذه المكالمة. إذا تم تضمينه في القائمة (-(نقطة الإدراج + 1) ، فسيتم إرجاع الكلمة الرئيسية للبحث عن الفهرس. |
| 2 | المنطق الثابت العام يساوي (طويل [] أ ، طويل [] A2) إرجاع صحيح إذا كانت المصفوفتان المحددتان من رأس طويل مساويين لبعضهما البعض. تعتبر صفائفان طرق تحديد المساواة: إذا كانت صفيفتان تحتويان على نفس عدد العناصر وجميع الأزواج المقابلة لعنصر الصفيفتين متساوية. إرجاع صحيح إذا كانت الصفيفتين متساوية. يمكن استخدام نفس الطريقة لجميع أنواع البيانات البدائية الأخرى (بايت ، قصيرة ، int ، إلخ) |
| 3 | ملء الفراغ الثابت العام (int [] A ، int val) يضع قيمة int المحددة لكل عنصر في صفيف النوع Int المحدد. يمكن استخدام نفس الطريقة لجميع أنواع البيانات البدائية الأخرى (بايت ، قصيرة ، int إلخ) |
| 4 | فرز الفراغ الثابت العام (كائن [] أ) يرتب الصفيف المحدد بواسطة ترتيب تصاعدي الكائن ، وفقًا للترتيب الطبيعي لعناصره. يمكن استخدام نفس الطريقة لجميع أنواع البيانات البدائية الأخرى (بايت ، قصيرة ، int ، إلخ) |