الوقت/التاريخ الآن هو الخميس مايو 09, 2024 5:51 pm
2 نتيجة بحث عن reference
[Java] التعامل مع الفئة Strings Class
أهلا بكم اخوانىمقال اليوم عن كيفية التعامل مع السلاسل النصية فى لغة الجافا، والتي تعتبر من اهم البيانات التى تستخدم على نطاق واسع في برمجة تطبيقات لغة الجافا
و لكى تستطيع التعامل مع السلاسل النصية يجب عليك أن تفهم جيدا الفئة Strings Class التى توفرها لغة Java لإنشاء ومعالجة السلاسل.
1_ما هي السلسلة Strings في جافا
بشكل عام ، يتم تمثيل السلاسل النصية فى ذاكرة الحاسوب على هيئة سلسلة من الأحرف ، ولسيت مجرد نصوص أو كلمات و إنما هى فى الاساس أحرف . ولكن في لغة Java يتم استخدام فئة java.lang.String لإنشاء كائن سلسلة يمثل سلسلة من الأحرف فيتم تحويل الاحرف تلك الى نص
فمثلا اذا تم انشاء مصفوفة احرف من الحروف h-e-l-l-o ثم استخدام كائن السلسة String ثم طباعة هذا الكائن سيتم طباعة الكلمة hello و ليس احرف على النحو التالى :
- الكود:
public class StringDemo {
public static void main(String args[]) {
char[] helloArray = { 'h', 'e', 'l', 'l', 'o', '.' };
String helloString = new String(helloArray);
System.out.println( helloString );
}
}
المخرجات :
hello.
2_كيفية إنشاء كائن سلسلة String ؟
هناك طريقتان لإنشاء كائن سلسلة:
الاولى :باستخدام مرجع الكائن object reference
لا تقوم هذة بانشاء كائن فى حد ذاته وانما تقوم بانشاء مرجع للكائن #reference هو عنوان يشير إلى مكان تخزين متغيرات وأساليب هذا الكائن ويتم ذلك على النحو التالى :
- الكود:
String s="welcome";
الثانية :بواسطة الكلمة المحجوزة new
- الكود:
String s=new String("Welcome");
و اليكم مثال كامل لانشاء كائنات السلسلة بالطرقتين على النحو التالى :
- الكود:
public class StringExample{
public static void main(String args[]){
String s1="java";//إنشاء مرجع كائن
char ch[]={'s','t','r','i','n','g','s'};
String s2=new String(ch);//تحويل مصفوفة احرف الى نص
String s3=new String("example");//إنشاء كائن سلسلة جديد
System.out.println(s1);
System.out.println(s2);
System.out.println(s3);
}}
المخرجات :
java
strings
example
3_أساليب الفئة Strings Class
توفر الفئة java.lang.String العديد من الطرق المفيدة لتنفيذ بعض العمليات على السلاسل النصية و سنحاول شرحها على النحو التالى :
_ الطريقة charAt
تقوم هذه الطريقة بإرجاع الحرف الموجود في فهرس السلسلة المحدد.بمعنى انها تقوم بارجاع رقم الحرف فى السلسلة النصية التى تبدأ من الصفر.ويتم بناء الجملة على النحو التالى :
- الكود:
public char charAt(int index)
مثال توضيحي :المثال التالى يوضح كيفية ارجاع قمية الحرف فى السلسة بناء على رقم الفهرس له
- الكود:
public class Test {
public static void main(String args[]) {
String s = "Strings are immutable";
char result = s.charAt(8);
System.out.println(result);
}
}
المخرجات :
a
_الطريقة length
هذه الطريقة تقوم بإرجاع طول السلسة النصية مثال للتوضيح
- الكود:
public class StringDemo {
public static void main(String args[]) {
String palindrome = "Dot saw I was Tod";
int len = palindrome.length();
System.out.println( "String Length is : " + len );
}
}
المخرجات :
String Length is : 17
_الطريقة concat
هذه الطريقة تلحق سلسلة نصية واحدة بنهاية سلسلة أخرى مثال للتوضيح
- الكود:
public class Test {
public static void main(String args[]) {
String s = "ahmed";
s = s.concat(" all the time");
System.out.println(s);
}
}
المخرجات :
ahmed all the time
_الطريقة copyValueOf
تقوم هذه الطريقة بإرجاع سلسلة تمثل تسلسل الأحرف في مصفوفة احرف المحدد.مثال :
- الكود:
public class Test {
public static void main(String args[]) {
char[] Str1 = {'h', 'e', 'l', 'l', 'o', ' ', 'w', 'o', 'r', 'l', 'd'};
String Str2 = "";
Str2 = Str2.copyValueOf( Str1 );
System.out.println("Returned String: " + Str2);
}
}
المخرجات :
Returned String: hello world
_الطريقة equals
يقارن هذة الطريقة السلسلة النصية بالكائن المحدد. تكون النتيجة صحيحة ture إذا لم تكن الوسيطة خالية وكانت عبارة عن كائن سلسلة يمثل نفس تسلسل الأحرف في هذا الكائن.مثال :
- الكود:
public class Test {
public static void main(String args[]) {
String Str1 = new String("This is really not immutable!!");
String Str2 = Str1;
String Str3 = new String("This is really not immutable!!");
boolean retVal;
retVal = Str1.equals( Str2 );
System.out.println("Returned Value = " + retVal );
retVal = Str1.equals( Str3 );
System.out.println("Returned Value = " + retVal );
}
}
المخرجات :
Returned Value = true
Returned Value = true
Returned Value = true
الطريقة :endsWith
تختبر هذه الطريقة إذا كانت هذه السلسلة تنتهي باللاحقة المحددة مثال للتوضيح
- الكود:
public class Test {
public static void main(String args[]) {
String Str = new String("This is really not immutable!!");
boolean retVal;
retVal = Str.endsWith( "immutable!!" );
System.out.println("Returned Value = " + retVal );
retVal = Str.endsWith( "immu" );
System.out.println("Returned Value = " + retVal );
}
}
المخرجات :
Returned Value = true
Returned Value = false
Returned Value = false
الطريقة :replace
تُرجع هذه الطريقة سلسلة جديدة تنتج عن استبدال احرف قديمة باحرف جديدة على النحو التالى :
- الكود:
import java.io.*;
public class Test {
public static void main(String args[]) {
String Str = new String("Welcome to egy-tech.forumegypt.ne");
System.out.print("Return Value :" );
System.out.println(Str.replace('o', 'T'));
System.out.print("Return Value :" );
System.out.println(Str.replace('l', 'D'));
}
}
المخرجات :
Return Value :WelcTme tT egy-tech.fTrumegypt.
Return Value :WeDcome to egy-tech.forumegypt
Return Value :WeDcome to egy-tech.forumegypt
الطريقة :replaceAll
يستبدل هذا الأسلوب كل سلسلة فرعية من هذه السلسلة التي تطابق التعبير المعتاد المحدد مع الاستبدال المحدد....ويتم بناء الجملة على النحو التالى :
- الكود:
public String replaceAll(String regex, String replacement)
حيث أن :
regex - التعبير المعتاد الذي ستتم مطابقة هذه السلسلة معه.
replacement - السلسلة التي ستحل محل التعبير الموجود.
مثال :
- الكود:
import java.io.*;
public class Test {
public static void main(String args[]) {
String Str = new String("Welcome to Tutorialspoint.com");
System.out.print("Return Value :" );
System.out.println(Str.replaceAll("(.*)Tutorials(.*)", "AMROOD"));
}
}
و لنا بقية مع تكلمة المقال
- في الأربعاء أبريل 17, 2019 12:05 pm
- ابحث في: أساسيات اللغة Java Basics
- موضوع: [Java] التعامل مع الفئة Strings Class
- المساهمات: 1
- مشاهدة: 759
[Java] الطرق المختلفة لانشاء الكائنات فى الجافا create objects in Java
اهلا بكمكوننا مطورين جافا ، فإننا عادةً ما نتعامل بكثرة مع الكائنات #objects ، لكننا دائمًا ما نستخدم طريقة واحدة لإنشاء هذه الكائنات. ومع ذلك ، هناك المزيد من الطرق لإنشاء الكائنات فى الجافا ، والتي سنحاول دراستها في هذه المقالة.
1_ الطريقة الاولى إستخدام الكلمة new
إنها الطريقة الأكثر شيوعًا فى إنشاء الكائنات وذلك لانها تعتبر اسهل طريقة على الاطلاق لذلك فإن 98% من مطوري الجافا يستخدون هذا الطريقة . حيث من خلال استخدام هذه الطريقة ، يمكننا استدعاء أي دوال الفئة المنشء منها هذا الكائن حتى منشىء تلك الفئة #constructor ...ويتم استخدامها على النحو التالى :
- الكود:
MyObject object = new MyObject();
ايضا يمكنك تمرير معلمات الى منشىء الفئة على النحو التالى :
- الكود:
MyObject object = new MyObject(2,4);
2_الطريقة الثانية باستخدام الدالة Class.forName
إذا كنا نعرف اسم الفئة أو الكلاس التى نريد إنشاء كائن منها وما إذا كان لديها مُنشئ افتراضي عام ، فيمكننا إنشاء كائن جديد باستخدام الاسلوب #newInstance التابع للطريقة #Class.forName ...فمثلا اذا كانت الفئة #MyObject تنتمى الى الحزمة #test فاننا يمكننا انشاء كائن جديد منها على النحو التالى :
- الكود:
MyObject object = (MyObject) Class.forName("test.MyObject").newInstance();
لكن تلك الطريقة فى إنشاء الكائنات ترمى الاستثنائات التالية :
ClassNotFoundException و InstantiationException , IllegalAccessException
لذلك يجب معالجتها على النحو التالى :
- الكود:
try {
MyObject object = (MyObject) Class.forName("test.MyObject").newInstance();
} catch (ClassNotFoundException ex) {
Logger.getLogger(Test.class.getName()).log(Level.SEVERE, null, ex);
} catch (InstantiationException ex) {
Logger.getLogger(Test.class.getName()).log(Level.SEVERE, null, ex);
} catch (IllegalAccessException ex) {
Logger.getLogger(Test.class.getName()).log(Level.SEVERE, null, ex);
}
3_الطريقة الثالثة باستخدام الدالة clone()
فى الحقيقة أن هذه الطريقة لا تقوم بانشاء كائن جديد إنما تقوم بإنشاء نسخة من كائن موجود بالفعل و بالتالى فانت مجبر على إنشاء كائن بعد ذلك يمكن باستخدام الدالة #clone نسخ هذا الكائن الى كائن اخر على النحو التالى :
- الكود:
MyObject anotherObject = new MyObject();
MyObject object = anotherObject.clone();
باستخدام أسلوب النسخ أعلاه لا يمكن استدعاء أي مُنشئ للفئة
4_ الطريقة الرابعة باستخدام مرجع الكائن object reference
على الرغم من أن تلك الطريقة لا تقوم بانشاء كائن فى حد ذاته وانما تقوم بانشاء مرجع #reference هو عنوان يشير إلى مكان تخزين متغيرات وأساليب هذا الكائن...وبالتالى تصبح المراجع في #Java مهمة بشكل خاص عند تمرير الوسيطات إلى الأساليب ويتم ذلك على النحو التالى :
- الكود:
MyObject object ;
5_باستخدام إلغاء التسلسل deserialization
- الكود:
ObjectInputStream inStream = new ObjectInputStream(new FileInputStream("data.obj"));
MyObject object = (MyObject) inStream.readObject();
- في السبت فبراير 16, 2019 6:01 pm
- ابحث في: أساسيات اللغة Java Basics
- موضوع: [Java] الطرق المختلفة لانشاء الكائنات فى الجافا create objects in Java
- المساهمات: 0
- مشاهدة: 1194
أمس في 6:58 am من طرف mona mohamed
» مظلات وسواتر الرياض
الثلاثاء مايو 07, 2024 7:47 pm من طرف moslema_r
» شركة تنظيف فلل بالرياض
الثلاثاء مايو 07, 2024 6:55 pm من طرف moslema_r
» شركة تنظيف كنب بالرياض
الأحد مايو 05, 2024 6:56 pm من طرف moslema_r
» مظلات وسواتر
السبت مايو 04, 2024 8:58 pm من طرف moslema_r
» شركة تنظيف خزانات بالرياض
الخميس مايو 02, 2024 6:10 pm من طرف moslema_r
» افضل شركة رش مبيدات بالرياض
الإثنين أبريل 29, 2024 9:00 pm من طرف moslema_r
» ارخص شركة مكافحة الصراصير بالرياض
الخميس أبريل 25, 2024 8:56 pm من طرف moslema_r
» شركة مكافحة حشرات في راس الخيمة
الخميس أبريل 25, 2024 8:34 pm من طرف moslema_r
» تطبيقIncogniton لإدارة ملفات تعريف متعددة للمتصفح
الأربعاء أبريل 24, 2024 3:51 pm من طرف زاكااا