در جاوا از نوع داده
char براي ذخيره كردن كاراكتر ها استفاده مي شود . اما برنامه نويسان Cو C++ آگاه باشند كه char در جاوا مشابه char در زبان هاي C و C++ نيست . در زبان هاي C و C++ ، نوع char يك نوع عدد صحيح با پهناي 8 بيت است . اما جاوا متفاوت عمل مي كند . جاوا از كد هاي جهاني (Unicode) براي معرفي كاراكتر ها استفاده مي كند . كد هاي جهاني يك مجموعه كاملا" جهاني از كاراكتر ها هستند كه مي توانند همه كاراكتر ها را معرفي نمايند . اين مجموعه شامل ده ها مجموعه كوچك تر كاراكتري نظير Latin ، Greek ، Arabic ، Cyrillic ، Hebrew ، Katakana ، Hangul و امثال آن است . براي اين منظور ، 16 بيت مورد نياز است . بنابراين char در جاوا يك نوع 16 بيتي است . دامنه char از 0 تا 65/536 مي باشد . در نوع char مقدار منفي وجود ندارد . مجموعه استاندارد كاراكتر ها موسوم به ASCII همچون گذشته داراي دامنه از 0 تا 127 و مجموعه كاراكتر هاي 8 بيتي توسعه يافته موسوم به lso-Latin-1 داراي دامنه از 0 تا 255 مي باشند .اعداد اعشاري يا همان اعداد حقيقي براي ارزش گذاري عبارت هايي كه نيازمند دقت بيشتري هستند ، استفاده مي شوند
. بعنوان نمونه ، محاسباتي نظير ريشه دوم و محاسبات مثلثاتي نظير سينوس و كسينوس منجربه جواب هايي مي شوند كه براي تعيين دقت آن نياز به نوع عدد اعشاري مي باشد .جاوا يك مجموعه استاندارد
(IEEE-754) از انواع عدد اعشاري و عملگر ها را پياده سازي مي كند . دو نوع عدد اعشاري تعريف شده يعني float و double هستند كه بترتيب معرف دقت معمولي و مضاعف مي باشند .پهنا و دامنه آن ها را در زير نشان داده ايم
:
|
نام |
پهنا بر حسب تعداد بيت |
دامنه |
|
double |
64 |
-1.7e-308 to 1.7e+308 |
|
float |
32 |
-3.4e-038 to 3.4e+038 |

جاوا چهار نوع عدد صحيح تعريف مي كند
: byte ، short ، int ، long . كليه اين اعداد دارای علامات مثبت و منفي هستند . جاوا از اعداد صحيح غير علامت دار و فقط مثبت پشتيباني نمي كند . بسياري از زبان هاي برنامه نويسي شامل C و C++ هم از اعداد صحيح علامت دار و هم از اعداد صحيح فاقد علامت پشتيباني مي كنند . اما طراحان جاوا احساس مي كردند كه اعداد صحيح فاقد علامت غير ضروري است . بويژه آن ها احساس كردند كه مفهوم فاقد علامت (unsigned) بيشتر براي مشخص كردن رفتار بيت بالاتر از حد مجاز (high-order bit) استفاده مي شود كه علامت يك int را هنگاميكه بعنوان يك رقم عنوان مي شود ، مشخص مي كند . بعداً خواهيد ديد كه جاوا مفهوم بيت بالاتر از حد مجاز (high-order bit) را بگونه اي متفاوت مديريت مي كند ، يعني با اضافه كردن يك عملگر ويژه حركت به راست فاقد علامت unsigned) (right shift . بدين ترتيب نياز به يك نوع عدد صحيح فاقد علامت منتفي شده است . پهناي (width) يك نوع عدد صحيح را نبايد با ميزان حافظه اي كه مصرف مي كند اشتباه گرفت ، بلكه نشانه رفتاري است كه براي متغير ها و عبارات آن نوع تعريف مي شود . محيط حين اجراي جاوا از هر اندازه اي كه نياز داشته باشد ، استفاده مي كند ، البته تا آن اندازه اي كه انواع بر اساس اعلام قبلي شما رفتار كنند . در حقيقت ، حداقل يك پياده سازي byte وجود دارد كه ، short را بعنوان مقادير 32 بيتي ذخيره مي كند تا عملكرد را توسعه دهد . زيرا آنچه در حال حاضر مورد استفاده قرار مي گيرد ، اندازه كلمه (word size) اكثر كامپيوتر هاست .پهنا و دامنه اين انواع اعداد صحيح همانطوريكه در جدول زير مشاهده مي كنيد طيف وسيعي دارند
:
|
نام |
پهنا |
دامنه |
|
long |
64 |
-9/ 223/ 372/ 036/ 845/ 775/ 808 to 9/ 223/ 372/ 036/ 845/ 775/ 807 |
|
int |
32 |
-2/ 147/ 483/ 648 to 2/ 147/ 483/ 647 |
|
short |
16 |
-32/ 768 to 32/ 767 |
|
byte |
8 |
-128 to 127 |
اكنون نگاه دقيق تري به هر يك از انواع عدد صحيح خواهيم داشت :
در یکی از مقالات در باره ي زبان شرکت Sun جاوا را با این خصوصیات شرح می دهد :
جاوا یک زبان ساده ، شی گرا ، توزیع شده ، تفسیر شده ، قدرتمند ، ایمن ، با معماری خنثی ، قابل حمل ، با عملکرد سطح بالا چند نخ کشی شده و پویا است
.Sun
تصدیق می کند که به طور قطع این کلمات رشته هایی از واژه های متداول در زبان برنامه نویسی هستند ، اما حقیقت این است که این واژه ها به طور ماهرانه ای خصوصیات این زبان را شرح می دهند .حال به برخی از خصلت های جاوا در پشت این واژه ها می پردازیم :