menusearch
javapro.ir

مثال از متد compareTo در String

جستجو
سه شنبه ۱ خرداد ۱۴۰۳ | ۱۱:۱۴:۲۵
۱۳۹۶/۶/۲۱ سه شنبه
(4)
(0)
مثال از متد compareTo در String
مثال از متد compareTo در String
 
متد compareTo دو String (رشته) را از نظر لغوی مقایسه می‌کند. ابتدا کاراکترهای (character) هر دو String (رشته) به مقدار Unicode (یونیکد) برای مقایسه با هم تبدیل می‌شوند.
اگر دو String (رشته) باهم برابر بودند این متد مقدار 0 (صفر) را برمیگرداند، اگر String (رشته) اول از نظر لغوی بزرگتر از String (رشته) دوم بود یک مقدار مثبت را برمیگرداند و در غیر این صورت یعنی اگر String (رشته) اول از نظر لغوی کوچک تر از String (رشته) دوم بود، یک مقدار منفی را برمی گرداند.

متد compareTo با داشتن پارامتری از نوع String literal :

    int compareTo(String str)       

این متد برای مقایسه دو String (رشته) که به روش String literal ایجاد شده اند، استفاده می‌شود.
نکته مهم : پارامتر این متد برای مقایسه دو String literal است.
میدونم احتمالا String literal به گوشتون نخورده باشه!

String literal
در کل ما دو روش برای ایجاد String (رشته) در جاوا در اختیار داریم:
1. String literal (رشته لیترال ها)
2. Using new keyword ( ساختن شی از کلاس String از طریق کلمه کلیدی new )
نکته: اصلاحات انگلیسی رو یادبگیرید بهتر از فارسی هست چون میتونید برای درک بهتر مفاهیم در گوگل سرچ بزنید.
 
• String literal چیست؟
به زبان ساده براتون میگم! اگر در جاوا Strings (رشته ها) را به صورت زیر تعریف کردید، به اون Strings (رشته های) ایجاد شده String literal می‌گوییم:
   
String str1 = "Welcome";
String str2 = "Welcome";
       
• به زبان ساده وقتی یک String را شبیه به روش متغیرهای معمولی در جاوا تعریف می‌کنیم بهش String literal می‌گوییم.
همان طور که در جلسه آموزشی کلاس String بررسی کردیم و می‌دانید که String یک کلاس است و برای استفاده از آن باید شی ایجاد کنیم. اما ما در روش بالا هیچ شی از کلاس String ایجاد نکردیم! پس چرا برنامه خطا نمیده؟! چون compiler (کامپایلر) وظیفه ایجاد شی از کلاس String را در روش بالا برای ما انجام می‌دهد. یعنی از یک String literal یک شی از نوع کلاس String ایجاد می‌کند.
اما اگر شی از قبل در حافظه وجود داشته باشد،کامپایلر یک شی جدید ایجاد نمی‌کند و تنها یک شی قدیمی را به نمونه جدید می‌دهد، مثلا برای دو نمونه String (رشته) بالا یعنی str1 و str2 که مقدار یکسانی دارند کامپایلر تنها یک شی(object) با مقدار "Welcome" ایجاد می‌کند و برای هردو آن شی را اختصاص می‌دهد. لازم است بدانید که کامپایلر تنها برای Strings (رشته های) با مقدار یکسان تنها یک شی در روش String literal ایجاد می‌کند.
برای مثال فرض کنید 10 نمونه String (رشته) با مقدار یکسان داشته باشیم، بدین ترتیب در حافظه فقط یک شی دارای همان مقدار یکسان برای هر 10 نمونه String اختصاص داده می‌شود. به عبارتی ما 10 شی مجزا از نوع String نخواهیم داشت. چرا؟ چون ما 10 نمونه String با مقدار یکسان را از روش String literal ایجاد کرده ایم.

