آموزش جاوا (Java) قسمت 5 : انواع داده

با سلام به همه دوستان و همراهان Itpro. در ادامه مباحث برنامه نویسی جاوا به شرح انواع داده ها در جاوا می پردازیم. متغیرها محل هایی از حافظه کامپیوتر (Ram) هستند که برای نگهداری مقادیر در نظر گرفته شده اند. این به این معنی است که وقتی شما متغیری را معرفی می کنید یک محل از حافظه را رزرو می کنید تا از آن استفاده کنید. با توجه به نوع داده ای که شما از آن متغیر می سازید سیستم عامل مقدار خاصی فضا به شما اختصاص می دهد. همچنین با استفاده از نوع داده مشخص شده تصمیم گرفته می شود که در محل مورد نظر از حافظه چه مقادیری ذخیره شود. بنابراین انواع داده در زبان جاوا بسیار مهم هستند. یکی از دلایل این انواع داده این است که اگر شما یک متغیر معرفی کرده باشید که فقط در آن عدد صحیح ذخیره کنید به شما این اجازه داده نمی شود که بتوانید در آن متغیر متن یا زمان ذخیره کنید. انواع داده دو دسته هستند که در ادامه آمده اند.

  1. نوع داده اصلی
  2. نوع داده ارجاعی یا شیئی

نوع داده اصلی

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

byte

نوع داده byte دارای خواص زیر است.

  • نوع داده byte 8 بیت حافظه لازم دارد
  • فقط می توان عدد بدون ممیز در این نوع داده ذخیره کرد
  • این نوع داده کوچکترین عددی را که می تواند در خود نگه دارد -128 است
  • بزرگترین عددی که این نوع داده می تواند در خود نگه دارد 127 می باشد.
  • مقدار پیشفرض این نوع داده 0 است. به این معنی که وقتی که یک متغیر از نوع byte تعریف می کنیم کامپایلر مقدار آن را 0 قرار می دهد.
  • اگر اعداد شما در برنامه نویسی زیاد بزرگ نیست و از ممیز هم استفاده نمی کنید می توانید از این نوع داده استفاده کنید زیرا که در حافظه صرفه جویی می کند. زیرا این نوع داده یک چهارم نوع داده int فضا لازم دارد. کد زیر مثالی از تعریف متغیر از نوع داده byte است.
  • byte a=100;
    byte b=-43;
    

short

این نوع داده اعداد بدون ممیز را در خود نگهداری می نماید.

  • نوع داده short یک نوع داده علامت دار 16 بیتی است.
  • کوچکترین مقداری که این نوع داده می تواند در خود نگهداری نماید -32768 می باشد.
  • بزرگترین مقداری که این نوع داده می تواند در خود نگهداری نماید 32767 می باشد.
  • مقدار پیشفرض این نوع داده 0 است.
  • حافظه مصرفی این نوع داده نصف نوع داده int است.

مثال تعریف متغیر از نوع short :

short s=10000;
short r=-3400

int

  • نوع داده int یک نوع داده عددی علامت داره 32 بیتی است.
  • کوچکترین عددی که این نوع داده می تواند در خود نگهداری نماید -2147483648 می باشد.
  • بزرگترین عددی که این نوع داده می تواند در خود نگهداری کند 2147483647 می باشد.
  • عموما برای متغیرهای اعداد صحیح از این نوع داده استفاده می شود ولی برای استفاده بهینه تر از حافظه می توان از انواع داده قبلی هم استفاده کرد. ولی امروزه به علت بالا بودن حجم حافظه ها صرفه جویی در حافظه مسئله حادی نیست.
  • مقدار پیشفرض این نوع داده 0 است.

در زیر مثالی از این نوع داده آورده شده است:

int m=60;
int c=-200000;
int h=800000;

long

  • نوع داده long یک نوع داده برای نگهداری اعداد صحیح علامت دار است که 64 بیت حافظه اشغال می کند.
  • کوچکترین عددی که این نوع داده می تواند در خود نگهداری کند -9223372036854775808 است
  • بزرگترین عددی که این نوع داده می تواند در خود نگهداری کند عدد 9223372036854775807 می باشد.
  • این نوع داده زمانی استفاده می شود که بخواهیم با اعداد صحیح بسیار بزرگ کار کنیم.
  • مقدار پیشفرض این نوع داده 0L است.

