کار با مقادير حرفی یا کاراکتر

درس “کار با مقادیر کاراکتری” از دوره آموزش جامع جاوا، به طور تخصصی نحوه تعریف، مقداردهی و استفاده از نوع داده char
را در جاوا بررسی میکند. در این درس، روش اعلان متغیرهای char با استفاده از کاراکترهای منفرد (مانند 'A'
) و کدهای Unicode برای نمایش نمادهای خاص توضیح داده میشود. همچنین، عملیات مختلف روی مقادیر char مانند تبدیل آنها به انواع دادهای دیگر و اجرای محاسبات ساده بررسی میگردد. این درس برای توسعهدهندگان ضروری است تا بتوانند در برنامههای خود از مقادیر کاراکتری بهطور مؤثر استفاده کنند و مفاهیم اساسی مرتبط با دادههای کاراکتری را در جاوا درک کنند.
در جاوا یک نوع داده اولیه با نامِ character وجود دارد که برای اعلان متغیرها از جنس نوع داده هست و برای آن از کلمه ی کلیدی char استفاده میشود.
و در این قسمت میخواهم این نوع داده رو به صورت کامل برای شما شرح بدهم.
جاوا یک تمایزی بین کاراکترها و رشته ها قائل شده. یک character، یک نوع داده اولیه هست و تنها شامل یک تک کاراکتر یا یک کاراکتر تنها میشود. ولی یک رشته یا string یک شیء پیچیده هست و میتواند شامل تعداد زیادی کاراکتر بشود. من اینجا به شما نشان میدهم که چطوری کاراکترها رو اعلان و مقداردهی اولیه کنید.
خب؛ کد مربوطه را در این متد main اضافه میکنم و یک متغیر تکی رو با نوع داده char، یعنی C-H-A-R، اعلان میکنم و نامش هم c1 میگذارم و مقدارش هم میگذارم عدد یک داخل یک جفت تک کوتیشن.
همیشه مقادیری که برای نوع داده کاراکتر تعریف میکنیم، باید داخل یک جفت تک کوتیشن قرار بدهیم، درحالی که مقادیری که به رشته ها یا string ها نسبت داده میشوند باید داخل یک جفت دابل کوتیشن قرار بگیرند.
من مثل همیشه با کلید های میانبر کنترل و d این خط کد رو دو بار duplicate و تکرار میکنم و نام متغیرها رو به c2 و c3 تغییر میدهم.
و مقادیرشان هم تغییر میدهم.
برای c2 عدد 2 و برای c3 عدد 3 رو داخل کوتیشن تعریف میکنم. بعد، این متغیرها رو در خروجی نمایش میدهم.
برای اینکار هم از دستور System.out.println استفاده میکنم و با برچسب Char 1 شروع میکنم و بعد هم متغیر c1 رو اضافه میکنم.
و این خط رو دو بار duplicate میکنم و برچسب ها و مقادیرش هم متناسب با متغیرهای c2 و c3 تغییر میدهم. به این شکل.
از کدم اجرا میگیرم و میبینیم که خروجی همان چیزهایی هستند که انتظار میرفت.
به علاوه میتوانید یک متغیرِ کاراکتر رو با استفاده از یک دنباله یونیکد اعلان و مقداردهی کنید. مثل این حالت.
من یک متغیر دیگر با نوع داده char اعلان میکنم و نامش را dollarSign میگذارم و مقدارش رو به این شکل تعریف میکنم، داخل یک جفت تک کوتیشن مینویسم ‘\u0024’
این یک یونیکد برای کاراکتر علامت دلار هست.
بعد یکبار دیگر این متغیر رو در خروجی با دستور System.out.println چاپ میکنم.
پس این خط مربوط به خروجی رو کپی و این پایین پاست میکنم.
و برچسب Currency رو به آن میدهم و متغیر خروجی رو هم که dollarSign هست تعریف میکنم.
و بعد از اجرا کد میبینیم که در خروجی دقیقاً علامت $ چاپ میشود.
هر وقت که هر کاراکتری داشتید، میتوانید خیلی راحت اون رو به رشته تبدیل کنید. البته من در ادامه این دوره باز هم به این موضوع اشاره میکنم. فعلاً، فقط میخواهم به شما نشان بدهم که چطوری با کاراکترها کار کنید و همینطور نحوه استفاده از کلاس کمکی نوع داده char رو به شما آموزش بدهم.
خب؛ من یک کاراکتر با نام a1 و مقدار ‘a’ رو اعلان میکنم.
بعد کدش رو دوبار duplicate میکنم و متغیرها رو به a2 و a3 و مقادیر رو هم به ‘b’ و ‘c’ تغییر میدهم.
حالا از دستور System.out با تایپ سریع Sout؛ استفاده میکنم.
ولی اینبار بعد از System.out میگذارم دات print و ln آنرا حذف میکنم.
پس در اینصورت بدون اینکه خط جدیدی در خروجی اضافه بشود؛ فقط مقادیر چاپ میشوند. یعنی دیگر نمیرود خط بعد و بعد چاپ کند، همینطور پشت سر هم شروع به چاپ میکند.
خب؛ حالا به آن یک متد از کلاس کاراکتر رو میدهم.
نام این متد toUpperCase هست.
اگر به اسناد و اطلاعات مربوط به کلاس کاراکتر نگاهی بیندازید، متوجه میشوید که متدهای مفید زیای دارد. من این نسخه از این متد رو که آرگومان ورودی آن char هست رو انتخاب میکنم و به آن متغیر a1 رو میدهم.
بعد این خط کد رو با کنترل و d، دوبار duplicate و تکرار میکنم.
و متغیر a1 رو یکبار به a2 و یکبار هم به a3 تبدیل میکنم. ولی برای آخرین خط از کد duplicate شده، که مربوط به خروجی میشود، print رو برمیگردانم به همان حالت println.
پس من فقط در خط سوم از خروجی ام خط جدید دارم چون فقط در خط سوم از دستور System.out.println استفاده کردم و همانطور که میبینید برای اون یکی خروجی هایم ln شان حذف شده.
حالا وقتی از این کد اجرا بگیرم، یکبار دیگر خروجی اصلی رو میبینم و میبینیم که خروجی به شکل ABC با حروف بزرگ هست و همه آنها هم در یک خط هستند. همانطور که قبلاً هم گفتم، یک کاراکتر یک نوع داده اولیه هست، نه یک شیء پیچیده. اگر که شما اون رو به عنوان یک متغیر اولیه تنظیم کنید، خودش به تنهایی هیچ متدی از خودش ندارد، ولی میتوانید از متدهای کلاس character برای دستکاری و ایجاد تغییرات روی اون استفاده کنید و میتوانید با استفاده از این متدها این متغیرها رو دستکاری و مدیریت کنید.