دوره‌ها / JAVA / رشته‌ها (Java Strings)

رشته‌ها (Java Strings)

15 دقیقه Article

رشته‌ها (Strings): مدیریت متن‌ها 文本🔤

رشته (String) در جاوا در واقع یک Object است (نه یک نوع داده اولیه). به همین دلیل امکانات و متدهای بسیار زیادی برای دستکاری متن‌ها در اختیار ما می‌گذارد.

۱. متدهای کاربردی رشته‌ها

  • length(): طول رشته (تعداد کاراکترها) را برمی‌گرداند.
  • toUpperCase(): تمام حروف را بزرگ می‌کند.
  • toLowerCase(): تمام حروف را کوچک می‌کند.
  • indexOf(): جایگاه (ایندکس) یک متن خاص را در رشته پیدا می‌کند (شروع از 0).

مثال متدها:

{code_block('String txt = "Hello Java";\nSystem.out.println(txt.length()); // خروجی: 10\nSystem.out.println(txt.indexOf("Java")); // خروجی: 6')}

۲. الحاق رشته‌ها (String Concatenation)

علاوه بر عملگر +، می‌توانید از متد concat() هم استفاده کنید:

{code_block('String f = "Java";\nString s = "Course";\nSystem.out.println(f.concat(s));')}

۳. کاراکترهای خاص (Escape Characters) ✨

چون رشته‌ها داخل کوتیشن هستند، برای چاپ خودِ کوتیشن یا موارد دیگر باید از بک‌اسلش \ استفاده کنید:

  • \": چاپ دابل کوتیشن.
  • \': چاپ تک کوتیشن.
  • \\: چاپ خودِ بک‌اسلش.
جمع عدد و رشته: اگر یک عدد را با یک رشته جمع کنید، جاوا عدد را به رشته تبدیل کرده و آن‌ها را به هم می‌چسباند! نتیجه همیشه یک String خواهد بود.
برابری رشته‌ها: بسیار مهم! برای چک کردن برابری دو رشته هرگز از == استفاده نکنید. به جای آن از متد .equals() استفاده کنید. (چون رشته‌ها آبجکت هستند، == آدرس حافظه را چک می‌کند نه محتوا را!).
<hr style="margin: 50px 0; border: 0; border-top: 1px dashed rgba(255,255,255,0.1);">

بخش تخصصی: عمیق‌تر در دنیای جاوا 🛠️💎

در این بخش، به نکاتی می‌پردازیم که در سطح حرفه‌ای و مصاحبه‌های کاری بسیار مهم هستند.

۱. مدیریت حافظه (Memory Management)

در جاوا، داده‌ها در دو بخش از حافظه ذخیره می‌شوند: Stack و Heap. انواعِ داده اولیه (Primitives) معمولاً در Stack ذخیره می‌شوند که سرعت دسترسی به آن‌ها بسیار بالاست. اشیاء و آرایه‌ها در Heap ذخیره می‌شوند که حجم بیشتری دارد اما مدیریت آن توسط Garbage Collector انجام می‌شود. درک این تفاوت، کلید اصلی برای نوشتن برنامه‌های بهینه است.

۲. مفاهیم امنیت در سطح زبان

جاوا یکی از امن‌ترین زبان‌هاست چون اجازه دسترسی مستقیم به آدرس‌های فیزیکی حافظه (مانند اشاره‌گرها در C++) را نمی‌دهد. مضاف بر این، وجود Bytecode Verifier قبل از اجرا، تضمین می‌کند که کدهای مخرب یا نامعتبر اجرا نشوند.

۳. کدهای تمیز (Clean Code)

در پروژه‌های تیمی، خوانایی کد مهم‌تر از هوشمندانه بودن آن است. همیشه از نام‌های معنادار برای متغیرها استفاده کنید (مثلاً به جای a از userAge استفاده کنید). همچنین رعایتِ CamelCase و استفاده درست از کامنت‌ها، نگهداری پروژه را در آینده بسیار ساده‌تر می‌کند.

نکته پایانی: یادگیری یک زبان فقط یادگیری دستورات آن نیست؛ بلکه یادگیریِ طرز فکر و معماریِ آن اکوسیستم است. جاوا با ساختارِ منضبط خود، ذهن شما را برای مهندسی نرم‌افزار به سبکِ صحیح تربیت می‌کند.

تمرین‌های عملی

برای تثبیت یادگیری این درس تمرین‌های زیر را حل کنید

طول نام کاربری Easy
سوال تمرین

یک متغیر String به نام username با مقدار JavaMaster تعریف کنید. سپس طول این رشته را چاپ کنید.

پاسخ تمرین
JAVA
public class Main {
  public static void main(String[] args) {
    String username = "JavaMaster";
    System.out.println(username.length());
  }
}

آماده رفتن به درس بعدی هستید؟

این درس را به پایان رساندید و می‌توانید به درس بعدی بروید.