رشتهها (Java Strings)
رشتهها (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() هم استفاده کنید:
۳. کاراکترهای خاص (Escape Characters) ✨
چون رشتهها داخل کوتیشن هستند، برای چاپ خودِ کوتیشن یا موارد دیگر باید از بکاسلش \ استفاده کنید:
\": چاپ دابل کوتیشن.\': چاپ تک کوتیشن.\\: چاپ خودِ بکاسلش.
== استفاده نکنید. به جای آن از متد .equals() استفاده کنید. (چون رشتهها آبجکت هستند، == آدرس حافظه را چک میکند نه محتوا را!).
بخش تخصصی: عمیقتر در دنیای جاوا 🛠️💎
در این بخش، به نکاتی میپردازیم که در سطح حرفهای و مصاحبههای کاری بسیار مهم هستند.
۱. مدیریت حافظه (Memory Management)
در جاوا، دادهها در دو بخش از حافظه ذخیره میشوند: Stack و Heap. انواعِ داده اولیه (Primitives) معمولاً در Stack ذخیره میشوند که سرعت دسترسی به آنها بسیار بالاست. اشیاء و آرایهها در Heap ذخیره میشوند که حجم بیشتری دارد اما مدیریت آن توسط Garbage Collector انجام میشود. درک این تفاوت، کلید اصلی برای نوشتن برنامههای بهینه است.
۲. مفاهیم امنیت در سطح زبان
جاوا یکی از امنترین زبانهاست چون اجازه دسترسی مستقیم به آدرسهای فیزیکی حافظه (مانند اشارهگرها در C++) را نمیدهد. مضاف بر این، وجود Bytecode Verifier قبل از اجرا، تضمین میکند که کدهای مخرب یا نامعتبر اجرا نشوند.
۳. کدهای تمیز (Clean Code)
در پروژههای تیمی، خوانایی کد مهمتر از هوشمندانه بودن آن است. همیشه از نامهای معنادار برای متغیرها استفاده کنید (مثلاً به جای a از userAge استفاده کنید). همچنین رعایتِ CamelCase و استفاده درست از کامنتها، نگهداری پروژه را در آینده بسیار سادهتر میکند.
تمرینهای عملی
برای تثبیت یادگیری این درس تمرینهای زیر را حل کنید
یک متغیر String به نام username با مقدار JavaMaster تعریف کنید. سپس طول این رشته را چاپ کنید.
public class Main {
public static void main(String[] args) {
String username = "JavaMaster";
System.out.println(username.length());
}
}
آماده رفتن به درس بعدی هستید؟
این درس را به پایان رساندید و میتوانید به درس بعدی بروید.