(برنامه نویسی java) نوع داده char در محیط جاوا (رباتیک _ الکترونیک)

پژوهشگر و نویسنده:  (  افشین رشید )


نکته: در جاوا از نوع داده char برای ذخیره کردن کاراکترها استفاده می شود . اما برنامه نویسانC و++C و آگـاه باشـند کـه char در جاوا مشابه char در زبانهای C و++C نیست . در زبانهایC و++C و ، نوع char یک نوع عدد صحیح با پهنای 8 بیت اسـت . اما جاوا متفاوت عمل می کند . 

جاوا از کدهای جهانی (unicode) برای معرفی کاراکترها استفاده مـی کنـد . کـدهای جهـانی یـک

مجموعـه کـاملا" جهـانی از کاراکترهـا هسـتند کـه مـی تواننـد همـه کاراکترهـا را معرفـی نماینـد . ایـن مجموعـه شـامل دههـاKatakana ، Hebrew ،، Cyrillic،، Arabic ،، Greek ، Latin نظیـــــر کـــــاراکتری تـــــر کوچـــــک مجموعـــــه، Hangul ،و امثال آن است . برای این منظور ، 16 بیت مورد نیاز است . بنابراین char در جاوا یک نوع 16 بیتی است . دامنهchar از 0ز تا 65/536 می باشد . در نـوع char مقـدار منفـی وجـود نـدارد . مجموعـه اسـتاندارد کاراکترهـا موسـوم بـه ASCII همچـون گذشـته دارای دامنـه از 0 تـا 127 و مجموعـه کاراکترهـای 8 بیتـی توسـعه یافتـه موسـوم بـه 1-Latin-lso دارای دامنـه از 0 تـا 255 مـی باشـند . 

چون در جاوا امکان نوشتن ریز برنامه ها برای کاربری جهانی وجود دارد ، بنظر می رسد کـه بهتـراسـت جـاوا از کـدهای جهـانی بـرای معرفی کاراکترها استفاده نماید البته بکار بردن کدهای جهانی درمورد زبانهایی نظیر انگلیسی ،آلمانی ،اسپانیایی یا فرانسوی کـه کاراکترهـای آنهـا را مـی تـوان براحتـی داخل 8 بیت جای داد ، تا حدی سبب نزول کارآیی خواهد شد. اما این بهایی است که برای رسیدن به قابلیت حمل جهانی در برنامه ها بایــد پرداخــت.این برنامه خروجی زیر را نشان خواهد داد

 : ch1 and ch2 :xy

دقت کنید که مقدار 88به ch1 نسبت داده شده ، که مقدار متناظر با حرف x در کـد ) ASCII و کـد جهـانی ) اسـت . که مجموعه کاراکتریASCIIَ 127 مقدار اولیه در مجموعه کاراکتری کـدهای جهـانی را اشـغال کـرده اسـت . بهمـین دلیـل کلیــه فــوت و فنهــای قــدیمی کــه قــبلا "بــا کاراکترهــا پیــاده کــرده ایــد ، در جــاوا نیــز بــه خــوبی جــواب مــی دهنــد . اگر چه انواع char عدد صحیح محسوب نمی شوند ، اما در بسیاری از شرایط می توانید مشابه عدد صحیح با آنهـا رفتـار کنیـد. بـدین ترتیــب  قادریــد  دو کــاراکتر را بــا هــم جمــع نمــوده و یــا اینکــه مقــدار یــک متغیــر کــارکتری را کــاهش دهیــد . 

نویسنده: (افشین رشید )