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

مقارنة السلاسل النصية فى الجافا Comparing Strings in java

اذهب الى الأسفل

مقارنة السلاسل النصية فى الجافا Comparing Strings in java Empty مقارنة السلاسل النصية فى الجافا Comparing Strings in java

مُساهمة من طرف زهراء الأربعاء يناير 09, 2019 11:06 am

أهلا بكم

في لغة جافا يُعرف النص بأنه مجموعة من الحروف Characters المتلاصقة والتي تُوضع بين علامتي تنصيص كما ترى أدناه
الكود:
String name = "Test123";

و بشكل عام يمكن القول ان مقارنة السلاسل النصية فى الجافا يقصد بها التأكد مِن أن سِلسِلتين نصيتين مُتساويتين أم لا و يتم ذلك من خلال ثلاث طريق :

1_باستخادم الدالة equals
2_ باستخدام المعامل  = =
3_باستخدام الدالة compareTo


أولا : كيفية استخدام الدالة equals

يقارن أسلوب equals  بين سِلسِلتين نصيتين بما تحتوية من احرف. فإذا لم يتم مطابقة أي حرف ، فسيتم عرض القيمة false. وإذا تمت مطابقة جميع الأحرف ، فسيتم عرضه true ...و بالتالى فهي حساسة لحالة الاحرف سواء كانت capital letters او small letters ....ويتم المقارنة على النحو التالى :
الكود:
public class EqualsExample{  
public static void main(String args[]){  
String s1="javatpoint";  
String s2="javatpoint";  

System.out.println(s1.equals(s2));//true because content and case is same  
 
}}  

هنا قمنا بمقارنة النص الاول فى المتغير s1 مع النص فى المتغير الثاني s2 و النتيجة كانت true وذلك لكون النصين واحد بنفس حالة الاحرف small letters

مثال اخر :
الكود:
public class EqualsExample{  
public static void main(String args[]){  
String s1="javatpoint";  
String s2="Javatpoint";  

 
System.out.println(s1.equals(s2));//false because case is not same  

}}  

هنا قمنا بمقارنة النص الاول فى المتغير s1 مع النص فى المتغير الثاني s2 و النتيجة كانت false وذلك لكون النص الاول بأخرف صغيرة small letters فى حين أن النص الثانى بدء باخرف كبيرة

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

الكود:
public class EqualsExample{  
public static void main(String args[]){  
String s1="javatpoint";  
String s2="JAVATPOINT";  
 System.out.println(s1.equalsIgnoreCase(s2));//true  
}}  

ثانيا : كيفية استخدام المعامل  = =

يتم استخدام المعامل  = = للمقارنة بين طريقة الاسناد للمتغيرات وليس القيم ...مثال اكثر توضحا :

الكود:
class Teststringcomparison3{  
 public static void main(String args[]){  
   String s1="Sachin";  
   String s2="Sachin";  
   String s3=new String("Sachin");  
   System.out.println(s1==s2);//true (because both refer to same instance)  
   System.out.println(s1==s3);//false(because s3 refers to instance created in nonpool)  
 }  
}  

ثالثا :استخدام الدالة compareTo

يقارن أسلوب #compareTo للمقارنة بين عدد احرف السلسة النصية و ترجع بقيمة رقمية من نوع int بقيمة المقارنة ...مثال للتوضيح

الكود:
class Teststringcomparison4{  
 public static void main(String args[]){  
   String s1="Sachin";  
   String s2="Sachin";  
   String s3="Ratan";  
   System.out.println(s1.compareTo(s2));//0  
   System.out.println(s1.compareTo(s3));//1(because s1>s3)  
   System.out.println(s3.compareTo(s1));//-1(because s3 < s1 )  
 }  
}  

فى المثال اعلاه قمنا بمقارنة النص المخزن فى المتغير s1 مع المتغير s2 باستخدام الدالة #compareTo و كانت النتيجة 0 ذلك لكونها يمتلكان نفس عدد الاحرف 6 .....لكن عند مقارنة s1 مع s3 كانت النتيجة 1 و ذلك لكون النص الاول عدد احرفة 6 أكبر من عدد الاحرف 5 فى النص الثانى وكانت نتيجة المقارنة بالفرق
زهراء
زهراء
........
........

تاريخ التسجيل : 18/02/2011
المساهمات : 438
النقاط : 769
التقيم : 67
الدولة : مصر
الجنس : انثى

الرجوع الى أعلى الصفحة اذهب الى الأسفل

مقارنة السلاسل النصية فى الجافا Comparing Strings in java Empty رد: مقارنة السلاسل النصية فى الجافا Comparing Strings in java

مُساهمة من طرف أحمد مناع الخميس سبتمبر 12, 2019 9:24 pm


الله يكرمك و يعزك على مجهودك الاستاذة زهراء

ـــــــــــــــــــ التوقيع ــــــــــــــــــــ
سبحان الله وبحمدة .....سبحان الله العظيم
أحمد مناع
أحمد مناع
.
.

تاريخ التسجيل : 15/02/2011
المساهمات : 1108
النقاط : 202034
التقيم : 144
الدولة : مصر
الجنس : ذكر

https://egy-tech.forumegypt.net

الرجوع الى أعلى الصفحة اذهب الى الأسفل

مقارنة السلاسل النصية فى الجافا Comparing Strings in java Empty رد: مقارنة السلاسل النصية فى الجافا Comparing Strings in java

مُساهمة من طرف أحمد مناع الأربعاء أكتوبر 23, 2019 5:51 pm


الله يكرمك و يعزك على مجهودك الاستاذة زهراء

ـــــــــــــــــــ التوقيع ــــــــــــــــــــ
سبحان الله وبحمدة .....سبحان الله العظيم
أحمد مناع
أحمد مناع
.
.

تاريخ التسجيل : 15/02/2011
المساهمات : 1108
النقاط : 202034
التقيم : 144
الدولة : مصر
الجنس : ذكر

https://egy-tech.forumegypt.net

الرجوع الى أعلى الصفحة اذهب الى الأسفل

مقارنة السلاسل النصية فى الجافا Comparing Strings in java Empty رد: مقارنة السلاسل النصية فى الجافا Comparing Strings in java

مُساهمة من طرف hishamalburaay الخميس نوفمبر 14, 2019 4:00 pm

السلام عليكم
استاذة زاهره
مشكوره على الشرح الجميل والرائع
لقد حملت برنامج اوبن برافو بوس وأدخلته على برنامج netbeans
واريد عمل بعض التعديلات واضافة ازرار جديده وتعديل بعض التقارير واريد المساعده في ذالك
ولكم جزيل الشكر
hishamalburaay
hishamalburaay
.
.

تاريخ التسجيل : 13/11/2019
المساهمات : 2
النقاط : 2
التقيم : 0
الدولة : اليمن
الجنس : ذكر

الرجوع الى أعلى الصفحة اذهب الى الأسفل

الرجوع الى أعلى الصفحة

ََ

مواضيع ذات صلة


 
صلاحيات هذا المنتدى:
لاتستطيع الرد على المواضيع في هذا المنتدى