دوره های آموزشی آکادمی پی وی لرن (پروژه محور و ویژه بازار کار)



  • ۱۴
  • مهر

جلسه ۱۲ : کلاس های رشته در جاوا

  • دسته‌بندی‌ها :
جلسه ۱۲ : کلاس های رشته در جاوا
    • جزئیات
    • نوع محتواآموزش تصویری

      مقدمه

      با عرض سلام و وقت بخیر خدمت کاربران سایت پی وی لرنو کاربرانی که دوره کامل آموزش برنامه نویسی جاوا را دنبال می کنند. رشته ها مجموعه ای از کاراکترها می باشند که معمولا یک کلمه یا جمله را می سازند. همانطور که در بخش های قبل مرور کردیم جاوا برای مدیریت و دستکاری داده های عددی و کاراکتر کلاس ها متدهایی را ارائه کرده است. برای رشته ها نیز به عنوان یک نوع داده ی پرکاربرد، کلاس ها و متدهایی ( متدهای رشته در جاوا ) برای دستکاری و مدیریت آن ها توسط جاوا ارائه شده است. حالا برای آشنایی با کلاس های رشته در جاوا در ادامه ی مباحث این بخش با ما همراه باشید.

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

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

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

      روش مستقیم ایجاد یک داده ی رشته ای در جاوا بصورت زیر است:

      مثال : 

      هر زمان که رشته ای را در کد خود قرار دهید کامپایلر یک شیء String با مقدار رشته ایجاد می کند.

      کلاس String دارای ۱۱ ساختار برای ایجاد رشته هاست.

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

      مثال:

      مثال : 

      خروجی کد فوق در جاوا بصورت زیر خواهد بود:

      مثال : 

      نکته:کلاس String غیر قابل تغییر است، به طوری که پس از ایجاد یک شیء رشته قابل تغییر نیست.

      اگر به تغییر در رشته نیاز داشته باشید باید از کلاس های String Buffer و String Builder استفاده کنید.

      طول رشته

      متدهای متعددی برای بدست آوردن اطلاعات مربوط به رشته ها ارائه شده است.

      متد ()length طول یک رشته را باز می گرداند.

      مثال:

      مثال : 

      نتیجه ی اجرای کد فوق در جاوا بصورت زیر است:

      مثال : 

      رشته های ترکیبی

      کلاس String شامل یک متد برای ترکیب دو رشته است :

      مثال : 

      در کد فوق رشته ی string2 به انتهای string1 اضافه شده و یک رشته ی جدید می سازد.

      همچنین می توانید از متد ()concat بصورت زیر استفاده کنید:

      مثال : 

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

      مثال : 

      نتیجه ی اجرای کد فوق در جاوا بصورت زیر خواهد بود:

      مثال : 

      مثال:

      مثال : 

      نتیجه ی اجرای کد فوق در جاوا بصورت زیر است:

      مثال : 

      ایجاد قالب رشته ای (Format Strings)

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

      با استفاده از متد ()static format می توانید یک رشته ی فرمت شده را که قابل استفاده ی مجدد باشد،ایجاد کنید.

      مثال:

      مثال : 

      شما می توانید بصورت زیر بنویسید:

      مثال : 

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

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

      ردیفمتد و توضیحات آن
      متدهای مقایسه ای و رمزنگاری
      ۱char charAt(int index)کاراکترها را در قالب index برمی گرداند.
      ۲int compareTo(Object o)نوع رشته را به آبجت تبدیل می کند.
      ۳int compareTo(String anotherString)دو رشته را از نظر لغوی مقایسه می کند.
      ۴int compareToIgnoreCase(String str)دو رشته را از نظر لغوی مقایسه می کند، تفاوت های مورد توجه را نادیده می گیرد.
      ۵String concat(String str)رشته مشخص شده را به انتهای رشته ی جاری متصل می کند.
      ۶boolean contentEquals(StringBuffer sb)

      اگر رشته به عنوان StringBuffer باشد true vh fv

       

      ۷static String copyValueOf(char[] data)

      رشته را بصورت توالی کاراکتر ها باز می گرداند.

       

      ۸static String copyValueOf(char[] data, int offset, int count)رشته را بصورت توالی کاراکتر ها باز می گرداند.
      ۹boolean endsWith(String suffix)

      تست می کند که رشته با پسوند مشخصی پایان یافته یا خیر.

      ۱۰boolean equals(Object anObject)رشته جاری را به آبجکت مشخص شده مقایسه می کند.
      ۱۱boolean equalsIgnoreCase(String anotherString)رشته ی جاری را با سایر رشته ها مقایسه می کند.
      ۱۲byte getBytes()رشته جاری را به دنباله ای از بایت ها رمزنگاری کرده و نتیجه را در یک آرایه ذخیره می کند.
      ۱۳byte[] getBytes(String charsetName)این رشته را به یک دنباله از بایت با استفاده از نام charset نامگذاری می کند.
      ۱۴void getChars(int srcBegin, int srcEnd, char[] dst, int dstBegin)کاراکترها را از این رشته به آرایه رشته مقصد کپی می کند.
      ۱۵int hashCode()یک کد هش را برای این رشته باز می گرداند

      متدهای جستجو در رشته

      ۱۶int indexOf(int ch)

      index اولین کاراکتر مشخص شده را باز می گرداند.

       

      ۱۷int indexOf(int ch, int fromIndex)index اولین کاراکتر مشخص شده را باز می گرداند.
      ۱۸int indexOf(String str)index زیر رشته ی مشخص شده را باز می گرداند.
      ۱۹int indexOf(String str, int fromIndex)index کاراکتر مشخص شده را در رشته ی مربوطه جستجو می کند.
      ۲۰String intern()
      ۲۱int lastIndexOf(int ch)آخرین index کاراکتر مشخص شده را برمی گرداند.
      ۲۲int lastIndexOf(int ch, int fromIndex)آخرین index کاراکتر مشخص شده را در یک متغیر int برمی گرداند..
      ۲۳int lastIndexOf(String str)آخرین index یک زیر رشته را برمی گرداند.
      ۲۴int lastIndexOf(String str, int fromIndex)آخرین index رشته مشخص شده را از مکان مشخص شده در رشته باز می گرداند.
      ۲۵int length()طول رشته ی جاری را بر می گرداند.
      ۲۶boolean matches(String regex)بررسی می کند که آیا رشته جاری با قالب دریافتی مطابقت دارد یاد خیر.

       

      متدهای موقعیت یابی رشته

      ۲۷boolean regionMatches(boolean ignoreCase, int toffset, String other, int ooffset, int len)بررسی می کند که آیا دو موقعیت رشته ای باهم برابرند یا خیر.
      ۲۸boolean regionMatches(int toffset, String other, int ooffset, int len)بررسی می کند که آیا دو موقعیت رشته ای باهم برابرند یا خیر.

       

      سایر متدهای رشته ای

      ۲۹String replace(char oldChar, char newChar)کاراکتر مشخص شده را در رشته جاری پیدا کرده و با کاراکتر جدید تعویض می کند.
      ۳۰String replaceAll(String regex, String replacementتمام زیر رشته هایی را که با قالب دریافتی مطابقت دارند را جایگزین می کند.
      ۳۱String replaceFirst(String regex, String replacement)اولین زیر رشته های را که با قالب دریافتی مطابقت دارند را جایگزین می کند.
      ۳۲String[] split(String regex)رشته جاری را در قالب دریافتی تقسیم می کند.
      ۳۳String[] split(String regex, int limit)رشته جاری را در قالب دریافتی تقسیم می کند.
      ۳۴boolean startsWith(String prefix)بررسی می کند که آیا رشته ی جاری با پیشوند دریافتی شروع شده یا خیر.
      ۳۵boolean startsWith(String prefix, int toffset)بررسی می کند که آیا رشته ی جاری با پیشوند دریافتی شروع شده یا خیر.
      ۳۶CharSequence subSequence(int beginIndex, int endIndex)کاراکترهای زیر توالی  را در بازه ی مشخص شده پیدا می کند.
      ۳۷String substring(int beginIndex)زیر رشته ای را از مکان مشخص شده در رشته ی جاری جستجو می کند.
      ۳۸String substring(int beginIndex, int endIndex)زیر رشته ای را از مکان مشخص شده در رشته ی جاری جستجو می کند.
      ۳۹char[] toCharArray()رشته ی جاری را به آرایه ای از کاراکتر ها تبدیل می کند.
      ۴۰String toLowerCase()حروف بزرگ رشته را به حروف کوچک تبدیل می کند.
      ۴۱String toLowerCase(Locale locale)حروف بزرگ رشته را به حروف کوچک تبدیل می کند.
      ۴۲String toString()آبجکت را به رشته تبدیل می کند.
      ۴۳String toUpperCase()تمام حروف رشته جاری را به حروف بزرگ تبدیل می کند.
      ۴۴String toUpperCase(Locale locale)تمام حروف رشته جاری را به حروف بزرگ تبدیل می کند.
      ۴۵String trim()فضای اضافی داخل رشته را حذف می کند.
      ۴۶static String valueOf(primitive data type x).

      کلام آخر

      رشته همانند داده های نوع عددی و کاراکتری به عنوان یکی ازپرکاربردترین نوع داده ها در جاوا و سایر زبان های برنامه نویسی در جاوا دارای کلاس و متدهای گسترده ای برای دستکاری و مدیریت رشته می شوند. از این رو مباحث این بخش را به آشنایی با کلاس های رشته در جاوا اختصاص دادیم.

      QR:  جلسه ۱۲ : کلاس های رشته در جاوا
      به اشتراک بگذارید