لغة البرمجة جافا؛ هي لغة للحاسوب مهمتها إنشاء وصنع التطبيقات وأيضا صنع الألعاب إذا كنت من محبي تعلم ذلك أنصحك بهذه اللغة التي تعد من أوائل اللغات نجاحًا، تعرف أيضا على خصائص لغة جافا، إن عملية صنع الألعاب ليس بالأمر الصعب إذ أنها أسهل مما تتوقع، تعرف إلى استخداماتها ومميزاتها والمعاملات المسموح بها في java .
ما هي البرمجة غرضية التوجه OOP؟
تعتبر البرمجة غرضية التوجه أو ال OOP (أوبجيكت أورينتد بروجرامينج) طريقة قوية للتعامل مع المسائل البرمجية وكذلك تعد من أحد مكونات لغة البرمجة جافا، فقد ظهرت في كل نقطة من مراحل تطورها طريقة جديدة تساعد المبرمجين على التعامل مع البرامج المتزايدة التعقيد.
رغم أن البرمجـة البنيويـة كـانـت تعطـي نتائج ممتـازة عندما تطبق على برامج متوسطة التعقيد، إلا أنها كانت تفشـل عنـد بعض النقاط حين يصل البرنامج إلى حد معين.
في الحقيقة لكتابة برامج أكثر تعقيداً كانت الحاجة إلى طريقة جديدة في العمل البرمجي وتلبية لهذه الحاجة فقد ظهرت البرمجة غرضية التوجه واختصاراً OOP.
تأخذ البرمجة OOP أفضل ميزات البرمجة البنيوية وتضم إليها مبادئ قوية وجديدة تسمح بتنظيم البرامج بفعالية أكبر.
تعتمـد البرمجـة OOP علـى تحليـل المشكلة إلـى أجزائهـا الأساسية بحيث يصبح كل عنصر أو جـزء عبارة عن غرض object محتوى ذاتياً يضم تعليماته الخاصة والمعطيات العائدة إليه، وأصبح المبرمج يستطيع إدارة برامج أكبر.
سمات البرمجة غرضية التوجه
تشترك جميع لغات البرمجة OOP بما فيها ++ C ولغة البرمجة جافا بثلاث سمات مميزة مشتركة وهي:
- التغليف Encapsulation (الصفوف Classes)
- الوراثة Inheritance
- تعدد الأشكال Polymorphism.
استخدامات لغة البرمجة Java
إن لغة البرمجة هذه تعد أفضـل أداة برمجـة لتطبيق مبـادئ هندسـة البرمجيـات وصنع الألعاب، بالإضافة إلى ذلك فإنهـا لغـة تطـوير متكاملـة وتطوير إنشاء الألعاب والتطبيقات ويمكن استخدامها على سبيل المثال لبناء العديد من التطبيقات مثل:
- تطبيقات سطح المكتب Desktop Applications.
- التطبيقات الشبكية Client / Server Applications.
- تطبيقات الويب Web – Based Applications.
- التطبيقات الموزعة Distributed Applications.
- تطبيقات المحمول Mobile Applications.
- صنع الألعاب الهاتف.
ميزات وخصائص لغة البرمجة جافا
إليك أهم 7 مميزات لها:
- تشبه خصائص لغة جافا لغة البرمجة ++C المبسطة، مما يقلل من وقت تعلمها وكذلك تعد من اللغات السهلة في إنشاء الألعاب.
- إن لغة ++C لغة هجينة (غرضية وبنيويـة) بينما لغة جافا غرضية التوجه OOP تماماً.
- كذلك تحقـق جـافـا مـعـظـم مبـادئ هندسـة البرمجيـات مثـل إعـادة الاستخدام وقابلية التعديل، والفعالية، والوثوقية، والتغليف.
- جعلت جافـا مـن انتقـال الفيروسات أمراً مستحيلاً، فهي لا تسمح بإنشاء مؤشرات خارج ترميزها الخاص، إذ أن المؤشرات الخارجية التي لا تسمح بها جافا هي التي تساعد على عمل الفيروسات، فالضرر يحدث عندما يخرج الترميز عن مساحة الذاكرة الخاصة به.
- إن تطبيقـات جافـا لا تتفاعـل مباشـرة مـع المعـالج أو نظـام التشغيل، فبيئة تشغيل جافا تعالج مسائل الذاكرة ذاتيا بحيث لا يحتـاج للقيـام بتخصيص الـذاكرة، أو تفريغ الشيفرة منها، كذلك لا حاجة لاستخدام المؤشر Pointer والذي يعد أهم مصادر الأخطاء في ++C.
- تقدم جافا حلاً جذرياً وتلقائياً تحديدا لمشكلة الذاكرة التي نصادفها في برامج ++C.
- تستبدل جافا التوريث المعقد المتعدد في ++C بالواجهات Interfaces.
بنية البرنامج في لغة البرمجة جافا
التي تعني تعريف صف جديد إلى صفوف لغة جافا، وهذا الصـف عـام public ومن ثم يلي هذه الكلمة اسم الصف مثلًا: Welcom1 الذي هو اسم البرنامج (اسم الملف) في الوقت نفسه، ويجب الأخذ بالاعتبار الملاحظات التالية:
- يتضمن كل برنامج صفا واحدا على الأقل.
- يجب أن يحمل هذا الصف اسم الملف نفسه الذي نحفظ فيه البرنامج.
- تميز لغة جافا بين الأحرف الكبيرة والصغيرة.
- يجب أن يبدأ اسم البرنامج بحرف كبير.
عام أو Public
يعد من بنية لغة البرمجة جافا فيقوم هذا المحدد بجعل الصف قابلا للاستخدام من قبل أي صف آخر بغض النظر عن الحزمة التي ينتمي إليها، وإذا لم نستخدم المحـدد public لهـذا الصـف فإنـه بشكل افتراضـي يمكـن استخدام الصف فقط من قبل صفوف أخرى موجودة في نفس الحزمة.
التاب () mainn
يعد من بنية لغة البرمجة جافا ويضم بعض المعلومات الهامة وهي:
- من نوع void، لا يعيد أي قيمة عند تنفيذه، ولا يأخذ التاب () main أي وسيط، أما البرنامج الحقيقي فيأخذ وسيطا اسمه args من النم [] string، وأن التاب () main لن يستخدمه ولن تستطيع تنفيذ البرنامج بدونه.
- تمثـل كـل مـن الكلمتين public و static صفة مـن الصفات المميزة للتابع، بالتالي فالصفة public تعني أنه بإمكان مفسر جافا والصفوف الأخرى خصوصا استدعاه هذا التابع، وعلى عكس ذلك لا يستطيع المفسر تنفيذ التابع، وأن الوظيفة الأساسية للمفسر تنفيذ التاب () main..
- يجري بصفة عامة التصريح عن وسيط التابع main بالصيغ: (public static void main (string [] args..
- ليس ضروريا على أي حال أن نطلـق الاسم args على هذا الوسيط، ويمكن أن تستخدم أي اسم وسيط آخر شرط ألا يبدأ برقم(Number).
تابع الطباعة printin
يضم معلومات هامة وهي:
- يأخذ وسيطا من النمط string لتظهر النتيجة على مجرى الخرج القياسي مسبوقا بمحرف الانتقال إلى سطر جديد، ويكتب وسيط هذا التابع بين قوسين، وعندما يكون الوسيط سلسلة محرفية ثابتة يوضع بين علامتي اقتباس مزدوجة.
- الفارق بين print و printin هو أن التابع print لا ينتقل إلى سطر جديد، وأن التابع printin ينتمي إلى الصف out الذي ينتمي بدوره إلى الصف system فالاسم الكامل للصف هو Java. lang. system ونجـد فيـه وصفاً الحقول وقائمة بالتوابع الخاصة بهذا الصف ونجد الحقل out في الصف system، وهو من النمط printStream وهو أيضا يتمتع بالصفة static
هناك صيغتان لطباعة النتائج:
- الصيغة الأولى: System. out. println (“Welcome” + x) حيث x: أما String أو int أو double أو…..
- الصيغة الثانية: System. out. printf (“Welcome% s% d% f% c”, w, x, y, z);
s: تدل على أن w هي سلسلة محرفية.
d: تدل على أن × هو عدد صحيح.
f: تدل على أن y هو عدد حقيقي.
حيث c: تدل على أن z هو محرف وحيد.
المجاري المعيارية في لغة البرمجة جافا
الحزمة القياسية util
هي من الحزم التي لها علاقة بلغة البرمجة جافا وتتضمن الحزمة java. util العديد من صفوف المعطيات المجردة Abstract Data Type) ADT) بالإضافة إلى واجهتين.
من خلال صفوف هذه الحزمة نتمكن من بناء بني معطيات معقدة وفقاً لمتطلباتنا في لغة جافا. وأن الصف Scanner موجود ضمن هذه الحزمة.
جلب (استيراد) صف من حزمة
يمكن جلـب صـف مـن حزمـة لغة البرمجة جافـا من أجل استخدامه في الملف الحالي من خلال الكلمة المحجوزة. import
ويجب أن تكون عبارة import هي أول عبارة في الملف المصدر (ولكن بعد عبارة package في حال وجودها).
لجلب (استيراد) جميع الصفوف والواجهات لهذه الحزمة أو لحزمة ما ، نستخدم إشارة (*) كما يلي: import java. util. *
يمكن استخدام أي صف أو واجهـة فـي الحزمـة باستخدام الأسماء المختصرة (عند استخدام إشارة *): import graphics. *
Circle myCircel = new Circel();
لا يمكن استخدام إشارة (*) لجلـب مجموعـة جزئيـة مـن صفوف الحزمة كما يلي :
import graphics. A *; // doesn t work، أي العبارة import تستخدم لجلب صف من الحزمة أو جلب جميع صفوف الحزمة.
يتم جلب الحزم التالية افتراضياً:
- الحزمة الافتراضية default package.
- الحزمة java. Lang.
- والحزمة الحالية current package.
منصة عمل لغة البرمجة جافا
إن مصطلح منصـة العمـل Platform يعنـي عتـاد الحاسـوب Hardware أو بيئة البرمجيات التي تعمل عليها البرامج. عموما إن معظم منصـات العمل يمكن أن توصـف بالأخص علـى أنـهـا اتـحـاد بـين نظـام التشغيل وأيضا عتاد الحاسوب.
على أي حال فإن معظم منصات عمل لغة البرمجة .جافا تختلف عن معظم منصات العمل الأخرى، حيث أنها منصة عمل برمجية فقط.
تتكون منصة العمل من:
- Java VM
- Java API
المعاملات المسموحة في لغة جافا
المعاملات الحسابية
يمكن استخدام بلغة البرمجة جافا بعض المعاملات الحسابية وهي:
- الزيادة والنقصان: +، –.
- العمليات على البت ~، |، &.
- الإزاحة shift>, <, <.
- ومعاملات أخرى: =-، =+ =* =% =/.
المعاملات العلائقية والمنطقية
يمكن استخدام بلغة جافا المعاملات العلائقية والمنطقية هي:
- المساواة وعدم المساواة: =! ==.
- علاقات: = <=> <.
- علاقة الشرط AND: &.
- علاقة الشرط OR: |.
- معامل NOT:!.
العمليات المنطقية على البت Bitwise
يعتبر وجود هذه المعاملات في جافا مثيراً للتساؤل، ليس لأنها غير مفيدة، بل أنها ضرورية جداً عند الحاجة لتحسين مستوى الأداء، إنما الغريب وجود نمط عددي بدون إشارة في لغة جافا.
من أجل أن تمثل المعطيات في الذاكرة بسلاسل من البتات تجمع عادة في وحدات من مضاعفات العدد 8، ولا سيما العنصر الأساسي هو البايت Byte.
ونجد في لغة البرمجة جافا نمط معطيات تمثل إحـدى بتـات العدد إشارته (سالب أو موجب).
المعاملات ثلاثية الحدود
يوجد في لغة البرمجة جافا معامل خاص يسمح باختبار قيمة شرط منطقي ويمكن استخدام واحد من التعبيرات حسب قيمة الشرط قبل كل شيء.
مثال: x= (y <5) ? 44: 55;
أنماط المعطيات
تمتلك لغة البرمجة جافا نوعين من أنماط المعطيات:
تستطيع الأنماط الأساسية تخزين قيمة واحدة فقط (رقم، محرف، قيمـة منطقيـة،…) وتحتاج إلى حجم معين في الذاكرة.
ملاحظة: لا يتغيـر نمـط المعطيـات فـي جـافـا بتغير منصة العمل، كما هو الحال في بعض اللغات الأخرى.
أنواع الأنماط الأساسية
هي: boolean, byte, char, short, int, long, float, double
الأنمـاط المرجعيـة في لغة البرمجة جافا هـي: الصفـوف Classes والمصفوفات Arrays
- النمط boolean: هو 1Bit من المعطيات، ويأخذ قيمتين (0،1) false true:
- المعامل (cast) يستخدم للتحويل من نوع إلى آخر من المعطيات.
- byta: هو عدد صحيح واحد بايت.
- Char: هو عدد محرف وحيد يتكون من اثنين من البايت.
- النمط short: عدد صحيح قصير حجمه 2 بايت.
- int: عدد صحيح حجمه من 4 بايت.
- النمط long: عدد صحيح طويل حجمه من 8 بايت.
- النمط float: عدد حقيقي أحادي الدقة حجمه 4 بايت.
- double: عدد حقيقي مضاعف الدقة حجمه 8 بايت.
المتحولات Variables في لغة البرمجة جافا
يجب اتباع ما يلي عند تسمية المتحولات في لغة البرمجة جافا:
- يجب عليك أن يكون اسم المتحول معرفاً صحيحاً، أي سلسلة من الرموز تبدأ بحرف من حروف اللغة الإنكليزية.
- لا بد أيضا أن لا يكون كلمة محجوزة مثل for، أو أي قيمة منطقية true, false، أو الكلمة null.
- كذلك يجب أن يكون اسم المتحول فريداً في الكتلة التي عرف بها.
- يفضل أن يبدأ اسم المتحـول في لغة البرمجة جافا بحرف صغير، وبالطبع فـي حـال كـان الاسم مؤلف من أكثر من كلمة عليك أن تجعل الحرف الأول من كـل كلمـة (مـا عـدا أول كلمـة) حرفا كبيـراً إذ يفضل ذلك مثـل: isGoodColor.
مجال المتحول
مجال المتحول يعد في لغة البرمجة جافا هو المنطقة التي يمكن فيها استخدام المتحول. يحدد مجال المتحول متى يقوم النظام بإنشاء المتحول ومتى يقوم بتدميره من الذاكرة.
إن مكان وضع المتحول البرمجي داخل النص البرمجي هو الذي يحدد مجاله، وذلك حسب إحدى التصنيفات التالية:
- المتحـولات الأعضـاء Members Variable: هي معطيـات أعضاء، ويتم التصريح عنهـا داخـل الصف ولكن خارج أي تابع أو بان، ومجـال هذا النوع من المتحولات هو كامل الصف.
- المتحولات المحلية Local Variables: يتم التصريح عنهـا داخل الكتلـة، وفي نهاية المطاف مجالهـا يمتـد مـن نقطـة التصريح عنها ولغاية نهاية الكتلة التي صرحت عنها فيها.
- الوسطاء لتـابع (Parameters method): هي متحولات يتم استخدامها في التوابع أو البواني من أجل تمرير القيم من وإلى التابع أو الباني. إن مجال المتحولات هو كامل التابع.
كذلك فيمكن تهيئة المتحولات الأعضاء والمتحولات المحلية مباشرة أثناء التصريح عنها: int x = 200; long y = 300;
الوسطاء لا يمكن استاد قيم لها مباشرة، ولكن يجب تمرير قيمها من خلال النص البرمجي.
مقالات مقترحة لك:
فيمكن القول أن من خصائص لغة البرمجة جافا هي أنها اللغات السهلة وأكثر فائدة إذ أنك تقوم بتعلمها حسب همتك من شهرين إلى سنة إذ أن الأرباح التي من صنع الألعاب وإنشاء الألعاب، إذا كان لديك أدنى شك فيها فلا تستعجل بالحكم عليها قبل الغوص ببحرها إذ تعد تجربة جميلة من خلال صنع وإنشاء الألعاب والتطبيقات.