Skip to main content
Category

java

برامج جافا محلولة

تعتبر لغة جافا من أهم اللغات البرمجية في العالم، وتستخدم في العديد من المجالات والصناعات، مثل تطوير تطبيقات الهواتف الذكية، والمواقع الإلكترونية، وتطبيقات الأعمال. وبالتالي، فإن تعلم الجافا يمكن أن يفتح لك أبوابًا عديدة في عالم البرمجة والتقنية.

إذا كنت تريد تعلم الجافا، فإليك بعض الخطوات التي يمكن اتباعها:

  1. تعلم أساسيات البرمجة: يجب أن تكون لديك فهم جيد لأساسيات البرمجة، مثل المتغيرات والعمليات الحسابية والتحكم في التدفق.

  2. الحصول على كتب ودورات تعليمية: يمكنك البدء في تعلم الجافا عن طريق الحصول على كتب ودورات تعليمية على الإنترنت، والتي يمكن أن تساعدك على فهم اللغة وتطبيقاتها بشكل أفضل.

  3. العمل على المشاريع العملية: يمكنك تحسين مهاراتك في الجافا عن طريق العمل على مشاريع عملية، مثل تطوير تطبيقات بسيطة أو العمل على مشروع مفتوح المصدر.

  4. التدريب على العمل الجماعي: يمكنك التدريب على العمل الجماعي مع فريق من المبرمجين الذين يعملون بلغة الجافا، وهذا سيساعدك على تحسين مهاراتك وتعلم أساليب عمل الفرق.

  5. العمل في المشاريع الحقيقية: يمكنك الحصول على تجربة عملية في الجافا عن طريق العمل في المشاريع الحقيقية، سواء كان ذلك عن

 هنا بعض الأمثلة المحلولة في الجافا:

1. برنامج يقوم بطباعة عبارة تحية:

“`
public class HelloWorld {
public static void main(String[] args) {
System.out.println(“Hello, World!”);
}
}
“`

2. برنامج يقوم بطباعة الأرقام من 1 إلى 10:

“`
public class PrintNumbers {
public static void main(String[] args) {
for (int i = 1; i <= 10; i++) {
System.out.println(i);
}
}
}
“`

3. برنامج يقوم بإجراء عملية جمع بين رقمين:

“`
public class AddNumbers {
public static void main(String[] args) {
int x = 5;
int y = 10;
int sum = x + y;
System.out.println(“Sum = ” + sum);
}
}
“`

4. برنامج يقوم بإيجاد المجموع والمتوسط لمجموعة من الأرقام:

“`
public class CalculateSumAndAverage {
public static void main(String[] args) {
int[] numbers = {5, 10, 15, 20, 25};
int sum = 0;
for (int number : numbers) {
sum += number;
}
double average = (double)sum / numbers.length;
System.out.println(“Sum = ” + sum);
System.out.println(“Average = ” + average);
}
}
“`

5. برنامج يقوم بإيجاد مجموع الأرقام الزوجية بين 1 و 10:

“`
public class SumOfEvenNumbers {
public static void main(String[] args) {
int sum = 0;
for (int i = 1; i <= 10; i++) {
if (i % 2 == 0) {
sum += i;
}
}
System.out.println(“Sum of even numbers = ” + sum);
}
}
“`

6. برنامج يقوم بإيجاد أكبر رقم في مجموعة من الأرقام:

“`
public class FindLargestNumber {
public static void main(String[] args) {
int[] numbers = {5, 10, 15, 20, 25};
int max = numbers[0];
for (int i = 1; i < numbers.length; i++) {
if (numbers[i] > max) {
max = numbers[i];
}
}
System.out.println(“Largest number = ” + max);
}
}

 

 

React js ما هو

ما هي الـ React js ؟

React أو React.js  هي مكتبة تم بناؤها على لغة JavaScript، وتعتمد على مفهوم المُكونات و تُستخدم في بناء واجهات تفاعلية تعتمد على “virtual dom” في تحديث مكونات الصفحة، يمكن استخدامها لإنشاء تطبيقات من صفحة واحدة (spa)، تم بناء هذه المكتبة من طرف Facebook، هناك من يعتبر React إطار عمل لكنها في الحقيقة مكتبة.

▫ ما هي مميزات وخصائص الـ React js ؟

بُنيت React على أساس مفهوم الـ Component، إذ يمكن تقسيم صفحة الويب إلى مكونات (Component)، مثلاً بمكن اعتبار الـ “Navbar” مكون مستقل والـ “Footer” مكون مستقل وهكذا ..
يمكن إعادة استخدام هذه المكونات بسهولة فائقة دون الحاجة لبنائها مرة أخرى في كل مرة.

تَستخدام React ما يعرف بـ JSX

مثال :

<h1>Hello world!</h1>

إن الصياغة أعلاها التي تحتوي على وسم h1 هي ليست سلسلة نصيّة ولا حتى HTML. بل هي عبارة عن JavaScript تُستخدم لعرض ما يحتاجه المطور على شاشة المستخدم، تتشابه الـ JSX بالشكل مع HTML مما يسهل على المبرمجين التعامل مع الرياكت. ولكن ما يحدث في الحقيقة وفي الخفاء، هو أنه يتم تحويل الكود أعلاه إلى “جافاسكريبت فنكشن _ JavaScript Function”
مثال :

React.createElement(“h1”, null, “Hello world”)

يتم استخدام الـ Virtual DOM في الـ React مما يجعلها أكثر كفاءة وسرعة، كما توجد العديد من الميزات الأخرى والكثيره للرياكت

مصارد تساعدك على تعلم React.js :

https://www.udemy.com/course/react-redux/
https://www.w3schools.com/REACT/DEFAULT.ASP

ما الفرق بين جافا و جافا سكريبت

 

لطالما خلط المبرمجون الجدد والأشخاص غير التقنيين على حد سواء جافا وجافا سكريبت ، لكن القاسم المشترك الوحيد بينهما هو كلمة “جافا”. كل لغة برمجة مفيدة في ما يخصها ولكل منها نقاط قوة على الأخرى. ليس بالضرورة أن يكون أحدهما أفضل من الآخر. يستخدم المبرمجون كلاً من Java و JavaScript لمجموعة متنوعة من المهام المختلفة.

جافا سكريبت

Java vs JavaScript - What is the difference between? | SCAND Blog

ما الفرق بين جافا وجافا سكريبت؟ هل هناك ترابط بين جافا وجافا سكريبت أم تشابه أسماء فقط؟ سنتحدث هنا عن الفرق ببساطة

الجافا ♨️

لغة برمجة نستطيع أن نستخدمها في عمل تطبيقات سطح المكتب وتطبيقات الانترنت وبرامج الهاتف باختصار هي تنتج برامج بشكل أكبر واكثر عن جافا سكريبت

Java هي لغة برمجة اخترعها James Gosling وطورتها Sun Microsystems. استغرق الأمر وقتًا أطول قليلاً من 10 أيام لتطويره – استغرق الأمر ما يقرب من أربع سنوات. في عام 1991 ، عملت مجموعة من مهندسي Sun Microsystem تسمى “الفريق الأخضر” ليلًا ونهارًا لإنشاء Java. تم إصداره لأول مرة في عام 1995 ، وتم إطلاق العديد من الإصدارات الجديدة منذ ذلك الحين. الإنترنت اليوم مشبع تمامًا بالبرمجة التي تديرها Java ، ولدينا Java نشكرها على العديد من التطبيقات التي تجعل الحياة اليومية أسهل. Java مملوكة حاليًا لشركة Oracle

 

أما الجافا سكريبت ✴️

لغة برمجة نستخدمها في متصفحات الويب وتتفاعل مع Html وCss لانشاء صفحات تفاعلية وتجعل الموقع فيه حيوية وديناميكية(حركة).
تعرض رسومات متحركة ثنائية او ثلاثية ابعاد
نستخدمها في تخزين قيم داخل متغيرات مثلا “عندما يطلب الموقع من المستخدم ادخال اسم جديد بعدها سيتم تخزين الاسم في متغير اسمه name
الارسال بين المتصفح والسيرفر او الخادم سرعة التصفح تكون بطيئة، هنا تلعب جافا سكريبت دورها في انه يتم تحميل ملفات جافا سكريبت وبها ملفات لتتأكد من هيكلة البيانات قبل ارسالها للسيرفر او الخادم بالتالي ترفع سرعة التصفح علي الموقع وهذا يفيد المستخدم الذي يتصفح.
ابرز المكتبات التي نستخدمها مع جافا سكريبت هي jquery

في الأيام الأولى للإنترنت ، حوالي عام 1990 ، كان Internet Explorer و Netscape Navigator أكثر متصفحي الويب شيوعًا في الاستخدام من قبل عامة الناس. في غضون 10 أيام فقط ، تمكن مطور اسمه Brendan Eich في Netscape، Inc. من إنشاء لغة برمجة يمكنها إرشاد الكمبيوتر حول كيفية التفاعل مع المستخدم عند تلقي مدخلات المستخدم. أطلقوا على هذه اللغة “Livescript” ودمجها مباشرة في Navigator.

هذا يعني أن المتصفح كان يفسر حرفياً أوامر المستخدم ؛ لم يكن من الضروري تجميع الشفرة ، ولم يكن المكون الإضافي مطلوبًا. اكتسبت لغة برمجة أخرى ، Java ، شعبية في نفس الوقت تقريبًا ، على الرغم من أن Java تطلبت مكونًا إضافيًا منفصلًا لتعمل. رأى Netscape الفرصة وأعاد تسمية لغته “JavaScript”. كان JavaScript لا غنى عنه في الأيام الأولى للإنترنت.

 

الخلاصة ✅

جافا خاصة بانتاج برامج وتطبيقات سواء لسطح المكتب او الويب او الهواتف وتعمل في اي بيئة عمل وانتاج البرامج أعلي وأكبر من جافا سكريبت أما جافا سكريبت تستخدم للمتصفحات تنفذ بعض الاجراءات داخل المتصفح، تطبيقات الويب والمواقع

تتم كتابة كل من Java و JavaScript وتجميعهما وتنفيذهما بشكل مختلف ، ولكل منهما اختلافات كبيرة عندما يتعلق الأمر بما يمكنه القيام به.

تُستخدم Java في مجموعة كبيرة من الأماكن ، بما في ذلك تطبيقات Android وبرمجة بطاقات الائتمان وفي إنشاء تطبيقات سطح المكتب وتطبيقات مؤسسة الويب. بالمقارنة ، تُستخدم JavaScript بشكل أساسي لجعل صفحات الويب أكثر تفاعلية. يمكن استخدامه كبديل لبرنامج Flash ، على الرغم من أن معظم المبرمجين سيخبرونك أن JavaScript أكثر شيوعًا ولديها وظائف أكثر من Flash. يمكن استخدام JavaScript للقيام بأشياء رائعة مثل إنشاء الرسوم المتحركة بتنسيق HTML.

باختصار ، عندما يتعلق الأمر بكيفية استخدام كل لغة ، يتم استخدام Java عادةً لجميع عمليات التطوير من جانب الخادم ، بينما يتم حجز JavaScript لتطوير البرامج النصية من جانب العميل لوظائف مثل التحقق من الصحة والتفاعل. هناك بعض الاختلافات الرئيسية الأخرى:

يجب تجميع كود Java ، وشفرة JavaScript هي نصوص بالكامل.
تتطلب كل لغة مكونات إضافية مختلفة.
يتم تشغيل كود JavaScript على متصفح فقط ، بينما تقوم Java بإنشاء تطبيقات تعمل في جهاز أو مستعرض افتراضي.
Java هي لغة OOP (برمجة موجهة للكائنات) ، وجافا سكريبت هي على وجه التحديد لغة برمجة نصية OOP.
سيتعلم طالب البرمجة الجديد أن كل من Java و JavaScript لغتان جديران بالاهتمام لإضافتهما إلى مخزون الترميز الخاص بهما. في الواقع ، يقول العديد من المبرمجين والمطورين أن تعلم هاتين اللغتين في وقت مبكر ، بالتعاقب ، هو خطوة حكيمة للغاية بالنسبة للمبرمج الجديد. لا شك أن وجود جافا وجافا سكريبت تحت الحزام سيجعل المبرمج أكثر قابلية للتوظيف وسيؤدي إلى المزيد من فرص العمل المربحة في المستقبل.

 

JSON ما هي ال

ال JSON او JavaScript Object Notation هي ليست لغة برمجة بينما هي طريقة تستخدم لتمثيل البيانات وتبادلها بين لغات البرمجة بحيث يمكن قراءة وفهم البيانات بسهولة، صيغة JSON تمثل عن طريق نص و Structure لهذا النص تشبة Object في لغة الجافا سكريبت وبستخدم هذة الصيغة لتبادل البيانات بين Client و Server.

JSON

طريقة تمثيل البيانات في JSON ?‍??

– يمكن تمثيل البيانات عن طريق حاجتين اساسيين هما Key و Values
– ال Key: يمثل اسم فريد لقيمة البيانات ويتم وضعه عادة بين علامات التنصيص.
– ال Values: تمثل البيانات ويمكن أن تمثل اكثر من نوع بيانات مثل النصوص والأرقام والمصفوفات.

استخدام ال JSON ?

– من اشهر استخداماتة التعامل مع API معين من خلال تطبيق أو من خلال موقع إلكتروني.

Encapsulation التغليف في البرمجة الكائنية 

التغليف Encapsulation في البرمجة الكائنية احد المصطلحات الا بتقابلنا واحنا بدرس البرمجة الكائنية oop هنتكلم على مقدمة بسيطة قبل البدء فى التعريف ببساطة لما كنا بنبداء فى عمل اى مشروع
كنا بنبداء بعمل الكلاس الخاص بالمشروع ثم يتم عمل كائن object من هذا الكلاس او عمل وراثة من هذا الكلاس . وكنا بنقدر نتعامل مع المتغيرات الموجودة داخل هذا الكلاس بكل سهولة من اسناد قيم لها او طباعة قيم هذة المتغيرات .
وبتطبيق مصطلح Encapsulation بمجرد انشاء الكلاس وبتطبيق مصطلح Encapsulation وعند الرغبة فى عمل كائن من هذا الكلاس او وراثة لا يمكن لهذا الكائن الوصول الى متغيرات هذا الكلاس بطريقة مباشرة .

من المقدمة السابقة يمكن
تعرف Encapsulation بانها وسيلة لاخفاء بيانات الكلاس ومنع التعامل معها بطريقة مباشرة من خارج الكلاس.

السؤال كيف يتم اخفاء بيانات الكلاس ومنع التعامل معها خارج الكلاس ؟Encapsulation In C++

هنا هيظهر دور Access modifiers وبالتحديد private او خاص وبالتالى يتم تحديد طرق الوصول الخاصة بالمتغيرات بانها خاص private . private ويقصد بة انة يمكن الوصول للبيانات فقط من داخل الكلاس .

سؤال ماهى الطريقة غير المباشرة للوصول الى البيانات التى تم اخفائها من خارج الكلاس؟

البيانات التى تم اخفائها من الممكن الرغبة فى اسناد قيم لهذة البيانات او الرغبة فى الحصول على هذة القيم او الاثنين معا. وهنا هيظهر مصطلح جديد وهو دالة

getter & setter عبارة عن دوال
getter تستخدم للحصول على قيمة المتغير
setter. تستخدم لاسناد قيمة للمتغير

هنا يتم اعطاء هذة الدوال صلاحية الوصول لهذة المتغيرات والتعامل معها وعندما نريد التعامل مع المتغيرات من خارج الكلاس يتم من خلال هذة الدوال (بطريق غير مباشر) . وطالما يتم التعامل مع المتغيرات من خلال هذة الدوال . فمن الممكن التحكم او عمل شرط (validation) على القيم المررة للدالة setter قبل حفظها بداخل هذة المتغيرات .

الخلاصة

حتى نتمكن من تطبيق مفهوم Encapsulation يتم اولا جعل امكانية الوصول للمتغيرات private وبعدها اذا اردنا اسناد قيمة لاى متغير من خارج الكلاس نستخدم دالة setter اما اذا اردنا الحصول على قيم المتغير نستخدم دالة getter ولو اردنا اسناد والحصول على قيم المتغير نستخدم الدالتين معا .ومن الممكن عمل شرط على هذة البيانات قبل تخزينها بداخل هذا المتغير من خلال الدالة setter .

(Inheritance) مبدأ الوراثة في البرمجة الكائنية

 

اتكلمنا فى شرح سابق ان فى البرمجة الكائنية يوجد مفهومين رئيسين .
هما الكلاس class والكائن object .
وعرفنا ان الكلاس هو التصميم الا يجب عملة فى البداية
اما الكائن هو نسخة من هذا الكلاس .

والسؤال: هو البرنامج الا احنا هنصممة هيحتوى فقط على كلاس واحد او من الممكن انه يحتوى على اكثر من كلاس ؟
طبعا البرنامج ممكن يحتوى على اكثر من كلاس .

How to Code Inheritance in Java — Beginner's Tutorial in OOP | by Rishi Sidhu | Towards Data Science

 

سؤال اخر : اثناء تصميم الكلاسات متى نحتاج الى تطبيق مفهوم الوراثة inheritance ؟
ببساطة لو اكتشفت أن البرنامج الا بصممة يوجد بة مجموعة من الكلاسات تشترك فى مجموعة من الصفات ( المتغيرات )
والعمليات ( الدوال )
بدلا من كتابة كل هذة المتغيرات والدوال على مستوى كل كلاس وبالتالى تكرار الكود اكثر من مرة .
بتطبيق مفهوم الوراثة Inheritance يتم تجميع كل المتغيرات والدوال المشتركة فى كلاس واحد يسمى
super class
وعند انشاء اى كلاس يستخدم هذة الدوال والمتغيرات نجعلة يرثها من الكلاس super
وتسمى الكلاسات التى ترث sub classes .البرمجة كائنية التوجه OOP - الجزء الأول | طوّرنِي

 

فتكون المحصلة فى النهاية ان عندنا
كلاس الاب يسمى super class بالمتغيرات والدوال وهو الكلاس الذى يتم الوراثة منة
يحتوى على المتغيرات والدوال المشتركة بين مجموعة من الكلاسات.
وكلاسات الابناء تسمى sub classes وهى الكلاسات التى ترث من super
تحتوى على المتغيرات والدوال الخاصة بهم بالاضافة الى المتغيرات والدوال المورثة من super class .
وهنا طبقنا مفهوم الوراثة تمام كما هى مطبقة فى الحياة.

طيب سؤال اخير اية الا احنا هنستفادة لما اقسم البرنامج بالشكل دا ؟
اقولك بعض المزايا
بالاضافة الى تقليل الكود
لو استخدمت دالة فى جميع
sub classes
وحبيت انى اعدل فيها لسبب ما
هكتفى فقط بتعديل الكود فى كلاس super وبالتالى سيتم التعديل مباشرة فى جميع كلاسات الابناء .

 

abstract class ما هو ال

هى كلاسات مجردة لايمكن انشاء كائن object منها وانما تستخدم لاغراض الوراثة
بمعنى لو عندى كلاس person انشاء بغرض تجميع العناصر المشتركة بين اكثر من كلاس (المتغيرات والدوال ) .

نتيجة بحث الصور عن abstract class
وعندى مجموعة من الكلاسات التى ترث من هذا الكلاس مثل كلاس Employees وكلاس students .
فما الداعى او الفائدة من انشاء كائن من كلاس person
ليس واقعيا ان انشاء كائن اسمة شخص .
هو ليس خطأ برمجى وانما هو ليس منطقيا .

 

وبالتالى حتى نتمكن من عدم تفعيل انشاء كائن من هذا الكلاس نستخدم الصيغة كالتالى

public abstract className{

}

يتم وضع كلمة abstract قبل اسم الكلاس

فى النهاية او الخلاصة لو عندك كلاس مش عاوز حد يعمل منة كائن نكتب قبلة عبارة abstract .

ملحوظة
من الممكن ان يحتوى الكلاس من النوع abstract على دوال عادية ودوال اخرى من النوع abstract .

نتيجة بحث الصور عن abstract class

 

أنواع الكلاسات فى جافا بالنسبة للوراثة

 

الكلاسات في الجافا تنقسم إلى عدة أنواع من حيث الوراثة وهم :

concrete class

هو كلاس تم أنشائة اما من اجل الوراثة او لانشاء كائن (object) من هذا الكلاس .
وهو يحتوى على مجموعة من المتغيرات والدوال إنظر المثال التالي :

نتيجة بحث الصور عن ‪concrete class‬‏

 

abstract class

هو كلاس عام تم انشائة من اجل الوراثة فقط .و لايمكن أنشاء كائن (object) منة .

نتيجة بحث الصور عن ‪abstract class‬‏
ويحتوى على متغيرات وكذلك دوال اما من النوع العادى او دوال من النوع abstract وهى الدوال المجردة اى دالة بدون body . ويترك تنفيذها اجباريا لاى كلاس يرث من هذا الكلاس .
ويجب ان تكون دوال abstract بداخل كلاس من النوع abstract

 

وهناك مفهوم اخر فى الجافا هو interface وهو عبارة عن اطار يحتوى على مجموعة من المتغيرات بشرط ان تكون final

نتيجة بحث الصور عن ‪interface class‬‏
وكذلك مجموعة من الدوال بشرط ان تكون جميعا من النوع abstract .وهو بديل للوراثة المتعددة .

 

في لغة الجافا for loop

هنبداء بمقدمة بسيطة توضح لنا المشكلة وطرق حلها باستخدام loop .
لو اطلب منك طباعة الاعداد من رقم ١ حتى رقم ٥ .
هيكون الكود كالتالى :

System.out.println(1);
System.out.println(2);
System.out.println(3);
System.out.println(4);
System.out.println(5);

هنلاحظ ان كود الطباعة يتم تكرارة ودا طبعا مش صحيح .
طيب لو اطلب منك طباعة الارقام من ١ حتى ١٠٠
هل هتكرر كتابة الكود مائة مرة .
من هنا وجدنا الحل وهو استخدام loop
Loop ببساطة هو تكرار كود معين اكثر من مرة
وهناك العديد من الادوات المستخدمة فى عمليات التكرار وهى

for ( ) { }
do { } while ( )
while ( ) { }

نتيجة بحث الصور عن ‪loop in java‬‏

وكلا من الادوات السابقة تؤدى نفس الغرض وهو تكرار كود معين اكثر من مرة .
الا ان هناك اختلاف بينهم فى طريقة تنفيذها وكمان طريقة كتابتها .
ودا هنوضحة مع الشرح .
قبل استخدام احد هذة الادوات لابد من تحديد اربعة عناصر وهذة العناصر الاربعة يجب توافرهم مع اى اداة من ادوات loop السابقة .
1- initial value .
وهى القيمة الابتدائية .
2-statements .
وهو الكود البرمجى الذى سيظهر للمستخدم .
3-condition .
وهو الشرط الذى يتم وضعة لدخول loop فى حالة تحققة (true )
اما فى حالة عدم تحققة (false ) يتم الخروج من loop

4- incremental step .
وهى قيمة الزيادة . وبدونها سيتم تكرار loop عدد لانهائى من المرات .

اولا : ( ) for

نتيجة بحث الصور عن ‪for loop in java‬‏
تستخدم لتكرار الكود عدد محدد من المرات ولن يتوقف loop حتى ينتهى من العدد المحدد فى التكرار .
وحتى نتمكن من طباعة الاعداد من 0 حتى 9 باستخدام for

for (int x=0;x<10;x++) {
System.out.println(x);
}

هنا نلاحظ الاتى :
-ان عدد مرات التكرار محددة .
– توافر العناصر الاربعة السابق شرحهم وهما

int x=0 initial value
System.out .println(x) statements
x<10. condition
x++ incremental step

اما طريقة عمل for فى هذا المثال تتلخص فى الاتى :
فى البداية يتم تعريف متغير اسمة x ونعطية قيمة ابتدائية 0 ومن الممكن اعطائة اية قيمة ابتدائية .
ثم يذهب الى الشرط ويسئل هل 0 اقل من 10 الاجابة تكون true وبالتالى يتم الدخول الى loop وطباعة قيمة x وهى 0
بعدها يذهب الى incremental step ويتم زيادة قيمة x بواحد لتصبح القيمة المخزنة فى x هى 1 بعدها يذهب الى الشرط ويسئل هل 1 اقل من 10 الاجابة تكون true وبالتالى يتم الدخول الى loop وطباعة قيمة x وهى 1.
وهكذا حتى تصبح قيمة x تساوى 10 فيذهب الى الشرط ويسئل هل 10 اقل من 10 الاجابة تكون false وبالتالى يخرج من loop

foreach في لغة الجافا

اتكلمنا فى أحد الدروس السابق عن المصفوفة
وعرفنا ان المصفوفة بكل بساطة هى متغير بشيل اكثر من قيمة
او بمعنى اخر هو بيحجز مكان فى الذاكرة بس كبير شوية لتخزين مجموعة من القيم .
بس بشرط ان كل القيم تكون من نفس النوع (فى حالة هندرسها فى oop هتخلينا نقدر نخزن قيم مختلفة بداخل المصوفة )

واتكلمنا على كيفية انشاء المصفوفة
على سبيل المثال بافتراض مطلوب انشاء مصفوفة رقمية مكونة من خمسة اماكن او قيم

int [ ] arr =new int [ 5] ;

بهذة العبارة يتم حجز مساحة كبيرة فى الذاكرة مقسمة الى خمسة خانات على اساس الحجم الخاص بالمصفوفة الذى تم تحديدة.
ويتم تمييز كل خانة عن الاخرى بال index يبداء من الصفر وينتهى عند حجم المصفوفة ناقصا واحد .

ولادخال بيانات داخل المصفوفة
ببساطة يتم أدخال أو تخزين بيانات داخل المصفوفة كالتالى

arr[0]=10;
arr[1]=20;
arr[2]=30;
arr[3]=40;
arr[4]=50;

بهذا الكود يتم تخزين القيم داخل المصفوفة
نلاحظ الاتى
أن جميع القيم المدخلة من نفس نوع البيانات ويتم تخزين القيم داخل المصفوفة عن طريقة كتابة أسم المصفوفة يليها ال index
على يبداء من 0 وينتهى عند حجم المصفوفة ناقصا واحد .
يليها القيمة المراد تخزينها .

وتكلمنا ان فى طريقة أخرى لأنشاء المصفوفة وأدخال القيم مباشرة اليها .

int [ ] arr={10,20,30,40,50};

بهذا الكود تم انشاء مصفوفة رقمية

ملحوظة : من الممكن ادخال بيانات للمصفوفة من خلال جمل input وهى باستخدام

Scanner or JOptionPane

واستخدام احد الادوات المستخدمة فى عمل تكرار loop .

ولطباعة القيم المخزنة داخل المصفوفة

نتيجة بحث الصور عن ‪foreach java‬‏

ببساطة يتم التعامل مع اى خانة داخل المصفوفة بتحديد اسم المصفوفة وكذلك رقم ال index
فمثلا اذا اردنا طباعة القيمة المخزنة فى المصفوفة السابقة فى ال index 2

System.out.print(arr[ 2]);

ويكون الناتج 30

اما لو اردنا طباعة كامل بيانات المصفوفة
فنحن نريد شي يمر على كامل خلايا المصفوفة وهنا هستخدم اما for او while

for(int i=0 ;i<5;i ++)
System .out.println(arr[i]);

بهذة العبارة يتم المرور على جميع خانات المصفوفة وطباعة محتوياتها .
من الممكن استبدال عبارة i< 5
i < arr .length هذا يرجع لنا حجم المصفوفة بدلا من كتابتة

واخيرا هناك نوع اخر من ال for يسمى
foreach
يمكن استخدامة مع المصفوفة ايضا

for(int k:arr)
System.out.println(k);

من خلال العبارة السابقة يتم وضع قيمة قيمة من قيم المصفوفة فى المتغير k وطباعه هذا المتغير .