recent
أخبار ساخنة

ماهي لغة جافا واستخداماتها المميزات والعيوب

الصفحة الرئيسية
مدخل إلى لغة جافا

ماهي لغة جافا واستخداماتها

جافا هي لغة برمجة عالية المستوى، قام بتطويرها جيمس جوسلينج من شركة نظام سن مايكرو ، أثناء محاولته تطوير لغة البرمجة سي بلس عام 1991، وكانت ّ تسمى بـ اوه ايه كيه ، ولكن في عام 1995 قامت شركة نظام سن مايكرو بتعديلها، وأطلقت عليها اسم جافا ، وهي لغة تعتمد على الكائنات.

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

مميزات لغة جافا

  • يمكن للبرامج المنشأة باستخدام لغة جافا يمكن نقلها عبر شبكة الإنترنت بكل سهولة. 
  • تعد لغة جافا ً قوية وسهلة جدا للاستخدام على عكس لغة سي بلس ، على الرغم من ّ أن معظم تعابيرها ٌ مستمدة منها. 
  • تتمتع لغة جافا بالموثوقية وبالإمكان الاعتماد عليها، حيث يكون المجال للخطأ في البرمجة باستخدامها ً قليلا جدا. 
  • تعد ً لغة آمنة وخصوصا لاستخدامها في صنع تطبيقات الهواتف الذكية وإمكانية نقلها عبر شبكة الإنترنت
  • يوجد لها نظام أساسي خاص بها، حيث لايراعى تشابة نظامها مع أنظمة الأجهزة التي يتم تشغيلها عليها والذي قد يكون ً عقبة كبيرة في بعض الأحيان يعد تنزيلها وتحميلها على جهاز الكمبيوتر مجانا ، وهذا يسهل عملية التحديث المستمرة وإزالة الإصدارات القديمة بمشاكلها وتنزيل النسخ الحديثة والتمتع بها بكل أريحية.

عيوب لغة جافا

  1. عدم الفصل بين مستويات الأقسام الموجودة ضمن لغة جافا.
  2. عدم وجود شروط مسبقة التي تضمن الدعم الفني لمستخدمي لغة جافا. 
  3. عدم وجود الدعم اللازم في جافا لكتابة هياكل وأساليب البيانات العامة. 
  4. عدم وجود تنوع في لغة جافا الأمان، لأن الرمز الذي ُيَنفذ على جهاز الكمبيوتر الخاص بالمستخدمين يمكن استغلاله في بعض الحالات لأغراض خبيثة، وهذا من أحد الأسباب التي تجعل بعض الأشخاص يختارون تعطيل جافا سكريبت 
  5. الاعتماد على المستخدم النهائي، فأحياناً يتم تفسير جافا سكريبت بشكل مختلف عن طريق متصفحات مختلفةن في حين أن البرامج النصية من جانب الخادم ستنتج ً دائما نفس الناتج، بينما البرامج النصية من جانب العميل قد تكون غير قابلة للتنبؤ.

بنية برنامج الجافا JAVA

الجافا تعتمد في بنيتها على هيكلية البرمجة الكائنية oop و بإطالعنا على المثال السابق نلاحظ بداية البرنامج. package ثم إسم الحزمة و هذا هو الأسم الذي ظهر لدينا. بمربع الحوار ببداية إنشاء المشروع و كلمة package تعني حزمة.

و الحزمة تحتوي بداخلها العديد من الكلاسات و العديد من الدوال و المتغيرات بحيث يمكن إستخدام هذه الحزمة في مكان آخر أو مشروع آخر.

ثم السطر الثاني مكتوب public class JavaApplication دائماً عندما نقوم بالبرمجة. في oop نقوم بكتابة class ثم اسم الكلاس و بداخل الكلاس يوجد. العديد من الدوال بما فيها البرنامج الرئيسي و كلمة public تعني يمكن إعادة.

أنه يمكن إعادة إستخدام الكلاس من خارج الحزمة, لدينا درجات الوصول عام public و خاص private و محمي protected و في العام نستطيع إستخدام أي متغير أو اي دالة من خارج الحزمة.

نلاحظ في السطر الثالث مكتوب public static void main(String[] args) هذا هو البرنامج الرئيسي.

و من البرنامج الرئيسي يتم إنطلاق البرنامج و تنفيذ الأوامر حسب تسلسلها من البرنامج الرئيسي.

ومعنى public تكلمنا عنها و قلنا أي دالة أو متغير يمكن إستخدامه من خارج الكلاس بعكس private و protected و معنى static تعني. أننا نستطيع إستدعاء هذه الدالة من خلال اسم الكلاس و ليس بواسطه الكائن.

