• متغیرها در جاوا WDH: جاوا - انواع، مقادیر و متغیرها

    جاوا یک زبان قوی تایپ شده است. این بدان معنی است که هر متغیر و هر عبارت جاوا باید داشته باشد نوع، قبلاً در مرحله تدوین تعریف شده است. هر نوع دارای محدوده خاصی از مقادیر است و مجموعه ای از عملیات های قابل اعمال برای آن و معنای آنها را تعریف می کند. تایپ قوی به شناسایی خطاهای یک برنامه در زمان کامپایل کمک می کند.

    همه انواع در جاوا به دو دسته تقسیم می شوند اولیهو ارجاع. نوع منطقی آن ابتدایی است بولی، انواع عددی صحیح بایت, کوتاه, بین المللی, طولانی, کاراکترو انواع عددی شناور شناورو دو برابر. انواع مرجع شامل کلاس ها, رابط هاو آرایه ها. خاص نیز وجود دارد نوع پوچ.

    یک شیدر جاوا یا یک نمونه ایجاد شده به صورت پویا از یک کلاس یا یک آرایه ایجاد شده به صورت پویا است. مقادیر یک نوع مرجع ارجاع به اشیا هستند. همه اشیا، از جمله آرایه ها، متدها را از کلاس Object به ارث می برند. رشته ها با اشیایی از کلاس String نمایش داده می شوند.

    متغیراین یک ذخیره‌سازی داده با نام از نوع خاصی است. به طور دقیق:

    • یک متغیر از نوع اولیه همیشه حاوی مقداری از آن نوع خاص است.
    • یک متغیر از نوع کلاس می تواند حاوی هر دو مقدار باشد خالی(مرجع صفر)، یا اشاره به یک شی از این کلاسیا وارث او
    • یک متغیر از نوع اینترفیس می‌تواند شامل یک مرجع تهی یا یک مرجع به یک شی از هر کلاسی باشد که این رابط را پیاده‌سازی می‌کند.
    • یک متغیر از نوع "آرایه T"، که در آن T یک نوع ابتدایی است، می‌تواند حاوی یک مرجع تهی یا ارجاعی به یک شی از نوع "آرایه T" باشد.
    • یک متغیر از نوع "آرایه T"، که در آن T یک نوع مرجع است، می‌تواند حاوی یک مرجع تهی یا ارجاع به آرایه‌ای متشکل از داده‌هایی باشد که با تخصیص سازگار است.
    • یک متغیر از نوع Object می‌تواند شامل یک مرجع تهی یا یک مرجع به هر شیء باشد.

    5.3.2. انواع ابتدایی

    5.3.2.1. Boolean را تایپ کنید

    تایپ کنید بولیاز دو ثابت منطقی تشکیل شده است: درست است، واقعی(درست) و نادرست(دروغ). یک مقدار بولی را می توان برای تایپ فرستاد بولی، سایر بازیگران ضمنی به این نوعدر جاوا موجود نیست یک مقدار بولی را می توان با استفاده از قانون تبدیل رشته ضمنی به رشته تبدیل کرد.

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

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

    5.3.3.2. کلاس شی

    کلاس Object استاندارد اجداد سایر کلاس های جاوا است که متدهای آن را به ارث می برند. این روش ها به طور مفصل در فصل توضیح داده شده است. 5.14.

    5.3.3.3. کلاس رشته

    نمونه های کلاس String رشته های متنی هستند، یعنی رشته هایی از کاراکترهای یونیکد. یک شی از کلاس String مقدار ثابت (غیرقابل تغییر) دارد. ثابت های رشته ایارجاعاتی به نمونه هایی از کلاس String هستند.

    عملگر الحاق رشته به طور ضمنی یک شی جدید از کلاس String ایجاد می کند.

    5.3.4. متغیرها

    متغیر یک ذخیره‌سازی داده از نوع خاصی است که معمولاً یک نام منحصر به فرد دارد. یک متغیر همیشه حاوی مقداری است که انتساب با نوع آن سازگار است. مقدار یک متغیر توسط یک عملیات انتساب یا عملیات افزایش/کاهش پیشوند/پسوند تغییر می کند.

    5.3.4.1. انواع متغیرها

    هفت نوع متغیر در جاوا وجود دارد:

    1. متغیر کلاساین یک فیلد داده ایستا در یک اعلان کلاس یا هر فیلد داده ای در یک اعلان رابط است. یک متغیر کلاس زمانی ایجاد می شود که کلاس یا رابط آن بارگذاری شود. بلافاصله پس از ایجاد به آن یک مقدار پیش فرض اختصاص داده می شود. یک متغیر کلاس زمانی از بین می رود که کلاس یا رابط آن بارگیری شود (پس از تکمیل نهایی آن).
    2. متغیر پیاده سازیاین یک فیلد داده در یک اعلان کلاس است که ثابت نیست. زمانی که نمونه ای از کلاس داده شده یا کلاسی که نسل آن است ایجاد می شود، چنین متغیری ایجاد می شود و یک مقدار پیش فرض به آن داده می شود. یک متغیر پیاده سازی زمانی که نمونه کلاس مربوطه زباله جمع آوری می شود (پس از تکمیل نهایی آن) از بین می رود.
    3. عناصر آرایهاینها متغیرهای بی نامی هستند که هنگام ایجاد آرایه ایجاد می شوند و به آنها مقدار پیش فرض داده می شود. این متغیرها زمانی که آرایه توسط جمع آوری زباله حذف می شود، از بین می روند.
    4. پارامترهای سازندهاینها نام مقادیر آرگومان هستند که به سازنده ارسال شده است. برای هر پارامتر در اعلان سازنده، هر بار که سازنده فراخوانی می شود (به طور صریح یا ضمنی) یک متغیر جدید ایجاد می شود. به این متغیر مقدار واقعی آرگومان ارسال شده به سازنده هنگام فراخوانی اختصاص داده می شود. این متغیر پس از اتمام اجرا توسط بدنه سازنده از بین می رود.
    5. پارامترهای روشاینها نام مقادیر آرگومان ارسال شده به متد هستند. برای هر پارامتر در اعلان متد، هر بار که آن متد فراخوانی می شود، یک متغیر جدید ایجاد می شود. به این متغیر مقدار واقعی آرگومان ارسال شده به متد هنگام فراخوانی اختصاص داده می شود. بعد از اینکه بدنه متد اجرا را کامل کرد، متغیر از بین می رود.
    6. پارامتر کنترل کننده استثناهر زمان که قسمتی اجرا شود ایجاد می شود گرفتناپراتور تلاش كردن. مقدار آن به شیء مرتبط با استثنایی که رخ داده تبدیل می شود. زمانی که بلوک اجرا را کامل کرد، متغیر از بین می‌رود گرفتن.
    7. متغیرهای محلی. هر بار در طول اجرای برنامه، کنترل به یک بلوک یا دستور جدید منتقل می شود برای، برای هر اعلان متغیر در آن بلوک یا عبارت، یک متغیر محلی مربوطه ایجاد می شود. اگر اعلان حاوی مقدار اولیه متغیر باشد، این مقدار به آن اختصاص داده می شود. یک متغیر محلی زمانی از بین می رود که بلوک یا دستوری که در آن اعلام شده است اجرا را کامل کند.

    مثال زیر شامل اعلان چندین متغیر از انواع زیر است:

    نقطه کلاس ( numPoints int ثابت؛ // numPoints - متغیر کلاس int x, y؛ // x و y - متغیرهای پیاده سازی int w = int جدید؛ // w - آرایه اعداد صحیح، w - عنصر آرایه int setX(int x) (// x - پارامتر متد int oldx = this.x؛ // oldx - متغیر محلی this.x = x؛ بازگشت oldx؛ ) )

    5.3.4.2. مقادیر اولیه متغیرها

    قبل از اینکه بتوان به یک متغیر دسترسی داشت، باید یک مقدار به آن اختصاص داد. که در آن

    • به هر متغیر کلاس، متغیر پیاده‌سازی و هر عنصر آرایه یک مقدار پیش‌فرض پس از ایجاد به شرح زیر اختصاص داده می‌شود:
      • متغیرها را تایپ کنید بایت, کوتاه, بین المللی, طولانیمقدار 0 از نوع مربوطه را بدست آورید.
      • متغیرها را تایپ کنید شناورو دو برابرمقدار +0 از نوع مربوطه را دریافت کنید.
      • متغیرها را تایپ کنید کاراکترمقدار "\u0000" را دریافت کنید؛
      • متغیرها را تایپ کنید بولیارزش را بدست آورید نادرست;
      • متغیرهای نوع مرجع یک مقدار می گیرند خالی;
    • به هر متد و پارامتر سازنده، مقدار واقعی آرگومان مربوطه که در زمان فراخوانی متد یا سازنده تعیین می‌شود، اختصاص می‌یابد.
    • پارامتر کنترل کننده استثنا توسط شی مربوطه مقداردهی اولیه می شود.
    • به یک متغیر محلی قبل از اینکه بتوان از آن استفاده کرد، باید مقداری نسبت داد، چه با مقداردهی اولیه در یک اعلان یا توسط یک عملگر انتساب.

    برای نوشتن برنامه در جاوا باید سینتکس آن را بدانید. با این درس آشنایی خود را با مبانی زبان آغاز می کنیم. در این درس به موارد زیر خواهیم پرداخت:

    • چه اتفاقی افتاده است متغیرها در جاواو آنها چگونه هستند اعلام،
    • چقدر درسته نام متغیرها
    • آنچه وجود دارد انواع داده در جاوا:
      • انواع داده های اولیه،
      • انواع داده های مرجع،
      • بیایید نوع را جداگانه بررسی کنیم رشته

    متغیرهای جاوا

    در درس های قبلی در مورد اینکه چگونه یک کلاس در جاوا از ویژگی ها و متدها تشکیل شده است صحبت کردیم. متغیرها می توانند ویژگی های یک کلاس، پارامترهای یک متد باشند یا می توانند در برنامه ای برای ذخیره سازی کوتاه مدت داده ها استفاده شوند. در جاوا، همه متغیرها قبل از استفاده باید اعلان شوند.

    اعلان متغیرها در جاوا

    Int x = 1; int y = 2;

    هنگام اعلان یک متغیر، به ترتیب زیر مشخص کنید:

    • نوع داده(در این مثال - int - متغیر حاوی یک عدد صحیح است)
    • نام متغیر(در این مثال اسامی x و y هستند)
    • مقدار اولیه متغیریا به عبارت دیگر مقداردهی اولیه متغیر. در این مثال، به متغیرهای x و y مقادیر 1 و 2 اختصاص داده شده است. پيش نيازهنگام اعلان یک متغیر

    مثال: اعلان متغیرها بدون مقداردهی اولیه:

    بعد از هر خط هنگام اعلان متغیرها، باید یک نقطه ویرگول ";" قرار دهید.

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

    قوانین نامگذاری متغیرها در جاوا

    1. نام متغیر باید با یک حرف (کوچک) شروع می شود و از حروف (یونیکد)، اعداد و کاراکتر زیر خط "_" تشکیل شده است.. از نظر فنی می توان نام متغیر را با "$" یا "_" شروع کرد، اما این توسط قراردادهای کد جاوا ممنوع است. علاوه بر این، نماد دلار "$"، طبق قرارداد، هرگز استفاده نمی شود. طبق قرارداد، نام متغیر باید با یک حرف کوچک شروع شود (نام کلاس ها با حرف بزرگ شروع می شود). هنگام نامگذاری متغیرها، فاصله مجاز نیست.
    2. نام متغیر نباید اینگونه باشد .
    3. نام متغیر حساس به حروف کوچک و بزرگ. newVariable و newvariable نام های متفاوتی هستند.
    4. هنگام انتخاب نام متغیر، باید از کلمات کامل استفاده کنیدبه جای اختصارات مرموز این کار خواندن و درک کد شما را آسان تر می کند. در بسیاری از موارد این باعث می‌شود که کد شما به صورت خودکار مستند شود.
    5. اگر نام متغیری که انتخاب می کنید فقط از یک کلمه تشکیل شده است، آن را با حروف کوچک بنویسید. اگر از بیش از یک کلمه تشکیل شده باشد، پس هر کلمه بعدی را در نام متغیر با حرف بزرگ جدا کنید.به عنوان مثال: superCounter، myDomesticAnimal
    6. اگر یک متغیر دارای مقدار ثابتی باشد، هر کلمه باید با حروف بزرگ نوشته شود و با خط زیر از هم جدا شود. مثال: نهایی استاتیک NUMBER_OF_HOURS_IN_A_DAY = 24

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

    هر متغیر و هر عبارت در جاوا یک نوع دارد و آن نوع کاملاً تعریف شده است.

    انواع داده های اولیه

    8 نوع داده اولیه در جاوا وجود دارد:

    • بایت (اعداد صحیح، 1 بایت)
    • کوتاه (اعداد صحیح، 2 بایت)
    • int (اعداد صحیح، 4 بایت)
    • طولانی (اعداد صحیح، 8 بایت)
    • شناور (اعداد واقعی، 4 بایت)
    • دو برابر (اعداد واقعی، 8 بایت)
    • char (نویسه یونیکد، 2 بایت)
    • بولی (مقدار درست/نادرست، 1 بایت)

    این 8 نوع به عنوان مبنایی برای سایر انواع داده ها عمل می کنند. انواع اولیه دارای یک محدوده صریح از مقادیر معتبر هستند.

    بایت- محدوده مقادیر قابل قبول از -128 تا 127

    //اعلان متغیرهای نوع بایت. بایت getByte, putByte; // مقداردهی اولیه متغیرها getByte = 0; putByte = 0;

    متغیرهای بایت هنگام کار با جریان داده ای که از یک شبکه یا یک فایل می آید مفید هستند.

    کوتاه- محدوده مقادیر قابل قبول از -32768 تا 32767

    //اعلان و مقداردهی اولیه یک متغیر کوتاه تایپ کنید. شناسه کارمند کوتاه = 0;

    بین المللی- محدوده مقادیر معتبر از -2147483648 تا 2147483647

    //اعلان و مقداردهی اولیه یک متغیر از نوع int. int max = 2147483647;

    نوع int بیشتر هنگام کار با داده های عدد صحیح استفاده می شود تا بایت و کوتاه، حتی اگر محدوده آنها کافی باشد. این به این دلیل است که وقتی مقادیر بایت و کوتاه را در عبارات مشخص می کنید، نوع آنها همچنان به طور خودکار در هنگام ارزیابی به int ارتقا می یابد.

    طولانی- محدوده مقادیر معتبر از -9223372036854775808 تا 9223372036854775807

    // استفاده از متغیرهای نوع طولانی. روزهای طولانی = getDays(); ثانیه های طولانی؛ ثانیه = روز * 24 * 60 * 60;

    نوع برای کار با اعداد صحیح بزرگ مناسب است.

    شناور- محدوده مقادیر قابل قبول از ~1.4*10 -45 تا ~3.4*10 38

    //اعلان و مقداردهی اولیه متغیرهای نوع شناور. float USD = 31.24f; float euro = 44.03f ;

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

    دو برابر- محدوده مقادیر قابل قبول از ~4.9*10 -324 تا ~1.8*10 308

    //اعلان و مقداردهی اولیه متغیرهای نوع double. دو عدد پی = 3.14159;

    توابع ریاضی مانند sin()، cos()، sqrt() مقدار مضاعف برمی گرداند

    کاراکتر- نوع داده کاراکتری یک کاراکتر یونیکد 16 بیتی است. حداقل مقدار '\u0000' (یا 0) و حداکثر مقدار '\uffff' (یا 65535 شامل) دارد. کاراکترهای Char نیز می توانند با استفاده از اعداد مربوطه مشخص شوند. برای مثال، نماد 'ы' مطابق با عدد 1067 است. بیایید به مثال نگاه کنیم:

    عمومی void main(string args) ( char symb1=1067; char symb2 = "И"; System.out.println("symb1 حاوی "+ symb1)؛ System.out.println("symb2 حاوی "+ symb2)؛ )

    خروجی این برنامه به صورت زیر خواهد بود:

    Symb1 حاوی s symb2 حاوی s است

    یک مثال کوچک از نحوه فهمیدن اینکه یک نماد با کدام عدد مطابقت دارد. بر اساس پیش تایپ داده ها

    اصلی خالی ثابت عمومی (رشته آرگ) ( char ch = "J"؛ int intCh = (int) ch؛ System.out.println ("J با "+ intCh مطابقت دارد)؛ )

    خروجی برنامه نشان می دهد که علامت "J" با عدد 74 مطابقت دارد.

    J با 74 مطابقت دارد

    بولی- طراحی شده برای ذخیره سازی مقادیر بولی. متغیرهای این نوع فقط می توانند یکی از 2 مقدار ممکن را بگیرند: true یا false.

    //اعلان و مقداردهی اولیه یک متغیر از نوع بولی. بولی b = درست;

    String را تایپ کنید

    نوع String یک نوع داده اولیه نیست، اما یکی از پرکاربردترین انواع در جاوا است. رشته برای ذخیره رشته های متن طراحی شده است. چند نمونه از استفاده از String

    //ایجاد یک رشته با استفاده از سازنده String myString = new String("هوا خوب بود"); //همچنین می توانید یک رشته با استفاده از نقل قول ایجاد کنید "" String myString = "هوا خوب بود";

    عملگر "+" برای رشته ها تعریف شده است

    اصلی خالی ثابت عمومی (رشته آرگ) ( رشته s1 = "من دارم "؛ رشته s2 = " سیب "؛ int num = 3؛ رشته s = s1 + num + s2؛ System.out.println(s)؛ )

    خروجی برنامه

    من 3 تا سیب دارم

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

    انواع مرجع شامل تمام کلاس ها، رابط ها و آرایه ها می شود. نوع String که در بالا توضیح داده شد نیز یک نوع مرجع است. این کلاس از کتابخانه استاندارد جاوا است.

    همچنین کلاس های بسته بندی وجود دارد:

    • کوتاه
    • عدد صحیح
    • شناور
    • دو برابر
    • شخصیت
    • بولی

    بر خلاف انواع اولیه، با حروف بزرگ نوشته می شوند. این انواع با انواع اولیه مطابقت دارند، اما انواع مرجع هستند. کلاس‌های آن‌ها شامل روش‌هایی برای تبدیل نوع، و همچنین سایر ثابت‌ها و روش‌هایی هستند که هنگام کار با انواع داده‌های اولیه مفید هستند.

    هر کلاسی که هنگام ایجاد یک نمونه کلاس ایجاد می کنیم، به عنوان یک نوع نیز عمل می کند. به یاد بیاورید که کجا کلاس Cat را ایجاد کردیم و سپس متغیر ourcat از نوع Cat را هنگام نمونه سازی کلاس ایجاد کردیم.

    Cat ourcat = new Cat();

    با این کار مقدمه ما با متغیرها و انواع در جاوا به پایان می رسد.

    بنابراین، در این درس یاد گرفتیم که چه نوع داده هایی وجود دارد و یاد گرفتیم که چگونه متغیرها را تعریف کنیم. در درس بعدی به بررسی نوع ریخته گری خواهیم پرداخت.

    یک عبارت اعلان متغیر ابتدایی را می توان با یک عبارت "="" دنبال کرد که یک مقدار اولیه را به متغیر ایجاد شده اختصاص می دهد.

    1. انواع متغیرهای عدد صحیح

    کلانواع در اندازه حافظه اختصاص داده شده به آنها متفاوت است. مشخصات انواع عدد صحیح در جدول آورده شده است. 1.1. جدول 1.1. ویژگی های انواع عدد صحیح جاوا
    همانطور که از جدول زیر می بینید، متغیرهای عدد صحیح، به استثنای نوع char، متغیرهای علامت دار در جاوا در نظر گرفته می شوند. ثابت های صحیح را می توان در یک برنامه به یکی از سه روش مشخص کرد: به صورت مقادیر اعشاری، هگزا دسیمال یا اکتال. به طور پیش فرض، همه اعداد به عنوان تفسیر می شوند اعشاریو از نوع int هستند. با اضافه کردن حرف "ل" یا حرف "ل" به انتهای عدد می توانید صریحاً نشان دهید که یک نوع طولانی هستید. هگزادسیمالمقدار با استفاده از کاراکترهای "0x" یا "0X" و به دنبال آن مقدار عدد مشخص می شود (اعداد 0-9 و حروف A-Fیا a-f)، به عنوان مثال: 0x7FFF . یک عدد در نماد هشت‌گانه باید با یک صفر و سپس یک یا چند رقم هشتی شروع شود، به عنوان مثال 077777. اعداد هشت و هگزادسیمال می توانند هم مثبت و هم منفی باشند و در بازه های مشابهی با اعداد در نمایش اعشاری متفاوت باشند (به عنوان مثال، اعداد بایت هگزادسیمال دارای حداکثر مقدار 0x7F و حداقل مقدار 0x80 هستند، و اعداد اکتالی دارای 177 و 200- هستند. به ترتیب ) نمونه هایی از اعلان متغیرهای عدد صحیح: int x = 0 ; طولانی i, j, k; بایت a1 = 0xF1 , a2 = 0x07 ; کوتاه r1 = 017 ; نمادهادر جاوا با استفاده از کلمه کلیدی char تعریف شده و با استفاده از استاندارد یونیکد پیاده سازی می شوند. می توانید یک نماد ثابت را در یک برنامه یا به عنوان یک نماد معمولی مشخص کنید. مقدار نمادین باید در یک جفت آپستروف منفرد محصور شود، برای مثال: char symbol= "f" ; روش دیگر برای نوشتن کاراکترها به صورت یک جفت کاراکتر "\u" و به دنبال آن یک عدد هگزادسیمال چهار رقمی (از 0000 تا FFFF) است که نشان دهنده کد یونیکد کاراکتر است، برای مثال: char symbol = "\u0042" ; برخی از نویسه‌هایی که در صفحه‌کلید یافت نمی‌شوند را می‌توان با استفاده از دنباله‌های به اصطلاح فرار مشخص کرد که شامل کاراکتر "\" و به دنبال آن یک کاراکتر الفبایی است که دنباله فرار را مشخص می‌کند، همانطور که در جدول 1 نشان داده شده است. 1.2. جدول 1.2. دنباله های فرار مورد استفاده در زبان جاوا
    دیگر چه بخوانیم:

    2. انواع واقعی متغیرها

    زبان جاوا از اعداد و متغیرها پشتیبانی می کند نقطه شناورمعمولی و دو بیتی - انواع شناور و دوبل. برای اعداد ممیز شناور، باید قسمت های عدد صحیح و کسری را مشخص کنید که با یک نقطه از هم جدا شده اند، مثلاً 4.6 یا 7.0. برای اعداد بزرگمی توانید از نماد نمایی استفاده کنید (از نماد "e" یا نماد "E" برای جدا کردن مانتیس از نما استفاده کنید)، به عنوان مثال، عدد -3.58×107 به صورت –3.58E7 و عدد 73.675×10- نوشته می شود. 15 به صورت 73.675e-15 نوشته شده است. مشخصات انواع واقعیجاوا در جدول ارائه شده است. 2.1. جدول 2.1. ویژگی های انواع جاوا واقعی
    متغیرهای ممیز شناور می‌توانند نه تنها مقادیر عددی، بلکه هر یک از پرچم‌ها (وضعیت‌های) تعریف‌شده خاص را نیز ذخیره کنند: بی‌نهایت منفی، صفر منفی، بی‌نهایت مثبت، صفر مثبت، و غیر یک عدد (NaN). همه ثابت های ممیز شناور از نوع double فرض می شوند. برای تعیین یک عدد شناور، باید کاراکتر "f" یا نماد "F" را به انتهای عدد اضافه کنید. نمونه هایی از اعلان های متغیر ممیز شناور:شناور x1 = 3.5f، x2 = 3.7E6f، x3 = - 1.8E-7f؛ z double = 1.0 ;

    3. نوع متغیر بولی

    متغیرهای بولی (متغیرهای منطقی) می توانند یکی از دو مقدار "true" یا "false" را داشته باشند و در زبان های برنامه نویسی به صورت رابطه ای (مقایسه) و استفاده می شوند. عملیات منطقی. بنابراین، نتیجه مقایسه 5 > 3 "درست" و نتیجه مقایسه 8 خواهد بود< 1 будет «ложь». В отличие от C, где результату «ложь» сопоставлено целое значение типа int , равное 0, а результату «истина» – ненулевое значение типа int , и, соответственно, результатам сравнения присваивается целое значение (обычно 0 или 1), в Java для булевских переменных введен свой, отдельный тип данных. Переменные نوع بولیدر جاوا با استفاده از کلمه کلیدی بولی مشخص می شوند و می توانند تنها یکی از دو مقدار را داشته باشند: درست است، واقعییا نادرستبرای مثال سوئیچ بولی = true; لینک اول

    یک نوع داده توسط سه جزء تعیین می شود:

    • مجموعه ای از مقادیر یا اشیاء؛
    • مجموعه ای از عملیات که می تواند برای تمام مقادیر در یک مجموعه اعمال شود.
    • نمایش داده ای که ذخیره سازی آن را تعیین می کند.

    انواع داده ها در جاوا چیست؟

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

    در جاوا انواع داده ها به ابتدایی و مرجع تقسیم می شوند.

    "ابتدایی" به این معنی است که تقسیم بیشتر غیرممکن است. زبان برنامه نویسی به شما اجازه گسترش یا تغییر آن را نمی دهد. این نوع داده توسط انواع ابتدایی و دیگر انواع تعریف شده توسط کاربر توصیف می شود.

    یک متغیر نوع اولیه حاوی یک مقدار و یک متغیر مرجع حاوی آدرس یک شی در حافظه است.

    زبان جاوا. زمان و تاریخ

    داده های ترکیبی به کلاس ها، رابط ها و آرایه ها تقسیم می شوند. اعضای یک نوع رابط، روش ها و ثابت های انتزاعی هستند. در جاوا، انواع داده های تاریخ و زمان توسط سازنده Date() مشخص می شود:

    • d = new Date().

    زبان جاوا. انواع داده ها: رشته ای

    String یک کلاس تعریف شده در آن است و می توان از آن برای کار با متن (توالی از کاراکترها) استفاده کرد.

    اعلان یک متغیر String مرجع به شرح زیر است: String str.

    • str = رشته جدید ("سلام").

    وقتی این کد اجرا می شود چه اتفاقی می افتد؟ ابتدا حافظه تخصیص داده می شود و نام str با آن مکان حافظه مرتبط می شود. این با اعلان یک متغیر اولیه تفاوتی ندارد. قطعه دوم کد یک شی String در حافظه با متن "Hello" ایجاد می کند و یک مرجع به آن (یا آدرس حافظه) را در str ذخیره می کند.

    انواع داده های مرجع جاوا همچنین به شما این امکان را می دهند که یک مرجع را به یک شی ذخیره شده در یک متغیر به متغیر دیگر اختصاص دهید. هر دو به یک شی در حافظه اشاره می کنند. این امر به شرح زیر قابل دستیابی است:

    • رشته str1;
    • رشته str2;
    • str1 = رشته جدید ("سلام");
    • str2 = str1;

    یک شی String با استفاده از عملگر جدید ایجاد می شود. اما از آنجایی که رشته ها اغلب استفاده می شوند، راه آسان تری برای ایجاد آن وجود دارد. تمام حرف های رشته ای، یعنی دنباله ای از کاراکترهای محصور شده در گیومه های دوتایی، به عنوان اشیاء رشته در نظر گرفته می شوند. بنابراین، به جای عملگر جدید، می توانید از حروف الفبای رشته ای استفاده کنید:

    • String str1 = "سلام".

    انواع داده های اولیه جاوا عبارتند از بایت، کوتاه، int، طولانی، char، float، double و boolean. آنها به دو دسته منطقی و عددی تقسیم می شوند. دومی را می توان به اعداد صحیح و اعداد ممیز شناور تقسیم کرد.

    انواع داده های عدد صحیح جاوا انواع عددی هستند که مقادیر آنها اعداد صحیح است. پنج مورد از آنها وجود دارد: byte، short، int، long و char.

    بین المللی

    Int یک نوع داده اولیه امضا شده 32 بیتی است. متغیر 32 بیت حافظه را اشغال می کند. محدوده معتبر 2147483648 - تا 2147483647 (31-2 تا 2 31 - 1) است. تمام اعداد صحیح در این محدوده، لفظ یا ثابت اعداد صحیح هستند. به عنوان مثال، 10، -200، 0، 30، 19 حروف int هستند. آنها را می توان به یک متغیر int اختصاص داد:

    • int num1 = 21;

    اعداد صحیح را می توان به صورت دودویی، اکتال، اعشاری و عدد هگزادسیمال.

    هنگامی که یک حرف با صفر شروع می شود و حداقل دو رقم دارد، در نظر گرفته می شود که به صورت هشتی نوشته می شود. 0 و 00 نشان دهنده همان ارزش- صفر

    تمام لفظهای هگزادسیمال int با 0x یا 0x شروع می شوند و باید حداقل یک رقم هگزادسیمال داشته باشند:

    • int num1 = 0x123.

    حروف درونی در قالب با 0b یا 0B شروع می شود:

    • int num1 = 0b10101.

    طولانی

    این یک نوع اولیه امضا شده 64 بیتی است. زمانی استفاده می شود که نتیجه یک محاسبه ممکن است از محدوده int فراتر رود. محدوده طولانی از -2 63 تا 2 63 - 1 است. همه اعداد صحیح در این محدوده از نوع لفظی طولانی هستند.

    برای تمایز بین انواع داده های int و long در جاوا، حرف نوع دوم همیشه با L یا l ختم می شود.

    لفظ اعداد صحیح نوع بلند را می توان در قالب های اکتال، هگزادسیمال و باینری نیز بیان کرد.

    هنگامی که یک long literal به یک متغیر طولانی اختصاص داده می شود، کامپایلر جاوا مقدار اختصاص داده شده را بررسی می کند تا مطمئن شود که در محدوده قابل قبولی قرار دارد. در غیر این صورت یک خطای کامپایل رخ خواهد داد.

    از آنجایی که محدوده int کوچکتر از long است، مقدار متغیر int همیشه می تواند به یک متغیر طولانی نسبت داده شود. اما تخصیص معکوس حتی در محدوده int امکان پذیر نیست. برای انجام این کار، از یک دستورالعمل صریح استفاده کنید:

    • num1 = (int) num2;

    بایت

    بایت یک نوع اعداد صحیح اولیه 8 بیتی است. محدوده آن 128- تا 127 (-2 7 تا 2 7 - 1) است. این کوچکترین نوع عدد صحیح موجود در جاوا است. به طور معمول، متغیرهای بایت زمانی استفاده می شوند که یک برنامه دارای مقادیر زیادی در محدوده 128- تا 127 باشد، یا هنگام کار با داده های باینری. برخلاف int و long literal هیچ بایتی وجود ندارد. با این حال، می‌توانید هر int literal را به یک متغیر بایت اختصاص دهید، زیرا محدوده بایت را در بر می‌گیرد.

    اگر مقدار یک متغیر خارج از محدوده باشد، جاوا یک خطای کامپایلر ایجاد می کند.

    علاوه بر این، شما فقط می توانید به یک int literal اختصاص دهید، اما نه مقدار ذخیره شده در یک متغیر int، زیرا ممکن است منجر به از دست دادن دقت شود. این نیاز به یک بازیگر نوع صریح دارد.

    • b1 = (بایت)num1.

    کوتاه

    یک نوع داده اولیه اعداد صحیح امضا شده 16 بیتی را نشان می دهد. محدوده آن -32768 تا 32767 (یا -2 15 تا 2 15 - 1) است.

    به طور معمول، نیاز به متغیرهای کوتاه زمانی ایجاد می شود که یک برنامه از تعداد زیادی از مقادیر استفاده می کند که از محدوده مشخصی تجاوز نمی کنند. هیچ حرف کوتاهی وجود ندارد، اما هر حرف int در محدوده کوتاه را می توان اختصاص داد. مقدار یک متغیر بایت همیشه می تواند اختصاص داده شود. قوانین باقیمانده برای تخصیص یک متغیر int یا long short مانند بایت است.

    چار

    Char یک نوع داده اولیه بدون علامت 16 بیتی است که نشان دهنده یک کاراکتر یونیکد است. عدم وجود علامت به این معنی است که متغیر نمی تواند مقدار منفی داشته باشد. محدوده از 0 تا 65535 است که همان رمزگذاری مجموعه کاراکترهای یونیکد است. Literal یک مقدار کاراکتر را نشان می دهد و می تواند به شکل های زیر بیان شود:

    • شخصیت محصور شده در نقل قول تکی؛
    • دنباله ای از کاراکترهای کنترل.
    • دنباله ای از کاراکترهای کنترل یونیکد.
    • دنباله ای از کاراکترهای کنترل اکتال.

    یک کاراکتر را می توان با محصور کردن آن در یک نقل قول بیان کرد: char C1 = "A". یک رشته را نشان می دهد که نمی توان آن را به یک متغیر char نسبت داد، حتی اگر رشته فقط از یک کاراکتر تشکیل شده باشد. این غیرقانونی است زیرا ارجاع به یک متغیر اولیه اختصاص داده نشده است. تمام حرف های رشته ای اشیایی از کلاس String و بنابراین ارجاع هستند، در حالی که حروف الفبای کاراکتر از نوع اولیه هستند.

    معنای تحت اللفظی بیان شده توسط یک دنباله فرار به صورت یک اسلش معکوس با کاراکتر در داخل نقل قول نوشته می شود. در مجموع 8 مورد وجود دارد: «\n»، «\r»، «\f»، «\b»، «\t»، «\\»، «\»، «\».

    دنباله فرار یونیکد "\uxxxx" است، جایی که \u ( بک اسلشبه دنبال آن یک u) شروع آن را نشان می دهد و xxxxx دقیقاً چهار را نشان می دهد ارقام هگزادسیمالکد کاراکتر در سیستم یونیکد به عنوان مثال، "A" دارای مقدار 65 اینچ است سیستم اعشاریو 41 در هگزادسیمال. بنابراین این کاراکتر را می توان به عنوان "\u0041" نشان داد.

    دنباله فرار هشتگانه به صورت "\nn" نوشته می شود، که در آن n یک رقم هشتی است (0-7). محدوده مقادیر از "\000" تا "\377" است، که در آن 377 8 با 255 10 مطابقت دارد. بنابراین، از آن برای نمایش کاراکترهایی با کد 0 تا 255 استفاده می شود که برای سازگاری با سایر زبان های برنامه نویسی ضروری است. بر خلاف دنباله یونیکد، که در آن هر چهار رقم هگزا دسیمال مورد نیاز است، در اینجا می توانید از 1، 2 یا 3 رقم اکتال استفاده کنید: "\n"، "\nn" یا "\nn".

    نوع بولی

    Boolean فقط دو مقدار معتبر دارد: true و false. به آنها لفظ بولی گفته می شود. یک متغیر بولی را نمی توان به نوع دیگری فرستاد و بالعکس. جاوا اندازه یک بولی را تعریف نمی کند - این به پیاده سازی خاص ماشین مجازی جاوا بستگی دارد.

    انواع داده های نقطه شناور جاوا

    عددی که شامل یک قسمت کسری است را می توان به صورت نمایشی با تعداد ثابتی از ارقام قبل و بعد از نقطه یا نشان دهنده موقعیت آن در حافظه کامپیوتر ذخیره کرد. از آنجایی که تعداد ارقام می تواند تغییر کند، آنها می گویند که نقطه "شناور" است.

    در جاوا، انواع داده های ممیز شناور از 32 بیت استفاده می کنند. طبق استاندارد IEEE 754، این مربوط به دقت واحد است، که به شما امکان می دهد، برای مثال، اعداد 1.4 x 10 -45 و 3.4 x 10 38، مثبت و منفی را نشان دهید.

    هر چیزی که به f یا F ختم می شود، لفظ شناور نامیده می شود. آنها را می توان در قالب اعداد اعشاری و در نماد علمی نشان داد. مثلا:

    • float f1 = 3.25F;
    • float f2 = 32.5E-1F;
    • float f3= 0.325E + 1F.

    نوع دو صفر را تعریف می کند: +0.0F (یا 0.0F) و -0.0F. با این حال، برای مقاصد مقایسه، هر دو صفر برابر در نظر گرفته می شوند. علاوه بر این، او دو نوع بی نهایت را تعریف کرد: مثبت و منفی. نتایج برخی از عملیات (به عنوان مثال، تعریف نشده اند و با مقدار خاصی NaN نشان داده می شوند.

    دقت دو برابر

    Double از 64 بیت برای ذخیره اعداد ممیز شناور استفاده می کند. یک عدد دقت مضاعف می تواند مقادیر مثبت و منفی با قدر 4.9 x 10 -324 و 1.7 x 10308 را نشان دهد.

    همه اعداد واقعی به طور پیش فرض دو حرفی هستند. ممکن است در صورت تمایل به صراحت با پسوند d یا D مشخص شود، به عنوان مثال 19.27d. حرف مضاعف را می توان به صورت اعشاری و نماد علمی بیان کرد.

    متغیر چیست؟

    یک متغیر را می توان به عنوان ظرفی در نظر گرفت که برای شما دارای مقدار است، در طولعمر یک برنامه جاوا به هر متغیر a اختصاص داده می شود نوع دادهکه نوع و مقدار ارزشی که می تواند داشته باشد را طراحی می کند.

    برای استفاده از یک متغیر در یک برنامه باید 2 مرحله را انجام دهید

    1. اعلان متغیر
    2. مقداردهی اولیه متغیر

    در این آموزش، شما یاد خواهید گرفت که

    اعلام متغیر:

    برای اعلام یک متغیر، باید نوع داده را مشخص کنید و به متغیر یک نام منحصربفرد بدهید.

    نمونه هایی از دیگر اعلامیه های معتبر هستند

    Int a,b,c; float pi; دو d; char a;

    مقداردهی اولیه متغیر:

    برای مقداردهی اولیه یک متغیر، باید یک مقدار معتبر به آن اختصاص دهید.

    نمونه‌هایی از راه‌اندازی‌های معتبر دیگر هستند

    پی = 3.14f. انجام =20.22d; a='v';

    شما می توانید اعلان متغیر و مقداردهی اولیه را ترکیب کنید.

    Int a=2,b=4,c=6; float pi=3.14f; double do=20.22d; char a=’v’;

    انواع متغیرها

    در جاوا سه نوع متغیر وجود دارد:

    1. متغیرهای محلی
    2. متغیرهای نمونه
    3. متغیرهای استاتیک

    1) متغیرهای محلی

    متغیرهای محلی متغیری هستند که در داخل بدنه یک متد اعلان می شوند.

    2) متغیرهای نمونه

    متغیرهای نمونه بدون کلمه کلیدی STATIC تعریف می شوند. آنها خارج از یک اعلان متد تعریف می شوند. آنها Object خاص هستند و به عنوان متغیرهای نمونه شناخته می شوند.

    3) متغیرهای استاتیک

    متغیرهای استاتیک تنها یک بار در ابتدای اجرای برنامه مقداردهی اولیه می شوند. این متغیرها باید ابتدا، قبل از مقداردهی اولیه هر متغیر نمونه، مقداردهی اولیه شوند.

    مثال: انواع متغیرها در جاوا

    کلاس Guru99 ( داده های int = 99؛ // متغیر نمونه static int a = 1؛ // متغیر static void method() (int b = 90; //متغیر محلی))

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

    انواع داده، مقادیر مختلف ذخیره شده در متغیر را طبقه بندی می کنند. در جاوا دو نوع داده وجود دارد:

    1. انواع داده های اولیه
    2. انواع داده های غیر ابتدایی

    انواع داده های اولیه

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

    8 نوع اولیه وجود دارد: بایت، کوتاه، int، طولانی، کاراکتر، شناور، دوبل و بولی. انواع داده های عدد صحیح

    بایت (1 بایت) کوتاه (2 بایت) اینت (4 بایت) طولانی (8 بایت)

    نوع داده شناور

    شناور (4 بایت) دو برابر (8 بایت)

    نوع داده متنی

    کاراکتر (2 بایت)

    بولی (1 بایت) (درست/نادرست)

    نوع داده مقدار پیش فرض اندازه پیش فرض
    بایت 0 1 بایت
    کوتاه 0 2 بایت
    بین المللی 0 4 بایت
    طولانی 0 لیتر 8 بایت
    شناور 0.0f 4 بایت
    دو برابر 0.0d 8 بایت
    بولی نادرست 1 بیت
    کاراکتر "\u0000" 2 بایت

    نکاتی که باید به خاطر بسپارید:

    • همه انواع داده های عددی علامت گذاری شده اند (+/-).
    • اندازه انواع داده ها در همه پلتفرم ها یکسان است (استاندارد)
    • نوع داده char در جاوا 2 بایت است زیرا از آن استفاده می کند یونیکدمجموعه کاراکتر. به موجب آن، جاوا از بین المللی سازی پشتیبانی می کند. یونیکد یک مجموعه کاراکتر است که تمام اسکریپت ها و زبان های شناخته شده در جهان را پوشش می دهد

    تبدیل نوع متغیر جاوا و ارسال نوع

    یک متغیر از یک نوع می تواند مقدار نوع دیگری را دریافت کند. در اینجا 2 مورد وجود دارد -

    مورد 1)متغیر ظرفیت کمتر به متغیر دیگری با ظرفیت بزرگتر اختصاص داده می شود.

    این فرآیند خودکار است و غیر صریح به نام تبدیل

    مورد 2)متغیر ظرفیت بزرگتر به متغیر دیگری با ظرفیت کمتر اختصاص داده می شود

    در چنین مواردی، باید به صراحت مشخص کنید نوع عملگر ریخته گری این فرآیند به عنوان شناخته شده است Casting را تایپ کنید.

    در این صورت، شما یک نوع عملگر cast را مشخص نکنید. کامپایلر خطا می دهد. از آنجایی که این قانون توسط کامپایلر اجرا می شود، برنامه نویس را آگاه می کند که تبدیلی که قرار است انجام دهد ممکن است باعث از دست رفتن داده ها شود و از این موضوع جلوگیری می کند. تلفات تصادفی

    مثال: برای درک Type Casting

    مرحله 1)کد زیر را در یک ویرایشگر کپی کنید.

    کلاس دمو (اصلی خالی استاتیک عمومی (رشته آرگ) (بایت x؛ int a = 270؛ double b = 128.128؛ System.out.println ("int تبدیل به بایت")؛ x = (بایت) a؛ System.out. println("a and x" + a + "" + x); System.out.println("دوبار به int تبدیل شد"); a = (int) b؛ System.out.println("b و a " + b + " " + a)؛ System.out.println("\ndo برابر به بایت تبدیل شد"); x = (بایت)b؛ System.out.println("b و x" + b + "" + x)؛ ) )

    گام 2)کد را ذخیره، کامپایل و اجرا کنید.

    Int تبدیل به بایت a و x 270 14 double به int b و 128.128 128 double تبدیل به بایت b و x 128.128 -128