در زیر مثالی از این نوع داده آورده شده است.

long a=1000000L;

float

  • نوع داده float برای نگهداری اعداد ممیز دار با 32بیت است.
  • این نوع داده بر اساس استاندارد ممیز شناور IEEE 754 کار می کند.
  • مقدار پیشفرض این نوع داده 0.0f است
  • این نوع داده برای جاهایی که دقت بسیار مهم است مورد استفاده قرار نمی گیرد. مثلا برای نگهداشتن واحدهای پولی از این نوع داده استفاده نمی شود چون دقیق نیست.

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

float f1=234.5f;

double

  • این نوع داده یک نوع داده 64 بیتی دقیق است.
  • این نوع داده از استاندارد ممیز شناور IEEE 754 استفاده می کند.
  • این نوع داده نوع داده پیشفرض برای اعداد ممیزی می باشد.
  • این نوع داده با این که از float دقیق تر است ولی هنوز خطا دارد و نباید برای مقادیر پولی مورد استفاده قرار گیرد.
  • مقدار پیش فرض این نوع داده 0.0d می باشد.

مثال این نوع داده در کد زیر آمده است.

doubel d1=123.4;

boolean

  • این نوع داده فقط دو مقدار به خود میگیرد true,false
  • این نوع فقط برای نگهداری نتایج عبارات شرطی مورد استفاده قرار می گیرد.
  • مقدار پیشفرض این نوع داده false است.

مثالی از تعریف متغیر از این نوع داده در کد زیر آمده است.

boolean one=true;

char

  • این نوع داده برای نگهداری کاراکتر های یونیکد می باشد.
  • این نوع داده 16بیت فضا از حافظه برای خود می گیرد.

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

char letter='a';

انواع داده ارجاعی

  • انواع داده های ارجاعی از کلاس های تعریف شده ساخته می شوند. متغیرهایی که از این نوع ساخته می شوند برای دسترسی به اشیا ساخته شده از کلاس هستند.
  • آرایه ها و اشیا از این نوع هستند و در دسته انواع داده ارجاعی قرار میگیرند.
  • مقدار پیشفرض این نوع داده ها null است.
  • یک متغیر از نوع ارجاعی می تواند به هر نوعی که با نوع خودش سازگار باشد انتساب داشته باشد.

مثالی از این نوع داده در کد زیر آمده است.

Animal anim=new Animal("rabbit");

لیترال ها در جاوا

لیترال قسمتی از کد است که برای نشان دادن مقادیر ثابت به کار می رود. مثلا این که چگونه یک عدد یا کاراکتر را در داخل کد نشان بدهیم. لیترال ها می توانند به طور مستقیم به هر متغیر از نوع داده اصلی انتساب داده شوند. برای مثال به کد زیر توجه کنید.

byte a = 68;
char a = 'A'

انواع داده byte, int, short می توانند با مقادیر دهدهی (پایه 10) و هگزادسیمال (مبنای 16) و یا اوکتال(مبنای 8) مقداردهی شوند. برای این که مشخص کنیم عدد از نوع اوکتال است قبل از عدد آن یک عدد 0 می گذاریم و برای این که مشخص کنیم که عدد هگزادسیمال است قبل از عدد آن ا ز0x استفاده می کنیم. برای مثال

int decimal = 100;
int octal = 0144;
int hexa =  0x64;

لیترال های رشته ای در جاوا مانند بسیاری از زبان ها بین دو عدد کوتیشن قرار داده می شوند.برای مثال رشته های زیر نمونه هایی از لیترال های رشته ای هستند:

"Hello World"
"two\nlines"
"\"This is in quotes\""

نوع داده های char و String می توانند هر کاراکتر یونیکد را داخل خود داشته باشند. برای مثال:

char a = '\u0001';
String a = "\u0001";