اي دالة او اي متغير مُعرَّف على أنه static نستطيع إستدعاءه بإسم الكلاس.

وكلمة void تعني أن هذه الدالة لا تعيد قيمة و main تعني البرنامج الرئيسي و بعده String[] args هذه هي معاملات لإرسال معاملات نصية من خارج الكلاس.

في برنامجنا السابق نتعرف على كيفية طباعة كلمة Nusur Tech بإستخدام الدالة. System.out.println و بعدها كتبنا الكلمة الذي نريد طباعتها ضمن القوسين ثم ننفذ البرنامج ليبدأ بالتنفيذ و طباعة الجملة.

آلية عمل جافا Java Mechanism

ما يميز جافا هو قدرتها على العمل على جميع الأنظمة بشكل عام, وهذا يعود إلى JVM وهي إختصار للمصطلح الإنجليزي ( Java Virtual Machine ).

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

الأمن في الجافا Security in Java

تعتبر جافا java من اللغات الآمنة JVM, ومن هنا تأتي قوة الجافا حيث أن الكود البرمجي لا يمكن تنفيذه إلا على JVM.

وهي التي تحتوي على مدير الحماية الذي يملك إجراءات تقوم بالتحقق من المعايير الأمنية وفي حال إجتازها. الشيفرة البرمجية سوف تعمل على النظام و إلا سوف يقوم برفضها.

إصدارات جافا Versions Java

في جافا يوجد ثلاث إصدارات رئيسية يعتمد عليها المبرمجين.

  1. Java SE (Stander Edition) وهذا يُعَد ابسط إصدار في جافا وهذا يختص بالبرامج التي تعمل على الأنظمة الحاسوبية.
  2. Java EE (Enterprise Edition) وهذا الإصدار يختص في مجال الويب و التعامل مع قواعد البيانات (الداتا بيس).
  3. Java ME (Mobile Edition) هذا الإصدار خاص بتطبيقات الجوال التي تعمل بنظام جافا.
  4. Java FX هذا الإصدار يحتوي على مكاتب وهو متخصص في بناء الواجهات فهو بشكل خاص يدعم بناء الواجهات.

عند بنائك لبرنامج جافا يجب عليك أولاً أن تقوم بإنشاء A class.

Public Class class_Name

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

فمثلاً إذا أردنا إنشاء برنامج بسيط بجمع عددين هنا يمكننا أن نقوم بإعطاء اسم للكلاس يدل على عمل البرنامج وهو Add عندها سيكون سطر تسمية الكلاس كالآتي

public class add

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

السطر التالي بعد تسمية الكلاس هو بناء الدالة الرئيسية.

والمقصود بالدالة الرئيسية أن هذه الدالة هي نقطة بداية تنفيذ الأوامر, أي أن الأوامر سوف تتنفذ بشكل متسلسل من أول سطر في الدالة الرئيسية.

وتأتي بنية أو شكل الدالة الرئيسية في برنامج الجافا بالشكل

Public static void main (string [] args)

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

وكلمة static يعني أن الدالة أو المتغير الذي يعرف على أنه من نوع static يُتيح لنا الوصول إليه مباشرتاً بدون إنشاء كلمة كائن Object وهذا سنتحدث عنه لاحقاً.

كلمة main تعني الرئيسي وهذه الكلمة محجوزة فقط للدالة الرئيسية.

ما بين قوسين هي مصفوفة إسمها args من نوع string وقد تم بناءها لإستقبال قيم من خارج الكلاس.

public class main{
Public static void main (string [] args)
{
System.out.println("Nusur Tech");
}
}

هذا المثال يوضح كيفية إنشاء برنامج بسيط يقوم بطباعة كلمة Nusur Tech بواسطة أمر الطباعة System.out.println.

ماهو الفرق بين JVM و JRE و JDK

الـ JVM هي اختصار java virtual machine, أي عندما يقوم المترجم بمعالجة الكود يحوله إلى ملف bitcode وهذا الملف لا يستطيع الـ jvm التعامل معه وتحويله إلى كود تفهمه الآلة المستضيفة.

الـ JRE هي اختصار java run environment وهي تحتوي على مكاتب الجافا و المكاتب التي يضيفها المبرمج وتحتوي على أدوات ضرورية لعمل الجافا.

الـ JDK هي اختصار java development kit وهي البيئة الحاضنة لتطوير الجافا والتي تظُم بداخلها ال JRE والمترجم وغيرها من الأدوات الأخرى.

ابرز محررات الجافا Java editors

  1. eclipse لتحميله من موقعه الرسمي اضغط تحميل.
  2. NetBeans لتحميله من موقعه الرسمي اضغط تحميل.
  3. vscode لتحميله من موقعه الرسمي اضغط تحميل.
  4. intellij IDEA لتحميله من موقعه الرسمي اضغط تحميل.
  5. Android Studio لتحميله من موقعه الرسمي اضغط تحميل.

