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

ناصر نادری | 1393/09/27


بنام خدا . مبحث شیرین کاراکترهارو امروز مختصرا یه نگاهی میندازیم !!.در حالت  عادی  وقتی یک متغییر از نوع char تعریف میکنیم در واقع یک داده انحصاری و پایه ای برای برنامه خودمون تعریف کردیم که روی پشته یک فضا برای کاراکترمون در نظر گرفته میشه. و هیچ امکانات اضافی براش در نظر گرفته نمیشه. ولی وقتی یک کاراکتر رو از نوع  کلاس Character تعریف میکنیم  مثل مبحث قبلی که در مورد اعداد صحبت کردم در اینجا هم متغییر ما رو اصطلاحا box میکنه . در واقع ما حالا یک شی ازنوع کاراکتری داریم که دارای یک سری خصوصیت ومتد هست .

مثالهای زیر مسئله روشنتر میکنه :

char ch = 'a';//یک متغییر ساده  و انحصاری از نوع  کاراکتری

// یک متغییر کاراکتر ساده با فرمت یونیکد یونانی
char uniChar = '\u039A'; 

// آرایه ای از کاراکترها
char[] charArray ={ 'a', 'b', 'c', 'd', 'e' };

 

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

Character ch = new Character('a');

 

دقت کنید که اینجا کلاس Character رو داریم که دارای متدها و خصوصیات خاص خودش هست . اگه بخواییم یک مقدار یک شی از نوع Character رو داخل یک متغییر از نوع char قرار بدیم عملی به نام unboxing انجام میشه و مقدار از حالت کلاسی در میاد و به حالت متغییر انحصاری char تبدیل میشه .

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

// کاراکتر 'a'رو box میکنیم وداخل شی ch میریزیم
Character ch = 'a';

// شی ch unbox شده وداخل c که از نوع کاراکتری هست میریزم

char c = ch;

 

کاراکتر های خاص در جاوا

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

کاراکترهای خاص توضیحات
\t فضایی به اندازه ی 8 کاراکتر خالی رو توی خروجی ایجاد میکینه.
\b مثل دکمه بک اسپیس  عمل میکنه.
\n یک خط جدید در خروجی چاپ میکنه .
\r مثل دکمه اینتر عمل میکنه.
\f رشته بعد از این کاراکتر کمی پایین تر از رشته قبلی چاپ میشه.
\' برای چاپ کاراکتر " ' ".
\" برای چاپ کاراکتر ' " '.
\\ برای چاپ کاراکتر "\".

 

به مثال زیر توجه کنید :

public class Test {

    public static void main(String args[]) {
        System.out.println("She said  \"Hello!\" to me.");
    }
}

 

نتیجه اجرای کد بالا :

She said "Hello!" to me.

 

توجه شمارو به بعضی از توابع کار با کاراکترها جلب میکنم :

توابع به همراه توضیحات
isLetter() تعیین اینکه آیا کاراکتر از نوع حروف است یا نه.
isDigit() تعیین اینکه آیا کاراکتر از نوع عدد  است یا نه.
isWhitespace() تعیین اینکه کاراکتر از نوع فضای خالی هست یا نه .
isUpperCase() تعیین اینکه کاراکتر از نوع حروف بزرگ است یا نه .
isLowerCase() تعیین اینکه کاراکتر از نوع حروف کوچک است یا نه.
toUpperCase() تبدیل یک کاراکتر به حروف بزرگ.
toLowerCase() تبدیل یک کاراکتر به حروف کوچک.
toString() تبدیل کاراکتر به یک رشته تک کاراکتری.

تا جلسه بعد . در پناه حق


فایلهای ضمیمه
توجه! هیچ فایل ضمیمه ای برای این مطلب یافت نشد

نظرات شما نظر جدید