English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

التعليمات الأساسية لـ Java

Java Control Flow

Java Arrays

Java Object-Oriented (I)

Java Object-Oriented (II)

Java Object-Oriented (III)

معالجة الاستثنائات في Java

Java List

Java Queue (Queue)

Java Map Collections

Java Set Collections

Java Input/Output (I/O)

Java Reader/Writer

Java Other Topics

النصائح (Arrays) في Java

في هذا الدليل، سنتعلم استخدام المجموعات في Java. سنتعلم من خلال الأمثلة إعلان، وتحديد الحالة الأولية، والوصول إلى عناصر المجموعة.

 المجموعة هي مجموعة من البيانات المتشابهة. إنها حاوية تستخدم لحفظ بيانات نوع واحد (قيم). على سبيل المثال، يمكنك إنشاء مجموعة يمكنها حفظ 100 قيمة من النوع int.

في Java، المجموعة هي بنية أساسية تسمح لك بتخزين ووصول إلى كميات كبيرة من القيم العادية.

كيفية إعلان المجموعة؟

في Java، هذا هو كيفية إعلان المجموعات.

dataType[] arrayName;
  • dataType - يمكن أن يكونbasic data type، مثل int، char، double، byte وما إلى ذلك، يمكن أن يكون أيضًاJava object

  • arrayName - إنهمُعرف

لنقم بذكر مثال

double[] data;

 في هذا السياق، data هي مجموعة يمكنها حفظ القيم من النوع double.

لكن، كم عدد العناصر التي يمكنها استيعابها؟

 سؤال جيد! يجب علينا تخصيص ذاكرة التخزين للمجموعة. سيحدد الذاكرة عدد العناصر التي يمكن لمجموعة استيعابها.

data = new Double[10];

 في هذا السياق، حجم المجموعة هو 10. هذا يعني أن يمكنها استيعاب 10 عنصر (10 قيم من نوع double精度). حجم المجموعة يُطلق عليه أيضًا طول المجموعة.

注意:بمجرد تعريف طول المجموعة، لا يمكن تغييرها في البرنامج.

لنقم بذكر مثال آخر:

int[]	age;
age	=	new	int[5];

这age是一个数组。它可以容纳5个int类型的值。

 在Java中,我们可以在一条语句中声明和分配数组的内存。例如,

int[] age = new int[5];

Java 数组 索引

 在Java中,数组中的每个元素都与一个数字相关联。这个数字称为数组索引。我们可以使用这些索引来访问数组的元素。例如,

int[] age = new int[5];
Java 数组 索引

在这里,我们有一个长度为5的数组。在图中,我们可以看到每个元素都由一个数字(数组索引)组成。数组索引始终从0开始。

现在,我们可以使用索引号来访问数组的元素。例如,要访问数组的第一个元素,我们可以使用age[0],第二个元素使用age[1]访问,依此类推。

注意:如果数组的长度是n,则数组的第一个元素将是arrayName[0],最后一个元素将是arrayName[n-1]。

如果我们没有将任何值存储到数组中,数组将单独存储一些默认值(0表示int类型,false表示布尔类型)。例如,

class ArrayExample {
    public static void main(String[] args) {
    
        //	创建一个长度为5的数组 
        int[] age = new int[5];
     
        //	使用索引号访问数组的每个元素
        System.out.println(age[0]);
        System.out.println(age[1]);
        System.out.println(age[2]);
        System.out.println(age[3]);
        System.out.println(age[4]);
    }
}

الإخراج:

0
0
0
0
0

 在上面的示例中,我们创建了一个名为age的数组。但是,我们没有给数组赋值。因此,当我们访问数组的各个元素时,默认值被打印到屏幕上。

在这里,我们分别访问数组的元素。有一种更好的方法可以使用循环(通常为for循环) 访问数组元素。例如,

class ArrayExample {
    public static void main(String[] args) {
        //	创建一个长度为5的数组
        int[] age = new int[5];
        //	使用for循环访问元素
        for (int i = 0; i < 5; ++i) {
            System.out.println(age[i]);
        }
    }
}

الإخراج:

0
0
0
0
0

