النتائج 1 إلى 6 من 6
الموضوع:

array in Java

الزوار من محركات البحث: 15 المشاهدات : 842 الردود: 5
جميع روابطنا، مشاركاتنا، صورنا متاحة للزوار دون الحاجة إلى التسجيل ، الابلاغ عن انتهاك - Report a violation
  1. #1
    من أهل الدار
    мᾄḋʀἶḋ'ṩ ʛἶʀl
    تاريخ التسجيل: March-2014
    الدولة: Iraq,Thi-Qar
    الجنس: أنثى
    المشاركات: 3,271 المواضيع: 329
    صوتيات: 7 سوالف عراقية: 0
    التقييم: 1197
    مزاجي: :)
    المهنة: programmer
    موبايلي: IPhone 8Plus
    آخر نشاط: 21/February/2020
    مقالات المدونة: 3

    array in Java

    المصفوفات


    المصفوفة هي كائن حاوي، يحتوي على عدد محدد من العناصر ذات صنف واحد. يتم تحديد طول المصفوفة عند إنشائها. بعد الإنشاء، طول المصفوفة يبقى تابثا. لقد سبق ورأينا مثال عن المصفوفات، في الطريقة main لبرنامج "Hello World!". سنقوم الآن بالتعمق أكثر في المصفوفات.


    كل قيمة في المصفوفة تسمى "عنصر"، ويتم الوصول لكل عنصر باستعمال مؤشره الرقمي. كما يظهر في الصورة، الترقيم يبدأ من الصفر 0. يتم الوصول للعنصر التاسع مثلا باستعمال المؤشر 8.
    البرنامج التالي، ArrayDemo، يقوم بإنشاء مصفوفة من الأعداد الصحيحة، يملأها ببعض القيم، ويطبع قيمة كل عنصر. class ArrayDemo {
    public static void main(String[] args) {
    int[] anArray; // إعلان مصفوفة من الأعداد الصحيحة

    anArray = new int[10]; // حجز الذاكرة ل 10 أعداد صحيحة

    anArray[0] = 100; // تهيئة العنصر الأول
    anArray[1] = 200; // تهيئة العنصر الثاني
    anArray[2] = 300; // ...
    anArray[3] = 400;
    anArray[4] = 500;
    anArray[5] = 600;
    anArray[6] = 700;
    anArray[7] = 800;
    anArray[8] = 900;
    anArray[9] = 1000;
    كود:
              System.out.println("Element at index 0: " + anArray[0]);
              System.out.println("Element at index 1: " + anArray[1]);
              System.out.println("Element at index 2: " + anArray[2]);
              System.out.println("Element at index 3: " + anArray[3]);
              System.out.println("Element at index 4: " + anArray[4]);
              System.out.println("Element at index 5: " + anArray[5]);
              System.out.println("Element at index 6: " + anArray[6]);
              System.out.println("Element at index 7: " + anArray[7]);
              System.out.println("Element at index 8: " + anArray[8]);
              System.out.println("Element at index 9: " + anArray[9]);
         }
    }
    مخرج البرنامج هو كالتالي :
    كود:
     Element at index 0: 100
    Element at index 1: 200
    Element at index 2: 300
    Element at index 3: 400
    Element at index 4: 500
    Element at index 5: 600
    Element at index 6: 700
    Element at index 7: 800
    Element at index 8: 900
    Element at index 9: 1000
    في مواقف برمجية واقعية، سنستعمل في الغالب واحدة من أشكال الحلقات للمرور عبر عناصر المصفوفة، بدل كتابة كل سطر على حدة، كما في المثال السابق. لكن المثال يظهر بوضوح صياغة المصفوفات. سنتعرف على مختلف أشكال الحلقات ( for, while & do-while ) في درس التحكم في السير (سير تنفيذ الشيفرة) .
    إعلان متغير يدل على مصفوفة

    البرنامج السابق يعلن المصفوفة anArray باستعمال السطر التالي
    int[] anArray; // إعلان مصفوفة من الأعداد الصحيحة

    كما الإعلان بالنسبة للمتغيرات من أنواع أخرى، الإعلان عن مصفوفة يحتوي على مكونين: نوع المصفوفة وإسمها. نوع المصفوفة يكتب كالتالي []type ،حيث type هو نوع العناصر داخل المصفوفة؛ الأقواس المربعة هى رمز خاص يبين أن المتغير يحتوي على مصفوفة. حجم المصفوفة ليس جزءا من نوعه (لهذا السبب الأقواس المربعة فارغة).
    إسم المصفوفة يمكن أن يكون أي شيء نريد، مادام يحترم القواعد كما المبينة في قسم التسمية. كما المتغيرات من باقي الأنواع، إعلان المصفوفة لا يقوم بإنشائها -- يقوم فقط بالقول للمُجَمِّع أن المتغير سيحتوي على مصفوفة من النوع المحدد.
    أيضا، يمكن إعلان مصفوفات من أنواع أخرى:
    كود:
    byte[] anArrayOfBytes;
    short[] anArrayOfShorts;
    long[] anArrayOfLongs;
    float[] anArrayOfFloats;
    double[] anArrayOfDoubles;
    boolean[] anArrayOfBooleans;
    char[] anArrayOfChars;
    String[] anArrayOfStrings;
    يمكن أيضا وضع الأقواس المربعة بعد إسم المصفوفة:
    float anArrayOfFloats[]; // لا ينصح بهذه الطريقة
    لكن لا ينصح باستعمال هذه الطريقة؛ الأقواس تميز نوع المصفوفة وبالتالي يفترض أن تظهر بجانب النوع. إنشاء، تهيئة، والوصول للمصفوفة

    إحدى طرق إنشاء مصفوفة استعمال العامل new. السطر التالي من برنامج ArrayDemo ينشئ مصفوفة لها ما يكفي من الذاكرة ل 10 أعداد صحيحة، ويخزن المصفوفة في المتغير anArray.
    anArray = new int[10]; // إنشاء مصفوفة من الأعداد الصحيحة
    إذا كان هذا السطر غير موجود، فإن المجمع سيطبع رسالة الخطأ التالية، وستفشل عملية التجميع. ArrayDemo.java Variable anArray may not have been initialized. السطور التالية تحدد قيمة كل عنصر من المصفوفة: anArray[0] = 100; // تهيئة العنصر الأول
    anArray[1] = 200; // تهيئة العنصر الثاني
    anArray[2] = 300; // ...

    يتم الوصول لكل عنصر من المصفوفة باستعمال مؤشره الرقمي:
    كود:
    System.out.println("Element 1 at index 0: " + anArray[0]);
    System.out.println("Element 2 at index 1: " + anArray[1]);
    System.out.println("Element 3 at index 2: " + anArray[2]);
    توجد أيضا طريقة أخرى لإنشاء وتهيئة المصفوفة: int[] anArray = {100, 200, 300, 400, 500, 600, 700, 800, 900, 1000};

    في هذه الحالة، حجم المصفوفة هو عدد العناصر الموجودة بين } و {. يمكننا أيضا إعلان مصفوفة مصفوفات (تعرف أيضا بمصفوفة متعددة الأبعاد) وذلك باستعمال قوسين مربعين أو أكثر، مثل
    String[][] names
    ويتم الوصول لكل عنصر باستعمال نفس العدد من المؤشرات. في لغة البرمجة جافا، المصفوفة متعددة الأبعاد هي ببساطة مصفوفة يحتوي كل عنصر منها على مصفوفة. هذا مختلف عن المصفوفات في C أو Fortran. كنتيجة لذلك، يمكن للسطور أن تكون مختلفة في الحجم، كما هو مبين في البرنامج MultiDimArrayDemo
    كود:
    : 
    
    class MultiDimArrayDemo {
        public static void main(String[] args) {
            String[][] names = {{"Mr. ", "Mrs. ", "Ms. "},
                                {"Smith", "Jones"}};
            System.out.println(names[0][0] + names[1][0]); //Mr. Smith
            System.out.println(names[0][2] + names[1][1]); //Ms. Jones
        }
    }
    خارج البرنامج هو: Mr. Smith
    Ms. Jones
    وفي النهاية، يمكن استعمال الخاصية length لتحديد حجم مصفوفة ما. الشيفرة التالية: System.out.println(anArray.length);
    ستقوم بطباعة حجم المصفوفة. نسخ المصفوفات

    الفئة System تتوفر على الطريقة arraycopy التي تمكننا من نسخ مصفوفة إلى أخرى بطريقة فعالة.
    كود:
    public static void arraycopy(Object src,
                                 int srcPos,
                                 Object dest,
                                 int destPos,
                                 int length)
    المعطيان من صنف Object يحددان المصفوفة التي سننسخ منها والمصفوفة التي سننسخ إليها. الثلاث معطيات من نوع int تحدد موقع البداية في المصفوفة الأصل، موقع البداية في المصفوفة الهدف، وعدد العناصر التي سيتم نسخها. البرنامج التالي، ArrayCopyDemo، يعلن مصفوفة عناصر char، يحتوي على حروف الكلمة "decaffeinated". البرنامج يستعمل arraycopy لنسخ جزء من المصفوفة إلى مصفوفة ثانية:

    كود:
    class ArrayCopyDemo {
        public static void main(String[] args) {
            char[] copyFrom = { 'd', 'e', 'c', 'a', 'f', 'f', 'e',
        'i', 'n', 'a', 't', 'e', 'd' };
            char[] copyTo = new char[7];
    
            System.arraycopy(copyFrom, 2, copyTo, 0, 7);
            System.out.println(new String(copyTo));
        }
    }
    خارج البرنامج هو: caffein

  2. #2
    مدير المنتدى
    تاريخ التسجيل: January-2010
    الدولة: جهنم
    الجنس: أنثى
    المشاركات: 84,944 المواضيع: 10,515
    صوتيات: 15 سوالف عراقية: 13
    التقييم: 87260
    مزاجي: متفائلة
    المهنة: Sin trabajo
    أكلتي المفضلة: pizza
    موبايلي: M12
    آخر نشاط: منذ 21 دقيقة
    مقالات المدونة: 18
    مشكوره ع المجهود عمري

  3. #3
    من المشرفين القدامى
    تاريخ التسجيل: September-2014
    الجنس: ذكر
    المشاركات: 4,511 المواضيع: 216
    التقييم: 1659
    آخر نشاط: 8/November/2016
    مقالات المدونة: 2
    جهود مميزة ...
    وموضوع مفيد ...
    دعائنا لكم بالموفقية والنجاح ...

  4. #4
    من أهل الدار
    мᾄḋʀἶḋ'ṩ ʛἶʀl
    شكرا ع مروركم العطر

  5. #5
    صديق جديد
    تاريخ التسجيل: November-2014
    الجنس: ذكر
    المشاركات: 14 المواضيع: 1
    صوتيات: 0 سوالف عراقية: 3
    التقييم: 4
    آخر نشاط: 24/November/2014
    مقالات المدونة: 2
    شكرا جزيلا
    الاسبوع الراح جانت محاضرتنا المصفوفات بلغة الجافا
    والمنتدى فادني هواية
    اخر مواضيعيترحيب + تهنئة

  6. #6
    من أهل الدار
    мᾄḋʀἶḋ'ṩ ʛἶʀl
    اقتباس المشاركة الأصلية كتبت بواسطة Laith Osama مشاهدة المشاركة
    شكرا جزيلا
    الاسبوع الراح جانت محاضرتنا المصفوفات بلغة الجافا
    والمنتدى فادني هواية
    الحمد لله و شكرا ع المرور

تم تطوير موقع درر العراق بواسطة Samer

قوانين المنتديات العامة

Google+

متصفح Chrome هو الأفضل لتصفح الانترنت في الجوال