الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

مبتدئون: الدرس الثاني: مفهوم عمل الجافا

مغلق
بدأه سين ميم في 22 مارس 2002 · 10 رد · 8,389 مشاهدة · في JavaSE
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

بسم الله الرحمن الرحيم

هذه الكلمات لن تكون كافية لمعنى العنوان بشكل كامل،

ولكن كيف تعمل الجافا محاولة شرح مبسطة للمبتدئين؟.

عندما تكتب نص برنامج جديد يكون لديك الحزمة java.lang.System ، فلست بحاجة استيرادها عن طريق import ، والتي يتوفر فيها عدة دوال شائعة الاستخدام مثل دوال الرياضيات math والادخال والاخراج والامن وغيرها،

اذا، انت تستخدم classes سبقت برمجتها في كل منها دوال تعود بنتيجة مفيدة عند استدعائها، هذه الصفوف classes مقسمة في packages كل منها لها هدف مفيد، مثلا لديك الحزمة java والتي تحتها الحزمة lang والتي تحتها ايضا الحزمة System الخ.

هذه الحزم قد تصنعها انت او اي شخص اخر ، فمثلا اذا كان اسم شركتك شركة علي وقامت ببرمجة حزم packages المحاسبة ، الموظفون السيارات، المخازن فسوف تكون بهذا الترتيب

الحزمة ali
الحزمة ali.cars
الحزمة ali.employee
الحزمة ali.accounting
الحزمة ali.store
واذا اردت صناعة حزمة فرعية للصيانة تحت السيارات 
تكون 
ali.cars.maintenance

بامكانك بعد كتابة برنامجك المقسم الى حزم ، جعلها في ملف jar او zip او بدون اي منهما،لتكون متوفرة للنقل الى الي جهاز اخر، وتعطي نفس الوظيفة على كل الاجهزة.

على العموم لنحاول التطبيق ، لنرى بعض وظائف الجافا في مجال الحروف:

class newTest{

	public static void main(String args[]){
  String str= new String("ArabTeam2000 java forum");
  // كل الترقيم في الجافا يبداء من الصفر
  //الحرف رقم 4 
  System.out.println("1t"+str.charAt(4));
  // رقم مكان الحرف T
  System.out.println("2t"+str.indexOf('T'));
  // هناك فرق بين t و T
  //رقم مكان الكلمة Team
  System.out.println("3t"+str.indexOf("Team"));
  // رقم مكان الحرف a
  System.out.println("4t"+str.indexOf('a'));
  //رقم اخر مكان للحرف a
  System.out.println("5t"+str.lastIndexOf('a'));
  //كم حرف في هذا المتغير
  System.out.println("6t"+str.length());
  //الحروف من 4 الى 8
  System.out.println("7t"+str.substring(4,8));
  //الجملة ادناه تعود String ومن ثم 
  //تطبق عليها مباشرة
  //الحروف من 4 الى 8 ،ثم كبرها
  System.out.println("8t"+str.substring(4,8).toUpperCase());

  
  
  
  
	}
}

الناتج:

1  T
2  4
3  4
4  2
5  16
6  23
7  Team
8  TEAM

تم تعديل هذه المشاركة بواسطة ORWA في 29 يناير 2005 في 14:46

#2

اولا قبل البدء الرجاء التنويه الى كل من يعمل compile للبرنامج طباعة curly brace او القوس المجعد مرتين لاغلاق البرنامج { { بعد اخر سطر في البرنامج مفتوح الى جهة اليسار.....................

هناك اضافة الى الوظائف السابقة اذا سمح لي الاستاذ سين ميم;)

هنك وظائف اخرى للجافا في مجال الحروف و النصوص تسمى StringBuffer Class وتمتاز هذه الفئة او الصف بالمرونة حيث ممكن اضافة او ادخال الحروف بين الStringBuffer objects

عشان نفهم اكثر نشتغل على مثال :

<hr>

class ATeam
{
	public static void main(String args[])
	{
  StringBuffer at = new StringBuffer("Good");

  System.out.println(at.append("Morning")); // إضافة الكلمة بين القوسين
  System.out.println(at.insert(0,"Very"));//لازم نعمل متغيرين الاول رقم لتحديد موقع الاضافة والثاني ممكن تكون كلمة او حرف او رقم تدخل في الموقع المحدد
  System.out.println(at.charAt(10));// يحدد الحرف العاشر مبتد العد من الصفر
  System.out.println(at.length());//تحديد طول الكلمة
  System.out.println(at.reverse());// قلب الكلمة بالعكس
  }
  }

تحياتي................................:cool:

تم تعديل هذه المشاركة بواسطة ORWA في 29 يناير 2005 في 14:46

#3

تقريبا نفس دوال VB

مشكوووووووووورين

#4

ما فائدة استعمال StringBuffer

حسب معلوماتي أن متغيرات String لا تحتاج لانشاء ديناميكي بواسطة new أما متغيرات StringBuffer فانه يجب تهئيتها ديناميكا أولا ...... ممكن التوضيح

مدونتي

http://mbnoimi.net

#5

الفرق واضح ويتبين في النظر إلى كل من شرح الفئة String وشرح الفئة StringBuffer.

String هي الكلمة والأساس!

StringBuffer أداة للتحكم في وعاء يحمل String!

#6

يعني لم أفهم !!! هل الصنف StringBuffer يحل محل String ؟؟ لأن الأول يحتوي نفس طرق الثاني بالاضافة لطرق أخرى

مدونتي

http://mbnoimi.net

#7

String لا يتغير... إذا كان عندك كلمة فلن تستطيع تغييرها! Immutable Object.

إذا كان عندك كلمة

String word = "Hussam";
String part = word.substring(3);
System.out.println(word);
System.out.println(part);

الناتج Hussam

sam

لاحظ أن الكلمة التي تشير إليها word لا تتغير أبدا! وإذا حاولت قص الكلمة أو الزيادة عليها فإن الناتج يكون كلمة جديدة! ولا تتغير الأولى!

String word="First Test";
word.substring(2).substring(1);
System.out.println(word);

الناتج First Test

أما StringBuffer فأنت تتحكم في الوعاء الذي يحوي كلمة معينة!

مثلا:

StringBuffer buffer=new StringBuffer();
buffer.append("Hussam");
System.out.println(buffer);
buffer.append(" Almulhim");
System.out.println(buffer);

الناتج:

Hussam

Almulhim

أو

StringBuffer buffer=new StringBuffer();
buffer.append("Hussam").append(" Almulhim");
System.out.println(buffer);

لاحظ أن محتوى الوعاء يتغير!

الكلمة String لا تتغير.

#8

مشكور أخي فيصل على النوضيح .... و آسف على التأخير

مدونتي

http://mbnoimi.net

#9

[ -waf شكر لك على الموضوع الرائع

#10

جزاكم الله خير

#11

مشكووور سين ميم وفقك الله

ونرجو الاستمرار

هذا الموضوع مغلق.

مواضيع مشابهة