如何在Java中初始化数组?

 在Java中,我们可以在声明期间初始化数组,也可以在以后根据需要在程序中初始化。

声明期间初始化数组

 下面是如何在声明期间初始化数组。

int[]	age	=	{12,	4,	5,	2,	5};

此语句创建一个名为age的数组,并使用大括号中提供的值初始化它。

 数组的长度由大括号内用逗号分隔的值的数目决定。在我们的实例中,age的长度是5。

Java 数组 初始化

让我们编写一个简单的程序来打印此数组的元素。

class ArrayExample {
    public static void main(String[] args) {
        //	创建一个数组
        int[]	age	=	{12,	4,	5,	2,	5};
        // يتم الوصول إلى عنصر المصفوفة من خلال قيمة مؤشر المصفوفة
        for (int i = 0; i < 5; ++i) {
            System.out.println("موقع العنصر " + i +": " + age[i]);
        }
    }
}

الإخراج:

موقع العنصر 0: 12
موقع العنصر 1: 4
موقع العنصر 2: 5
موقع العنصر 3: 2
موقع العنصر 4: 5

كيف يمكننا الوصول إلى عناصر المصفوفة؟

كما ذكرنا سابقًا، يمكننا استخدام المؤشرات الرقمية بسهولة لاستدعاء وتغيير عناصر المصفوفة. على سبيل المثال،

class ArrayExample {
    public static void main(String[] args) {
        int[] age = new int[5];
        // إدراج 14 في العنصر الثالث
        age[2] = 14;
        // إدراج 34 في العنصر الأول
        age[0] = 34;
        for (int i = 0; i < 5; ++i) {
            System.out.println("موقع العنصر " + i +": " + age[i]);
        }
    }
}

الإخراج:

موقع العنصر 0: 34
موقع العنصر 1: 0
موقع العنصر 2: 14
موقع العنصر 3: 0
موقع العنصر 4: 0

مثال: مصفوفة Java

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

class SumAverage {
    public static void main(String[] args) {
        int[] numbers = {2, -9, 0, 5, 12, -25, 22, 9, 8, 12};
        int sum = 0;
        Double average;
     
        // لاستدعاء عنصر في كل دورة من الدورة
        for (int number : numbers) {
            sum += number;
        }
     
        int arrayLength = numbers.length;
        // يتم تحويل sum و طول المصفوفة إلى نوع double لأن متوسط average هو نوع double
        average = ((double)sum / (double)arrayLength);
        System.out.println("المجموع = " + sum);
        System.out.println("متوسط = " + average);
    }
}

الإخراج:

المجموع = 36
متوسط = 3.6

في المثال السابق، قمنا بإنشاء مصفوفة عددية مسماة. نستخدم دالة for...each لاستدعاء كل عنصر من مصفوفة. للحصول على معلومات أكثر عن دالة for...each، يرجى زيارةدورة for ... each في Java.

في الدورة، نحسب مجموع كل عنصر. لاحظ هذا السطر،

int arrayLength = number.length;

في هذا المكان، نستخدم خاصية length من المصفوفة لحساب حجم المصفوفة. ثم نستخدم المعادلة التالية لحساب المعدل:

average = ((double)sum / (double)arrayLength);

كما ترون، نحن نقوم بتحويل قيم int إلى double. في Java، يُدعى هذا بتحويل النوع. للحصول على معلومات إضافية حول تحويل النوع، يرجى زيارةتحويلات النوع في Java.

مجمع الأبعاد

 الآن، المصفوفة التي نتحدث عنها هي مصفوفة خطية. ولكن يمكننا إعلان مجمع الأبعاد في Java.
مجمع الأبعاد هو مصفوفة من المصفوفات. أي أن كل عنصر في مجمع الأبعاد هو مصفوفة نفسها. على سبيل المثال،

double[][] matrix = {{1.2, 4.3, 4.0}, 
      {4.1, -1.1}
};

هنا، قمنا بإنشاء مجمع الأبعاد matrix. إنه مصفوفة ثنائية. للحصول على معلومات إضافية، يرجى زيارةمجمعات الأبعاد في Java.