توجد العديد من المحررات لكن ذكرنا لكم اشهرها.

مفهوم المكتبات في لغة جافا Module java

هي عبارة عن أكواد تسهل في بناء التطبيقات وكي لا يقوم المبرمج ببناء تطبيقه من الصفر فهناك أكواد جاهزة (مكتبات) تساعده على كتابة القليل من الكود وانجاز الكثير من الأوامر.

وفي جافا يوجد الكثير من المكاتب التي تدعم عمل المبرمج من هذه المكاتب (import java.io) التي تساعد على عملية قراءة وطباعة البيانات كما سنرى في مقالات لاحقة.

مفهوم إدخال وإخراج البيانات في جافا

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

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

System.out.print("anything");   //للطباعة
System.console().readLine(); //للقراءة

مفهوم المتغيرات في جافا Variable java

هي تشير إلى عنوان محجوز في ذاكرة التخزين المؤقتة في الجهاز, هذه المتغيرات تعمل مع التطبيق وتنتهي بانتهائه.

يمكن للمتغيرات ان تتغير قيمتها لعدد لا نهائي من المرات في التطبيق وللمتغيرات أشكال عديد فهي ممكن ان تكون كرقم (int) او كنص (string) او تاتي باشكال اخرى وهي كثيرة مثل الأحرف والأرقام ذات الفواصل وغيرها ولا يكاد تطبيق يخلو من المتغيرات فهي من الضروريات في عمل التطبيق.

الطباعة في لغة جافا Printing in Java

الطباعة printing في الجافا, في الدرس السابق ثبتنا برنامج Netbeans الذي سوف نعمل به بهذه الدورة.

لا شك بأن تعلم الطباعة يكون من أوائل الدروس في أي لغة نتعلمها ﻷنه هو الإخراج لأي كود نراه أمامنا.

سوف نقوم بفتح البرنامج و ننشئ مشروع جديد به, و نقوم بمسح التعليقات الذي تكون ضمن الكود عند إنشاء مشروع جديد.

package gradleproject223;
public class JavaApplication {
public static void main(String[] args) {
System.out.println("Nusur Tech");
}
}

بنية برنامج الجافا structure of Java program

الجافا تعتمد في بنيتها على هيكلية البرمجة الكائنية oop و بإطالعنا على المثال السابق نلاحظ بداية البرنامج. package ثم إسم الحزمة و هذا هو الأسم الذي ظهر لدينا. بمربع الحوار ببداية إنشاء المشروع و كلمة package تعني حزمة.

و الحزمة تحتوي بداخلها العديد من الكلاسات و العديد من الدوال و المتغيرات بحيث يمكن إستخدام هذه الحزمة في مكان آخر أو مشروع آخر.

ثم السطر الثاني مكتوب public class JavaApplication دائماً عندما نقوم بالبرمجة. في oop نقوم بكتابة class ثم اسم الكلاس و بداخل الكلاس يوجد. العديد من الدوال بما فيها البرنامج الرئيسي و كلمة public تعني يمكن إعادة.

أنه يمكن إعادة إستخدام الكلاس من خارج الحزمة, لدينا درجات الوصول عام public و خاص private و محمي protected و في العام نستطيع إستخدام أي متغير أو اي دالة من خارج الحزمة.

نلاحظ في السطر الثالث مكتوب public static void main(String[] args) هذا هو البرنامج الرئيسي.

و من البرنامج الرئيسي يتم إنطلاق البرنامج و تنفيذ الأوامر حسب تسلسلها من البرنامج الرئيسي.

ومعنى public تكلمنا عنها و قلنا أي دالة أو متغير يمكن إستخدامه من خارج الكلاس بعكس private و protected و معنى static تعني. أننا نستطيع إستدعاء هذه الدالة من خلال اسم الكلاس و ليس بواسطه الكائن.

اي دالة او اي متغير مُعرَّف على أنه static نستطيع إستدعاءه بإسم الكلاس.

وكلمة void تعني أن هذه الدالة لا تعيد قيمة و main تعني البرنامج الرئيسي و بعده String[] args هذه هي معاملات لإرسال معاملات نصية من خارج الكلاس.

في برنامجنا السابق نتعرف على كيفية طباعة كلمة Nusur Tech بإستخدام الدالة. System.out.println و بعدها كتبنا الكلمة الذي نريد طباعتها ضمن القوسين ثم ننفذ البرنامج ليبدأ بالتنفيذ و طباعة الجملة.

google-playkhamsatmostaqltradent