در داخل رشته ها بعضی کاراکتر ها معنی و مفهوم خاصی دارند. به این معنی که کامپایلر جاوا آنها را به عنوان رشته معمولی در نظر نمی گیرد و برای کامپایلر معنی خاصی دارند. جدول این کاراکتر ها در شکل زیر آورده شده است که معنی هرکدام را توضیح می دهد.

آموزش جاوا (Java) قسمت 5 : انواع داده

همانطور که در جدول مشاهده می نمایید کاراکتر backslash در همه مشترکت است برای این که در متن یک کاراکتر backslash قرار بدهید باید دوبار این کاراکتر را تکرار کنید.در این مطلب به توضیح انواع داده در جاوا پرداخته شد. امید است که مفید بوده باشد. می توانید با نظرات خود می توانید مارا در بهبود مطالب کمک کنید.Itpro باشید

نویسنده: مهدی عادلی فر

منبع: جزیره برنامه نویسی و توسعه نرم افزار وب سایت توسینسو

هرگونه نشر و کپی برداری بدون ذکر منبع و نام نویسنده دارای اشکال اخلاقی می باشد.

#انواع_اصلی_داده_ها_در_جاوا #برنامه_نویسی_جاوا #آموزش_برنامه_نویسی_جاوا #آموزش_برنامه_نویسی_شئ_گرا #آموزش_جاوا #آموزش_گام_به_گام_جاوا #انواع_داده_در_جاوا #داده_های_عددی_در_جاوا #دوره_آموزشی_جاوا #یادگیری_زبان_برنامه_نویسی_جاوا
عنوان
1 آموزش جاوا (Java) قسمت 1 : معرفی ، خصوصیات و شروع به کار رایگان
2 آموزش جاوا (Java) قسمت 2 : شی گرایی قسمت یک رایگان
3 آموزش جاوا (Java) قسمت 3: شی گرایی قسمت دو رایگان
4 آموزش جاوا (Java) قسمت 4 : شی گرایی قسمت سه رایگان
5 آموزش جاوا (Java) قسمت 5 : انواع داده رایگان
6 آموزش جاوا (Java) قسمت 6 : انواع متغیر رایگان
7 آموزش جاوا (Java) قسمت 7 : Modifier ها رایگان
8 آموزش جاوا (Java) قسمت 8 : عملگرها قسمت یک رایگان
9 آموزش جاوا (Java) قسمت 9 : عملگرها قسمت دو رایگان
10 آموزش جاوا (Java) قسمت 10 : حلقه های تکرار رایگان
11 آموزش جاوا (Java) قسمت 11 : عبارات شرطی رایگان
12 آموزش جاوا (Java) قسمت 12 : کلاس Wrapper اعداد رایگان
13 آموزش جاوا (Java) قسمت 12 : کلاس Wrapper اعداد رایگان
14 آموزش جاوا (Java) قسمت 14: کلاس Wrapper کاراکترها رایگان
15 آموزش جاوا (Java) قسمت 15 : کلاس String و کار با رشته قسمت یک رایگان
16 آموزش جاوا (Java) قسمت 16 : کلاس String و کار با رشته قسمت دو رایگان
17 آموزش جاوا (Java) قسمت 17 : کلاس String و کار با رشته قسمت سه رایگان
18 آموزش جاوا (Java) قسمت 18 : کلاس String و کار با رشته قسمت چهار رایگان
19 آموزش جاوا (Java) قسمت 19 : StringBuilder و StringBuffer رایگان
20 آموزش جاوا (Java) قسمت 20 : استفاده از آرایه ها رایگان
21 آموزش جاوا (Java) قسمت 21 : آموزش کار با تاریخ رایگان
22 آموزش جاوا (Java) قسمت 22 : عبارات منظم (Regular Expression) رایگان
23 آموزش جاوا (Java) قسمت 23 : تعریف و استفاده از متدها قسمت یک رایگان
24 آموزش جاوا (Java) قسمت 24 : تعریف و استفاده از متدها قسمت دو رایگان
25 آموزش جاوا (Java) قسمت 25 : کار با استریم ها و فایل ها رایگان
26 آموزش جاوا (Java) قسمت 26 : کار با دایرکتوری ها رایگان
27 آموزش جاوا (Java) قسمت 27 : کلاس ByteArrayInputStream رایگان
28 آموزش جاوا (Java) قسمت 28 : معرفی کلاس File و متدها رایگان
29 آموزش جاوا (Java) قسمت 29 : معرفی و شرح Exception ها قسمت 1 رایگان
30 آموزش جاوا (Java) قسمت 30 : معرفی و شرح Exception ها قسمت 2 رایگان
31 آموزش جاوا (Java) قسمت 31 : معرفی و شرح Exception ها قسمت 3 رایگان
32 آموزش جاوا (Java) قسمت 32 : استفاده از انوع کلاس های داخلی رایگان
33 آموزش جاوا (Java) قسمت 33 : وراثت کلاس ها و انواع آن رایگان
34 آموزش جاوا (Java) قسمت 34 : Override کردن متد ها رایگان
35 آموزش جاوا (Java) قسمت 35 : چند ریختی (Polymorphism) رایگان
36 آموزش جاوا (Java) قسمت 36 : Enum و ویژگی های آن رایگان
37 آموزش جاوا (Java) قسمت 37 : معرفی Abstract رایگان
38 آموزش جاوا (Java) قسمت 38 : استفاده از کپسول بندی (Encapsulation) رایگان
39 آموزش جاوا (Java) قسمت 39 : استفاده از اینترفیس ها رایگان
40 آموزش جاوا (Java) قسمت 40 : پکیج(Package) و نحوه استفاده رایگان
41 آموزش جاوا (Java) قسمت 41 : معرفی داده ساختارها Enumeration رایگان
42 آموزش جاوا (Java) قسمت 42 : داده ساختار BitSet رایگان
43 آموزش جاوا (Java) قسمت 43 : داده ساختار Vector رایگان
44 آموزش جاوا (Java) قسمت 44 : داده ساختار Stack (پشته) رایگان
45 آموزش جاوا (Java) قسمت 45 : داده ساختار Dictionary رایگان
46 آموزش جاوا (Java) قسمت 46 : داده ساختار Hashtable رایگان
47 آموزش جاوا (Java) قسمت 47 : داده ساختار Properites رایگان
48 آموزش جاوا (Java) قسمت 48 : معرفی و آموزش جنریک (Generic) رایگان
49 آموزش جاوا (Java) قسمت 49 : برنامه نویسی سوکت و شبکه قسمت 1 رایگان
50 آموزش جاوا (Java) قسمت 50 : برنامه نویسی سوکت و شبکه قسمت 2 رایگان
51 آموزش جاوا (Java) قسمت 51 : استفاده از Lambda Expression رایگان
52 آموزش جاوا (Java) قسمت 52 : Thread و Multi-Threading رایگان
53 آموزش جاوا (Java) قسمت 53 : Runnable در Thread و Multi-Threading رایگان
54 آموزش جاوا (Java) قسمت 54 : کلاس Thread و متدها رایگان
زمان و قیمت کل 0″ 0
3 نظر
m.zafari

با سلام و تشکر از زحمات و آموزش هاتون.

یه سوالی برام پیش اومد که با سرچ هم به پاسخ کاملی نرسیدم.

لیترال دقیقا چیه؟

ظاهرا فرقی با متغیر نداره.

مهدی عادلی فر

سلام به شما دوست عزیز

لیترال متغیر نیست اون مقداری هست که در داخل متغیر ریخته میشه مثلاً توی کادر زیر

int a=100;

عدد ۱۰۰ یک لیترال است

نظر شما
برای ارسال نظر باید وارد شوید.
از سرتاسر توسینسو
تنظیمات حریم خصوصی
تائید صرفنظر
×

تو می تونی بهترین نتیجه رو تضمینی با بهترین های ایران بدست بیاری ، پس مقایسه کن و بعد خرید کن : فقط توی جشنواره تابستانه می تونی امروز ارزونتر از فردا خرید کنی ....