در توسینسو تدریس کنید

و

با دانش خود درآمد کسب کنید

آموزش جاوا (Java) قسمت 15 : کلاس String و کار با رشته قسمت یک

با سلام به همه دوستان و همراهان Itpro. در ادامه مطالب مربوط به آموزش جاوا به بررسی کلاس String خواهیم پرداخت. اشیائی که از این کلاس ساخته می شوند برای نگهداری رشته ها به کار می روند. رشته به مجموعه ای از کاراکتر های گفته می شود. برای مثال کلمات و جملات فارسی یا انگلیسی در کامپیوتر به عنوان رشته شناخته می شوند. برای ساخت یک شئ از نوع رشته و مقدار دهی آن باید به شکل زیر عمل کنیم.

String greeting = "Hello world!";

همان گونه که در داخل کد نشان داده شده است مقدار رشته باید در داخل علامت های دابل کوتیشن(") قرار بگیرد. در کد بالا یک شئ از کلاس String ساخته شده است که مقدار آن Hello world! می باشد. البته ما در مطالب قبلی گفتیم که برای ساخت اشیا از کلمه کلیدی new استفاده می شود. حال برای ساخت رشته نیز می توان از این کلمه کلیدی استفاده کرد. برای مثال به کد زیر توجه کنید:

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.

در کد بالا یک آرایه کاراکتری به یک شی رشته ای تبدیل شده است.

به دست آوردن طول رشته در جاوا

متدهایی در جاوا تعریف شده اند که بتوانند برخی اطلاعات در مورد یک شئ را به ما بدهند. به این متد ها متد های accessor گفته می شود. ایشاء کلاس String هم دارای متدهای accessor متعددی هستند. یکی از این متد ها متد length() می باشد که این متد طول رشته داده شده را بر می گرداند. منظور از طول رشته تعداد کاراکترهای به کار رفته در یک رشته است. مثالی از متد 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 استفاده می کنیم و نحوه نوشتن این متد به شکل زیر است:

string1.concat(string2);

این متد یک شئ رشته ای جدید برمی گرداند که مقدار آن الحاق دو رشته String1 و string2 می باشد. همچنین شما می توانید از متد concat در مقدار یک رشته نیز استفاده کنید. مانند شکل زیر:

"My site is ".concat("Itpro");

همچنین می توان عمل الحاق دو رشته را بدون متد و فقط با استفاده از عملگر + نیز انجام داد این روش در شکل زیر آورده شده است:

"Our" +" Website"+" is"+" Itpro"

برای درک بهتر این عمل به مثال زیر دقت کنید.

public class StringDemo {

   public static void main(String args[]) {
      String string1 = "saw I was ";
      System.out.println("Dot " + string1 + "Tod");
   }
}

خروجی کد بالا به شکل زیر خواهد بود:

Dot saw I was Tod

فرمت دادن به رشته

همان گونه که در آموزش های قبل هم نشان داده شد می توان هنگام استفاده از متد printf از رشته فرمت بندی شده استفاده کرد. اگر بخواهید متنی را فرمت بندی کنید که در قسمت هایی از آنها مقادیر مشخصی قرار گیرد می توانید از دو متد printf و format استفاده کرد. این دو متد یک رشته و تعدادی شئ دریافت می کنند که رشته وارد شده فرمت بندی شده است. خروجی این متد ها از نوع string می باشد یعنی خروجی این متدها یک شئ رشته ای است. تفاوت printf با format این است که printf رشته را فرمت بندی کرده و در همان حال آن را چاپ می کند بنابر این ما نمی توانیم که رشته تولید شده را در داخل یک متغیر ریخته و چند بار از آن استفاده کنیم. اما با استفاده از متد format این کار شدنی است. بنابر این می توان به جای استفاده از کد زیر :

System.out.printf("The value of the float variable is " +
                  "%f, while the value of the integer " +
                  "variable is %d, and the string " +
                  "is %s", floatVar, intVar, stringVar);

دقت داشته باشید که متغیر های floatVar, intVar, stringVar از قبل تعریف و مقداردهی شده اند. حال به جای استفاده از کد بالا می توان از کد زیر استفاده کرد.

String fs;
fs = String.format("The value of the float variable is " +
                   "%f, while the value of the integer " +
                   "variable is %d, and the string " +
                   "is %s", floatVar, intVar, stringVar);
System.out.println(fs);

خروجی کد بالا اگر floatVar=5.2, intVar=45, stringVar="MehdiAdeli" باشد برابر مقدار زیر خواهد بود:

The value of the float variable is 5.200000, while the value of the integer variable is 45, and the string is MehdiAdeli

متدهای کلاس String

متد charAt : این متد کاراکتری را که با عدد اندیس آن مشخص شده است را برمی گرداند. به این معنی که یک ورودی عددی به عنوان اندیس گرفته می شود و کاراکتر آن اندیس را برمی گرداند. دقت کنید که در جاوا اندیس ها از صفر شروع می شوند. برای مثال به کد زیر توجه کنید:

public class Test {

   public static void main(String args[]) {
      String s = "Strings are immutable";
      char result = s.charAt(8);
      System.out.println(result);
   }
}

خروجی این کد حرف a خواهد بود. به این دلیل که کاراکتر اندیس 8 کاراکتر a در ابتدای کلمه are می باشد.

متد compareTo

وظیفه این متد مقایسه می باشد. این متد دو نوع مقایسه را انجام می دهد. اول یک رشته را با یک شئ دیگر مقایسه می کند و دوم دو رشته را با یکدیگر مقایسه می نماید. خروجی این متد یک عدد int می باشد که اگر 0 باشد به این معنی است که دو رشته باهم کاملا مساوی هستند و اگر خروجی متد کمتر از 0 باشد ورودی متد از خود رشته صدا زننده متد از لحاظ کاراکتری کوچکتر می باشد و اگر خروجی بزرگتر از 0 باشد به این معنی است که از لحاظ کد اسکی کاراکتر ها خود رشته بزرگتر از آرگومان ورودی اش می باشد. برای مثال به کد زیر دقت کنید:

public class Test {

   public static void main(String args[]) {
      String str1 = "Strings are immutable";
	  String str2 = "Strings are immutable";
      String str3 = "Integers are not immutable";

      int result = str1.compareTo( str2 );
      System.out.println(result);
	  
      result = str2.compareTo( str3 );
      System.out.println(result);
	 
      result = str3.compareTo( str1 );
      System.out.println(result);
   }
}

خروجی کد بالا به شکل زیر خواهد بود

0
10
-10

متد compareToIgnoreCase

اگر در حالت کلی از متد compareTo استفاده کنیم جاوا بین حروف بزرگ و کوچک تفاوت قایل خواهد شد. به این معنی که اگر از compareTo استفاده کنیم کلمات Hello و hello با هم فرق خواهند داشت. حال اگر بخواهیم که جاوا بین حروف بزرگ و کوچک فرقی نگذارد از متد compareToIgnoreCase استفاده می کنیم. این متد همانند متد compareTo بوده و خروجی های آن نیز شبیه به همان متد است. برای مثالی از این متد به کد زیر توجه نمایید:

public class Test {

   public static void main(String args[]) {
String str1 = "Strings are immutable";
        String str2 = "STrings Are Immutable";
        String str3 = "Integers are not immutable";

        int result = str1.compareToIgnoreCase( str2 );
        System.out.println(result);

        result = str2.compareToIgnoreCase( str3 );
        System.out.println(result);

        result = str3.compareToIgnoreCase( str1 );
        System.out.println(result);
   }
}

خروجی کد بالا به شکل زیر خواهد بود:

0
10
-10

متد contentEquals

وظیفه این متد هم مقایسه دو رشته با یکدیگر می باشد با این تفاوت که آرگومان ورودی این متد یک شئ از نوع StringBuffer می باشد. خروجی این متد یک مقدار Boolean می باشد به این شکل که اگر مقدار ورودی با رشته صدا زننده برابر باشد نتیجه true و در غیر این صورت نتیجه false خواهد بود. برای مثال به کد زیر توجه نمایید:

public class Test {

   public static void main(String args[]) {
      String str1 = "Not immutable";
      String str2 = "Strings are immutable";
      StringBuffer str3 = new StringBuffer( "Not immutable");

      boolean  result = str1.contentEquals( str3 );
      System.out.println(result);
	  
      result = str2.contentEquals( str3 );
      System.out.println(result);
   }
}

خروجی کد بالا به شکل زیر خواهد بود

true
false

دقت داشته باشید که این متد نیز برای بزرگ و کوچک بودن حروف تفاوت قایل خواهد شد. تا به این قسمت از مطالب به بررسی کلاس String پرداخته شد در بخش های بعدی به ادامه بررسی در باره ی متدهای این کلاس می پردازیم.Itpro باشید

نویسنده: مهدی عادلی فر

منبع: جزیره برنامه نویسی و توسعه نرم افزار وب سایت توسینسو

هرگونه نشر و کپی برداری بدون ذکر منبع و نام نویسنده دارای اشکال اخلاقی می باشد.

#مقایسه_رشته_ها_در_جاوا #برنامه_نویسی_جاوا #آموزش_برنامه_نویسی_جاوا #کار_با_رشته_ها_در_جاوا #متدهای_مربوط_به_رشته_ها_در_جاوا #قالب_بندی_رشته_ها_در_جاوا #الحاق_رشته_ها_در_جاوا #کلاس_string_در_جاوا #دوره_آموزشی_جاوا #یادگیری_زبان_برنامه_نویسی_جاوا
عنوان
1 آموزش جاوا (Java) قسمت 1 : معرفی ، خصوصیات و شروع به کار رایگان
2 آموزش جاوا (Java) قسمت 2 : شی گرایی قسمت یک رایگان
3 آموزش جاوا (Java) قسمت 3: شی گرایی قسمت دو رایگان
4 آموزش جاوا (Java) قسمت 4 : شی گرایی قسمت سه رایگان
5 آموزش جاوا (Java) قسمت 5 : انواع داده رایگان
6 آموزش جاوا (Java) قسمت 6 : انواع متغیر رایگان
7 آموزش جاوا (Java) قسمت 7 : Modifier ها رایگان
8 آموزش جاوا (Java) قسمت 8 : عملگرها قسمت یک رایگان
9 آموزش جاوا (Java) قسمت 9 : عملگرها قسمت دو رایگان
10 آموزش جاوا (Java) قسمت 10 : حلقه های تکرار رایگان
11 آموزش جاوا (Java) قسمت 11 : عبارات شرطی رایگان
12 آموزش جاوا (Java) قسمت 12 : کلاس Wrapper اعداد رایگان
13 آموزش جاوا (Java) قسمت 12 : کلاس Wrapper اعداد رایگان
14 آموزش جاوا (Java) قسمت 14: کلاس Wrapper کاراکترها رایگان
15 آموزش جاوا (Java) قسمت 15 : کلاس String و کار با رشته قسمت یک رایگان
16 آموزش جاوا (Java) قسمت 16 : کلاس String و کار با رشته قسمت دو رایگان
17 آموزش جاوا (Java) قسمت 17 : کلاس String و کار با رشته قسمت سه رایگان
18 آموزش جاوا (Java) قسمت 18 : کلاس String و کار با رشته قسمت چهار رایگان
19 آموزش جاوا (Java) قسمت 19 : StringBuilder و StringBuffer رایگان
20 آموزش جاوا (Java) قسمت 20 : استفاده از آرایه ها رایگان
21 آموزش جاوا (Java) قسمت 21 : آموزش کار با تاریخ رایگان
22 آموزش جاوا (Java) قسمت 22 : عبارات منظم (Regular Expression) رایگان
23 آموزش جاوا (Java) قسمت 23 : تعریف و استفاده از متدها قسمت یک رایگان
24 آموزش جاوا (Java) قسمت 24 : تعریف و استفاده از متدها قسمت دو رایگان
25 آموزش جاوا (Java) قسمت 25 : کار با استریم ها و فایل ها رایگان
26 آموزش جاوا (Java) قسمت 26 : کار با دایرکتوری ها رایگان
27 آموزش جاوا (Java) قسمت 27 : کلاس ByteArrayInputStream رایگان
28 آموزش جاوا (Java) قسمت 28 : معرفی کلاس File و متدها رایگان
29 آموزش جاوا (Java) قسمت 29 : معرفی و شرح Exception ها قسمت 1 رایگان
30 آموزش جاوا (Java) قسمت 30 : معرفی و شرح Exception ها قسمت 2 رایگان
31 آموزش جاوا (Java) قسمت 31 : معرفی و شرح Exception ها قسمت 3 رایگان
32 آموزش جاوا (Java) قسمت 32 : استفاده از انوع کلاس های داخلی رایگان
33 آموزش جاوا (Java) قسمت 33 : وراثت کلاس ها و انواع آن رایگان
34 آموزش جاوا (Java) قسمت 34 : Override کردن متد ها رایگان
35 آموزش جاوا (Java) قسمت 35 : چند ریختی (Polymorphism) رایگان
36 آموزش جاوا (Java) قسمت 36 : Enum و ویژگی های آن رایگان
37 آموزش جاوا (Java) قسمت 37 : معرفی Abstract رایگان
38 آموزش جاوا (Java) قسمت 38 : استفاده از کپسول بندی (Encapsulation) رایگان
39 آموزش جاوا (Java) قسمت 39 : استفاده از اینترفیس ها رایگان
40 آموزش جاوا (Java) قسمت 40 : پکیج(Package) و نحوه استفاده رایگان
41 آموزش جاوا (Java) قسمت 41 : معرفی داده ساختارها Enumeration رایگان
42 آموزش جاوا (Java) قسمت 42 : داده ساختار BitSet رایگان
43 آموزش جاوا (Java) قسمت 43 : داده ساختار Vector رایگان
44 آموزش جاوا (Java) قسمت 44 : داده ساختار Stack (پشته) رایگان
45 آموزش جاوا (Java) قسمت 45 : داده ساختار Dictionary رایگان
46 آموزش جاوا (Java) قسمت 46 : داده ساختار Hashtable رایگان
47 آموزش جاوا (Java) قسمت 47 : داده ساختار Properites رایگان
48 آموزش جاوا (Java) قسمت 48 : معرفی و آموزش جنریک (Generic) رایگان
49 آموزش جاوا (Java) قسمت 49 : برنامه نویسی سوکت و شبکه قسمت 1 رایگان
50 آموزش جاوا (Java) قسمت 50 : برنامه نویسی سوکت و شبکه قسمت 2 رایگان
51 آموزش جاوا (Java) قسمت 51 : استفاده از Lambda Expression رایگان
52 آموزش جاوا (Java) قسمت 52 : Thread و Multi-Threading رایگان
53 آموزش جاوا (Java) قسمت 53 : Runnable در Thread و Multi-Threading رایگان
54 آموزش جاوا (Java) قسمت 54 : کلاس Thread و متدها رایگان
زمان و قیمت کل 0″ 0
0 نظر

هیچ نظری ارسال نشده است! اولین نظر برای این مطلب را شما ارسال کنید...

نظر شما
برای ارسال نظر باید وارد شوید.
از سرتاسر توسینسو
تنظیمات حریم خصوصی
تائید صرفنظر
×

تو می تونی بهترین نتیجه رو تضمینی با بهترین های ایران بدست بیاری ، پس مقایسه کن و بعد خرید کن : فقط توی جشنواره پاییزه می تونی امروز ارزونتر از فردا خرید کنی ....