رشته های جاوا



جاوه رشته

در زبان برنامه نویسی جاوا ، یک رشته چیزی نیست جز توالی کاراکترها. این شی بیشترین استفاده را دارد. کلاس Java String روش های زیادی دارد که برای دستکاری های مختلف استفاده می شود. این غیر قابل تغییر است ، یعنی ارزش آن قابل تغییر نیست. یک رشته معادل آرایه ای از کاراکترها است.

ایجاد یک رشته در جاوا

ما می توانیم یک رشته را با استفاده از 2 روش مختلف ایجاد کنیم:

  • استفاده از رشته به معنای واقعی
  • استفاده از کلمه کلیدی جدید

یک رشته را با استفاده از یک رشته واقعی ایجاد کنید

این مستقیم ترین روش ایجاد یک است رشته در جاوا ما می توانیم یک رشته را با قرار دادن مقدار در دو نقل قول ایجاد کنیم. در اینجا متغیر "مقدار" از نوع String رشته ای را به نام "زبان جاوا" نگه می دارد

String value = "Java language";

هنگامی که ما یک رشته را به معنای واقعی ایجاد می کنیم ، JVM ابتدا "رشته ثابت رشته" را در صورت وجود رشته بررسی می کند. اگر این مورد وجود نداشته باشد ، JVM یک نمونه رشته جدید ایجاد می کند ، در غیر این صورت فقط یک ارجاع به نمونه تلفیقی بازگردانده می شود. به عنوان مثال ، در حالت زیر ، هر دو رشته رشته مقدار یکسانی دارند. از این رو فقط 1 شی ایجاد می شود (یعنی s1) و s2 مرجع s1 خواهد بود. این بدان معناست که ، صرف نظر از اینکه چند متغیر رشته ای با همان مقدار ایجاد می کنیم ، فقط 1 نمونه در مجموعه ثابت رشته ایجاد می شود.

"رشته ثابت استخر" چیزی نیست جز حافظه ویژه برای نگهداری اشیا st رشته ای.

String s1 = "Java language"; 
String s2 = "Java language";

رشته در جاوا

ایجاد یک رشته با استفاده از کلمه کلیدی جدید

وقتی می خواهیم 2 شی مختلف داشته باشیم که دارای همان مقدار رشته باشند ، پس یک رشته با استفاده از ایجاد می کنیم جدید کلمه کلیدی به شرح زیر است. در این حالت ، JVM 2 شی مختلف رشته ای را در یک حافظه heap ایجاد می کند

String s1 = new String("Java");
String s2 = new String("Java");

رشته در جاوا

رشته های جاوا

کلاس java.lang.String از روش های مختلفی پشتیبانی می کند که برای دستکاری های مختلف رشته ای به شرح زیر استفاده می شود:

روشتوضیحات:پارامترهای
char char در (شاخص بین المللی)کاراکتر را در شاخص مشخص شده رشته ورودی برمی گرداندindex - مقدار شاخص رشته
int codePointAt (نمایه int)مقدار یونیکد کاراکتر را در نمایه مشخص شده برمی گرداندindex - مقدار شاخص رشته
int codePointBefore (فهرست فهرست int)مقدار یونی کد کاراکتر قبل از فهرست مشخص شده را برمی گرداندindex - مقدار شاخص رشته
int compareTo (رشته anotherstring)2 رشته را بر اساس مقدار یونیکد کاراکترها مقایسه می کند و اگر قبل از رشته آرگومان باشد ، مقدار منفی را برمی گرداند ، وگرنه مثبت برمی گردد اگر هر دو رشته برابر باشند مقدار برگشتی 0 استanotherstring - رشته ای برای مقایسه با شی st رشته ای
int compareToIgnoreCase (رشته anotherstring)مشابه روش مقایسه با این تفاوت که مورد را نادیده می گیرد.anotherstring - رشته ای برای مقایسه با شی st رشته ای
رشته سیم (رشته رشته)دو مقدار رشته را بهم پیوند می دهدstr - رشته ای که با مقدار شی object رشته به هم پیوند می خورد
boolean حاوی (CharSequence c)بررسی می کند که آیا رشته دنباله کاراکتر مشخص شده باشد یا خیر و در صورت وجود درست برمی گرددج - دنباله کاراکتر برای یافتن در رشته
محتوای بولی معادلات (CharSequence c)بررسی می کند که آیا رشته دقیقاً معادل نویسه ها را نشان می دهد یا خیر و در صورت وجود درست برمی گرددج - دنباله کاراکتر برای یافتن در رشته
محتوای بولی معادلات (StringBuffer sb)بررسی می کند که آیا این رشته حاوی بافر رشته مشخص شده باشد یا خیر و در صورت وجود درست برمی گرددsb - محتوای بافر رشته ای
انتهای بولی با (پسوند رشته)بررسی می کند که آیا این رشته با پسوند مشخص شده به پایان می رسد یا خیر و در صورت وجود درست برمی گرددپسوند - پسوند بررسی در رشته
بولی برابر است (شی Ob obj)شباهت شی object رشته ای را با آبجکت عبور کرده بررسی می کند و در صورت برابر بودن درست برمی گرددobj - هدف مقایسه
برابر بولی IgnoreCase (رشته String)بدون توجه به مورد ، دو رشته را با هم مقایسه می کند و اگر هر دو رشته برابر باشد ، true را برمی گرداندstr - رشته ای برای مقایسه
int indexOf (int ch)شاخص وقوع اولین کاراکتر یونیکد مشخص شده در رشته را برمی گرداندch - مقدار یونیکد شخصیت
int indexOf (رشته String)شاخص اولین وقوع رشته فرعی مشخص شده در رشته را برمی گرداندstr - مقدار زیر رشته موجود در رشته
بولی isBlank ()true برمی گردد رشته خالی است یا فقط شامل فضاهای خالی است
boolean isEmpty ()اگر رشته خالی باشد درست برمی گردد (یعنی طول آن 0 است)
int lastindexOf (int ch)شاخص آخرین وقوع کاراکتر یونیکد مشخص شده در رشته را برمی گرداندch - مقدار یونیکد شخصیت
int lastindexOf (رشته رشته)شاخص آخرین وقوع رشته فرعی مشخص شده در رشته را برمی گرداندstr - مقدار زیر رشته موجود در رشته
طول int ()طول رشته را برمی گرداند
مسابقات بولی (رشته regex)اگر رشته با عبارت منظم مشخص شده مطابقت داشته باشد ، درست برمی گرددregex - عبارت منظمی که باید بررسی شود
تکرار رشته (تعداد شمارش)رشته را بر اساس شمارش متصل می کندشمارش - تعداد دفعاتی برای اتصال رشته ورودی
جایگزینی رشته (char oldchar ، char newchar)رشته جدید را با جایگزینی تمام وقایع کاراکتر با کاراکتر جدید برمی گرداندoldchar - کاراکتری که جایگزین می شود
newchar - کاراکتری که جایگزین می شود
رشته [] تقسیم (رشته regexp)رشته را بر اساس عبارت منظم تقسیم می کند. این آرایه را برمی گرداندregexp - جداکننده برای تقسیم رشته
رشته [] split (رشته regexp ، حد int)رشته را بر اساس عبارت منظم و تعداد دفعاتی که باید اعمال شود ، تقسیم می کندregexp - جداکننده برای تقسیم رشته
حد - تعداد دفعات اعمال الگو
شروع بولی با (پیشوند رشته)بررسی می کند که آیا رشته داده شده با پیشوند مشخص شده شروع می شود یا خیر. در صورت وجود درست برمی گرددپیشوند - پیشوند بررسی رشته
boolean startWith (پیشوند رشته ، int to offset)بررسی می کند که آیا رشته داده شده با پیشوند مشخص شده بر اساس پارامتر tooffset شروع می شود یا خیر. در صورت وجود true برمی گرددپیشوند - پیشوند بررسی رشته
tooffset - نمایه ای که باید از آن شروع به جستجو کند
نوار رشته ای ()رشته ای را که تمام فضاهای سفید برداشته شده اعم از جلو و عقب برمی گرداند
رشته StringLeading ()یک رشته زیر رشته را با تمام فضاهای پیشرو برمی گرداند
نوار رشته Trail ()یک رشته فرعی از رشته را با تمام فضاهای دنباله ای برمی گرداند
CharSequence subSequence (int startIndex، int endIndex)توالی کاراکتر رشته را بر اساس شاخص شروع و پایان برمی گرداندstartIndex - نمایه ای که باید زیر رشته از آن بازیابی شود
endIndex - نمایه ای که باید زیر رشته بازیابی شود
رشته رشته فرعی (int startIndex)یک رشته فرعی از رشته را بر اساس شاخص شروع برمی گرداندstartIndex - نمایه ای که باید زیر رشته از آن بازیابی شود
رشته رشته فرعی (int startIndex، int endIndex)یک رشته فرعی از رشته را بر اساس شاخص شروع و پایان برمی گرداندstartIndex - نمایه ای که باید زیر رشته از آن بازیابی شود
endIndex - نمایه ای که باید زیر رشته بازیابی شود
char [] به CharArray ()رشته را به آرایه نویسه تبدیل می کند
رشته toLowerCase ()همه نویسه های رشته را به حروف کوچک تبدیل می کند
رشته به LowCase (محل محلی)همه نویسه های رشته را بر اساس قوانین محلی به کوچک تبدیل می کندlocale - قوانین محلی که باید اعمال شود
رشته toString ()رشته را خودش برمی گرداند
رشته toUpperCase ()همه نویسه های رشته را به حروف بزرگ تبدیل می کند
رشته toUpperCase (محل محلی)همه نویسه های رشته را بر اساس قوانین محلی به حروف بزرگ تبدیل می کندlocale - قوانین محلی که باید اعمال شود
اصلاح رشته ()رشته ای را که تمام فضاهای پیشرو و انتهایی برداشته شده برمی گرداند
String formatString (قالب رشته ، عناصر ...یک رشته قالب بندی شده را بر اساس قالب و آرگومان ها برمی گرداندقالب - مشخص کننده قالب
args - آرگومان هایی که توسط مشخص کننده قالب به آنها ارجاع می شود
String join (جداکننده CharSequence ، عناصر CharSequence ...)با استفاده از جداکننده به عناصر توالی کاراکتر می پیونددdelimiter - مرز جدا کننده برای پیوستن
عناصر - عناصر رشته ای برای پیوستن
مقدار رشته از (بولی ب)نمایش رشته ای از استدلال boolean را برمی گرداند. اگر true تصویب شود ، true برمی گرددب - مقدار بولی به عنوان درست یا نادرست
مقدار رشته از (char c)نمایش رشته آرگومان کاراکتر را برمی گرداندج - شخصیت
مقدار رشته از داده (char [])نمایش رشته آرگومان آرایه نویسه را برمی گرداندداده - آرایه نویسه
مقدار رشته از (دو برابر)نمایش رشته آرگومان دو را برمی گرداندد - ارزش دو برابر
مقدار رشته از (شناور f)نمایش رشته آرگومان float را برمی گرداندf - مقدار شناور
مقدار رشته از (int i)نمایش رشته آرگومان عدد صحیح را برمی گرداندمن - مقدار صحیح
مقدار رشته ازf (طولانی l)نمایش رشته ای از آرگومان طولانی را برمی گرداندl - ارزش طولانی
مقدار رشته از (Object Obj)نمایش رشته ای از آرگومان شی را برمی گرداندobj - شی
مقدار رشته از (char [] داده ، جبران int ، شمارش int)نمایش رشته ای از آرگومان آرایه کاراکتر زیر رشته خاص را بر اساس جبران و شمارش برمی گرداندداده - آرایه نویسه
جبران - شروع فهرست
شمارش - طول زیر رشته

مثال: برنامه جاوا برای ایجاد رشته ای از نویسه های آرایه

در مثال زیر ، an را تبدیل می کنیم صف نویسه های یک رشته در جاوا با استفاده از کلمه کلیدی جدید.

public class StringDemo1 {

  public static void main(String[] args) {
    char[] c = {'j','a','v','a'};
    String s = new String(c);
    System.out.println(s);
    
  }

}
Output:
java

مثال: با استفاده از روش های length () ، charAt () و indexOf ()

مثال زیر نحوه بازیابی یک کاراکتر در یک شاخص خاص ، بدست آوردن طول یک رشته و بازیابی شاخص یک کاراکتر خاص را به شما نشان می دهد.

public class StringDemo2 {

  public static void main(String[] args) {
    String s1 = new String("Java tutorial");
    System.out.println("The character at index 6 is : " + s1.charAt(6));
    System.out.println("The length of the input string is : " + s1.length());
    System.out.println("The index of letter 'v' is : " + s1.indexOf('v'));
  }

}
Output:
The character at index 6 is : u
The length of the input string is : 13
The index of letter 'v' is : 2

مثال: با استفاده از compareTo () ، contentEquals () و شامل ()

این مثال مقایسه 2 رشته در جاوا را نشان می دهد

  1. compareTo () یک عدد صحیح مثبت در اینجا برمی گرداند زیرا رشته ورودی جایگزین رشته آرگومان می شود.
  2. compareToIgnoreCase () 0 را برمی گرداند زیرا هر دو رشته بدون توجه به مورد برابر هستند.
  3. περιέχει () true را برمی گرداند زیرا رشته ورودی شامل رشته آرگومان است
  4. contentEquals () false را برمی گرداند زیرا رشته ورودی شامل رشته آرگومان دقیق نیست.
public class StringDemo2 {

  public static void main(String[] args) {
    String s1 = new String("Java tutorial");
    System.out.println("Comparison of input string with argument is : " + s1.compareTo("C++"));
    System.out.println("Comparison of input string with argument ignoring case is : " + s1.compareToIgnoreCase("JAVA TUTORIAL"));
    System.out.println("Output of contains method: " + s1.contains("tutorial"));
    System.out.println("Output of contentEquals method: " + s1.contentEquals("Java"));
    }
}
Output:
Comparison of input string with argument is : 7
Comparison of input string with argument ignoring case is : 0
Output of contains method: true
Output of contentEquals method: false

مثال: استفاده از برابر ()

اولین خروجی کاذب است زیرا پرونده حتی اگر یکسان باشد مطابقت ندارد. خروجی دوم درست است زیرا محتوا و حروف با هم مطابقت دارند.

خروجی سوم نادرست است زیرا هر دو محتوا متفاوت هستند.

public class StringDemo3 {

  public static void main(String[] args) {
    String s1 = "java tutorial";
    String s2 = "Java Tutorial";
    String s3 = "java tutorial";
    String s4 = "Tutorial cup";
    System.out.println(s1.equals(s2));
    System.out.println(s1.equals(s3));
    System.out.println(s1.equals(s4));
  }

}
Output:
false
true
false

مثال: اتصال رشته ها

ما می توانیم با استفاده از concat () 2 رشته در جاوا را بهم پیوند دهیم روش جاوا کلاس رشته. "+" همچنین برای بهم پیوستن 2 رشته یا بیشتر از آن استفاده می شود که به طور معمول در دستورات چاپ استفاده می شود. در حالی که 2 رشته را بهم پیوند می دهید ، فضای بین رشته ها در نظر گرفته نمی شود. در مثال زیر ، رشته s3 حاوی مقدار بهم پیوسته s1 و s2 است که همراه با یک رشته جدید در دستور چاپ استفاده می شود.

همچنین می توانیم با استفاده از روش join () 2 رشته را در جاوا بهم پیوند دهیم. این به کلمات منتقل شده در آرگومان با یک جداکننده مشخص شده می پیوندد.

public class StringConcat {

  public static void main(String[] args) {
    String s1 = "Hello,";
    String s2 = "how are you";
    String s3 = s1.concat(s2);
    System.out.println(s3 + " today");
    System.out.println(s1.join(",", "welcome","to","tutorialcup"));
  }

}
Output:
Hello,how are you today
welcome,to,tutorialcup

مثال: برنامه جاوا برای تبدیل رشته بین حروف بزرگ و کوچک

public class StringCase {

  public static void main(String[] args) {
    String s1 = "Welcome to tutorialcup";
    System.out.println("Convert to lower case: " + s1.toLowerCase());
    System.out.println("Convert to upper case: " + s1.toUpperCase());

  }

}
Output:
Convert to lower case: welcome to tutorialcup
Convert to upper case: WELCOME TO TUTORIALCUP

مثال: استفاده از زیر رشته در جاوا

ما می توانیم بخشی از رشته را در Java با استفاده از بازیابی کنیم بستر روش. مقدار شاخص از 0 شروع می شود.

public class StringDemo3 {

  public static void main(String[] args) {
    String s1 = "java tutorial";
    System.out.println(s1.substring(3));
    System.out.println(s1.substring(1, 10));
  }

}
Output:
a tutorial
ava tutor

مثال: استفاده از split و جایگزینی

Split یکی دیگر از روشهای پر کاربرد String در جاوا است. در این مثال ، ابتدا رشته ورودی را با استفاده از جداکننده "" تقسیم می کنیم. از این رو این هر کلمه را جداگانه چاپ می کند. بعد ، ما بر اساس جداکننده تقسیم می شویم اما حد را به عنوان 2 مشخص می کنیم که بدان معنی است که فقط به دو مقدار آرایه رشته تقسیم می شود.

در مثال اول جایگزینی ، شخصیت فردی را جایگزین می کنیم. در بعدی ، توالی کاراکتر را جایگزین می کنیم.

public class StringDemo4 {

  public static void main(String[] args) {
    String str1 = "Welcome to java programming";
    System.out.println("Split output using delimiter:");
    //Split using only delimiter
    String[] arrval = str1.split(" ");
    for(int i=0;i<arrval.length;i++) {
      System.out.println(arrval[i]);
    }
    System.out.println("\nSplit output using delimiter and limit:");
    //Split using delimiter and limit
    String[] arrval2 = str1.split(" ", 2);
    for(int i=0;i<arrval2.length;i++) {
      System.out.println(arrval2[i]);
    }
    
    System.out.println("\nReplace output with character:");
    //Replace character
    String str2 = str1.replace('j', 'J');
    System.out.println(str2);
    System.out.println("\nReplace output with character sequence:");
    String str3 = str1.replace("java", "javascript");
    System.out.println(str3);
  }

}


Output:
Split output using delimiter:
Welcome
to
java
programming

Split output using delimiter and limit:
Welcome
to java programming

Replace output with character:
Welcome to Java programming

Replace output with character sequence:
Welcome to javascript programming

مثال: رشته فرمت جاوا

ما می توانیم هر قالب را قالب بندی کنیم نوع داده به یک رشته با استفاده از روش قالب. در اینجا ، ما از رشته ("٪ s") ، float (٪ f ") و boolean ("٪ b ") به عنوان مثال استفاده می کنیم.

public class StringFormat {

  public static void main(String[] args) {
    String str = "Java";
    String formatstring1 = String.format("Programming language is %s",str);
    String formatstring2 = String.format("Float value is %f", 55.6789);
    String formatstring3 = String.format("Boolean value is %b", true);
    System.out.println(formatstring1);
    System.out.println(formatstring2);
    System.out.println(formatstring3);
  }

}
Output:
Programming language is Java
Float value is 55.678900
Boolean value is true

نتیجه

در این آموزش ، شما با String در جاوا ، روشهای مختلف ایجاد آن ، و روشهای مختلف رشته به همراه مثالهایی آشنا شده اید.

ارجاع