اگر بخواهیم 10 شی مجزا با مقدار یکسان ایجاد کنیم چاره چیست؟!
پاسخ: برای این کار باید String های خود را با استفاده از کلمه کلیدی new ایجاد کنید.در جلوتر این روش را بررسی می‌کنیم.
برگردیم به متد (int compareTo(String str، در زیر مثالی از دو String که به روش String literal ایجاد شده اند و قراره با هم مقایسه شوند، آورده ایم:
فرض کنید دو String (رشته) بصورت زیر داشته باشیم:
 
   
String string1="java tutorial";
String string2="persian java tutorial";
 
 
برای مقایسه این دو String (رشته) با استفاده از متد (int compareTo(String str به صورت زیر عمل می‌کنیم:
   
                  string1.compareTo(string2);                
 
 
Using new keyword ( ساختن شی از کلاس String از طریق کلمه کلیدی new )
اگر در جاوا Strings (رشته ها) را به صورت زیر تعریف کردید، به اون Strings (رشته های) ایجاد شده شی از کلاس String می‌گوییم:
 
   
                  String str1 = new String("Welcome");                    
                   String str2 = new String("Welcome");                    
 
 
 
متد compareTo با داشتن پارامتری از نوع کلاس Object :
   
            int compareTo(Object obj)              
 
 
 
برای مقایسه یک شی از نوع کلاس String با یک String literal از این متد با این نوع پارامتر استفاده می‌کنیم.
فرض کنید یک String literal به صورت زیر داشته باشیم:
              String str1 = "Welcome";                

و یک شی از نوع کلاس String به صورت زیر ایجاد کرده باشیم:
   
String str2 = new String("Welcome");
 
 
 
برای مقایسه str1 با str2 از متد (int compareTo(Object obj استفاده می‌کنیم:
   
str1.compareTo(str2)
 
 
 
 
مثال:
در مثال زیر ما سه String داریم که با استفاده از متد compareTo آنها را مقایسه کرده ایم.
   
package java like ;
public class CompareToExample {
public static void main(String args[]) {
String str1 = "String method tutorial";
String str2 = "compareTo method example";
String str3 = "String method tutorial";
 
int var1 = str1.compareTo(str2);
System.out. print ln("str1 & str2 comparison: " + var1);
 
int var2 = str1.compareTo(str3);
System.out. print ln("str1 & str3 comparison: " + var2);
 
int var3 = str2.compareTo("compareTo method example");
System.out. print ln("str2 & string argument comparison: " + var3);
}
}
 
 
 
خروجی(Output):
   
str1 & str2 comparison: -16
str1 & str3 comparison: 0
str2 & string argument comparison: 0
 

این جلسه آموزشی را می‌توانید بصورت کتاب الکترونیکی (PDF شده) در لینک زیر دریافت کنید.
این جلسه آموزشی را بصورت کامل و مرتب شده در لینک زیر دانلود کنید:(در صورت خرابی لینک گزارش دهید)


آموزش آسان و ساده زبان برنامه نویسی جاوا
لینک دانلود
باز نشر این مطلب تنها بصورت PDF و با ذکر منبع (لینک سایت) بلامانع است.
برای با خبر شدن از جدیدترین مطالب آموزشی جاوا عضو کانال تلگرام ما شوید.
telegram
هدر سایت
مشاهده سرفصل ها و ثبت نام در دوره Spring Boot جاواپرو  [کلیک کنید]
آموزش پروژه محور اسپرینگ بوت(Spring Boot)-سیستم دانشگاه
دوره پرتاب | آموزش پیش نیازهای برنامه نویسی
دوره آموزش مبانی زبان برنامه نویسی جاوا
دوره آموزش مفاهیم پیشرفته زبان برنامه نویسی جاوا
مقدمه ای از زبان برنامه نویسی جاوا(java)
آموزش زبان برنامه نویسی جاوا
آموزش گرافیک در زبان برنامه نویسی جاوا
آموزش مدیریت چیدمان گرافیکی در زبان جاوا
آموزش ساخت بازی دوبعدی در زبان جاوا
Collection ها در زبان برنامه نویسی جاوا
آموزش پروژه محور ساخت برنامه مدیریت بانک با JavaFX
نمونه پروژه های رایگان زبان جاوا
آموزش دیتابیس در زبان برنامه نویسی جاوا
نمونه مثال پایه ای زبان برنامه نویسی جاوا
نمونه مثال String در زبان برنامه نویسی جاوا
آموزش جامع برنامه نویسی JavaFX
آموزش ساخت برنامه آزمون تستی در JavaFX
آموزش برنامه نویسی سوکت در جاوا
آموزش ساخت برنامه دفترچه تلفن با JavaFX
آموزش ساخت ربات ساده تلگرام با زبان جاوا
آموزش ساخت برنامه ماشین حساب با JavaFX
آموزش ساخت برنامه ساده مدیریت ایمیل ها با JavaFX
دوره آموزش Spring Boot
سفارش انجام پروژه زبان برنامه نویسی جاوا(JAVA)
سفارش انجام پروژه برنامه نویسی متلب(MATLAB) با قیمت منصفانه و تحویل به موقع
سفارش انجام پروژه زبان برنامه نویسی سی شارپ (#C)
سفارش انجام پروژه زبان برنامه نویسی سی(C)
سفارش انجام پروژه زبان برنامه نویسی پایتون(Python)
سفارش انجام پروژه زبان برنامه نویسی PHP (پی اچ پی)
سفارش انجام پروژه زبان برنامه نویسی اسمبلی(Assembly)
سفارش انجام پروژه زبان برنامه نویسی جاوا اسکریپت (Javascript)
سفارش انجام پروژه هوش مصنوعی
سفارش انجام پروژه طراحی الگوریتم
سفارش انجام پروژه ساختمان داده ها
سفارش انجام پروژه مهندسی نرم افزار
سفارش انجام پروژه شبکه های کامپیوتری
سفارش انجام پروژه پایگاه داده: دیتابیس (database)
 سفارش انجام پروژه سیستم عامل
سفارش انجام پروژه پاورپوینت(PowerPoint)
سفارش انجام پروژه اکسل (Excel)
سفارش انجام تحقیق و تهیه مقاله
سوالات متداول برنامه نویسی
جدیدترین مطالب
گفتگو را شروع کنید
مشاوره ،تدریس خصوصی و سفارش انجام انواع پروژه های برنامه نویسی