Програмиране: Java. Видове данни
Типът данни се определя от три компонента:
съдържание
- набор от стойности или обекти;
- набор от операции, които могат да бъдат приложени към всички стойности в комплекта;
- представяне на данните, които определят тяхното съхранение.
Какви са типовете данни в Java?
Програмният език съдържа някои предварително дефинирани вградени типове и позволява на програмистите да определят свои собствени, обичайни.
В Java типовете данни са разделени на примитивни и референтни типове.
"Примитивен" означава, че по-нататъшното му разделяне е невъзможно. Разширяването или промяната на неговия програмен език не позволява. Този тип данни е описан от примитивни и други типове, дефинирани от потребителя.
Променлива от примитивен тип съдържа стойност, а референтната променлива съдържа адреса на обекта в паметта.
Езикът на Java. Типове данни: час и дата
Комбинираните данни се разделят на класове, интерфейси и масиви. Членовете на типа интерфейс са абстрактни методи и константи. В Java типовете данни за дата и час се задават от конструктора Date ():
- d = нова дата ().
Пример за връзка е и низ.
Езикът на Java. Типове данни: Структура
Низът е клас, определен в Java библиотеката, и може да се използва за работа с текст (последователност от знаци).
Декларирането на референтната String променлива е както следва: String str.
Преди да зададете препратка към обект на такава променлива, трябва да я създадете с новия оператор. Например, можете да създадете обект от класа Структура с текст "Здравей":
- str = нов стринг ("Здравей").
Какво се случва, когато се изпълни този код? Първо, паметта се разпределя и името на групата се свързва с тази памет клетка. Това не се различава от обявяването на примитивна променлива. Вторият фрагмент на кода създава обект String с текст "Hi" в паметта и съхранява препратка към него (или адрес на паметта) на стр.
Референтните типове данни Java също ви позволяват да зададете препратка към обект, съхраняван в една променлива, а другият. И двата се отнасят до един и същ обект в паметта. Това може да бъде постигнато, както следва:
- String str1;
- String str2;
- str1 = нов стринг ("Здравей");
- str2 = str1;
Има постоянна нулева референция, която може да бъде присвоена на всяка референтна променлива. Той не се отнася за нито един обект.
Обектът String се създава с помощта на новия оператор. Но тъй като низовете се използват често, има по-лесен начин да се създаде. Всички низови литерали, т.е. последователност от знаци, обхванати в двойни кавички, се третират като String обекти. Ето защо, вместо новия оператор можете да използвате нитрични литерали:
- Структура str1 = "Здравей".
Примитивните типове данни Java са байт, къс, инт, дълъг, char, float, double и boolean. Те попадат в две категории: логически и цифрови. Последните могат да бъдат разделени на числа и числа с плаваща запетая.
Целият тип данни на Java са цифрови типове, чиито стойности са цели числа. Има пет от тях: байт, къс, int, дълъг и char.
Int
Int е 32-битов подписан тип данни. Променливата отнема 32 бита памет. Допустимият диапазон е от -2147483648 до 2147483647 (-231 до 231 - 1). Всички цели числа в този диапазон са цели числа или константи. Например, 10, -200, 0, 30, 19 са literals int. Те могат да бъдат зададени на int:
- int num1 = 21;
Целият буквал може да бъде изразен като двоичен, осмичен, десетичен и шестнадесетичен.
Когато буквал започва с нула и има поне две цифри, се счита, че е написан в окталов формат. 0 и 00 представляват една и съща стойност - нула.
Всички буквални в шестнадесетичен формат започват с 0x или 0x и те трябва да съдържат поне една шестнадесетична цифра:
- int num1 = 0x123.
Във формат двоен номер започнете с 0b или 0B:
- int num1 = 0b10101.
дълго
Това е 64-битов подписан примитивен тип. Използва се, когато резултатът от изчислението може да надвиши обхвата на int. Обхват дълъг - от -263 до 263- 1. Всички цели числа в този диапазон са дългите буквали.
За да се прави разлика между int и дългите типове данни в Java, буквалният от последния тип винаги завършва с L или l.
Целият дълъг тип буквали може да бъде изразен и в осми, шестнадесетичен и двоичен формат.
Когато дългите букви се приписват на променливата дълга, компилаторът на Java проверява присвоената стойност и се уверява, че е в приемливия диапазон, в противен случай възникне грешка при компилирането.
Тъй като обхватът на int е по-малък от този на дългите, стойността на int променлива винаги може да бъде присвоена на променлива от тип long. Но обратното задаване не е възможно дори в интервала int. За тази цел се използва изрично указание:
- num1 = (int) num2;
байт
Байтовете са 8-битов пълен примитивен тип. Диапазонът му е от -128 до 127 (-27 до 27 - 1). Това е най-малкият тип цели числа, наличен в Java. Обикновено променливи байтове се използват, когато програмата използва много стойности в диапазона от -128 до 127 или при работа с двоични данни. За разлика от интерактивните и дългите буквали, няма литературни байтове. Все пак, можете да присвоите всеки int-буквален на байтовата променлива, тъй като той заменя обхвата на байтовете.
Ако стойността на променливата е извън обхвата, Java ще генерира компилаторна грешка.
Освен това, можете да зададете само int-literal, но не и стойност, запазена в променливата int, тъй като може да загуби точност. Това изисква изрично предаване.
- b1 = (байт) num1.
кратко
Това е 16-битов подписан пълен примитивен тип данни. Диапазонът му е от -32768 до 32767 (или -215 до 215 - 1).
Обикновено необходимостта от кратки променливи възниква, когато програмата използва голям брой стойности, които не надвишават определения диапазон. Кратък буквален липсва, но е възможно да се определи всеки буквален int в диапазона кратък. Стойността на байтовата променлива винаги може да бъде зададена. Останалите правила за задаване на int или long short-variable са същите като за байт.
овъглявам
Char е 16-битов неподписан примитивен тип данни, който представлява символ на Unicode. Липсата на знак означава, че променливата не може да има отрицателна стойност. Диапазонът е от 0 до 65535, който е същият като набор от символи на Unicode. А буквален представлява стойност на въглен и може да се изрази в такива форми:
- символ, включен в единични кавички;
- поредица от контролни знаци;
- поредица от знаци за управление на Unicode;
- поредица от октавни контролни знаци.
Символът може да бъде изразен като се включи в единични кавички: char C1 = `A`. Двойните кавички означават буквален низ, който не може да бъде присвоен на променлива Чар, дори ако низът се състои само от един знак. Това е неприемливо, тъй като не е зададено позоваване на примитивна променлива. Всички низови литерали са предмети от класа String и следователно референции, докато буквалните буквали се отнасят до примитивния тип.
Буквата, изразена чрез контролна последователност, е написана под формата на обратна наклонена черта с единичен цитат. Има 8 от тях: lsquo- rrsquo-, lsquo-, флуоро-, бисквит, изопропил- lsquo - rsquo-, lsquo - "rsquo, lsquo-rsquo.
Unicode Контролната последователност е " uxxxx", където ф (наклонена черта, последвана от малки букви ф) означава неговото начало, хххх представлява точно четири шестнадесетични цифри в код характер на системата за Unicode. Например "А" има стойност от 65 в десетичната система и 41 в шестнадесетична. По този начин този символ може да бъде представен като " u0041".
Окталната контролна последователност е написана във формата ` nnn`, където n е осмият номер (0-7). Диапазонът от стойности е от ` 000` до ` 377`, където 3778 съответства на 25510. Следователно, тя се използва за представяне на символи с код от 0 до 255, което е необходимо за съвместимост с други езици за програмиране. За разлика от Unicode последователност, когато е необходимо, всички четири шестнадесетични цифри, може да се използва 1, 2 или 3 осмично: ` N "," пп "или" NNN.
Булев тип
Boolean има само две валидни стойности: true (true) и false (false). Те се наричат булеви литератори. Логическата променлива не може да бъде прехвърлена на друг тип и обратно. Java не определя размера на boolean - това зависи от конкретното внедряване на виртуалната Java машина.
Типове Java с плаваща запетая
Номерът, който съдържа частичната част в паметта на компютъра, може да бъде съхранен в изображение с фиксиран брой цифри преди и след точката или посочване на неговата позиция. Тъй като броят на цифрите може да варира, се казва, че точката "плава".
В езика Java типовете данни за плаващите използват 32 бита. Според стандарта IEEE 754, това съответства на една единствена точност, която позволява например да се представят числата 1,4 х 10-45 и 3,4 х 1038, както положителни, така и отрицателни.
всички реални номера, които завършват в f или F, се наричат float-literals. Те могат да бъдат представени под формата на десетични числа и под формата на научна нотация. Например:
- плувка f1 = 3.25F;
- плувка f2 = 32.5E-1F;
- флота f3 = 0.325Е + 1F.
Типът определя две нули: + 0.0F (или 0.0F) и -0.0F. За целите на сравнението, обаче, двете нули се считат за равни. Освен това той идентифицира два вида безкрайност: положителни и отрицателни. Резултатите от някои операции (например, разделяне 0.0F на 0.0F) не са дефинирани и са представени със специална стойност на NaN.
Двойна точност
За да съхранявате номера с плаваща запетая, двойно използва 64 бита. Двойният номер на точност може да представлява положителни и отрицателни стойности от 4,9 x 10-324 и 1.7 х 10308.
Всички реални числа са по подразбиране двойни буквали. Ако е необходимо, те могат да бъдат изрично означени със суфикса d или D, например, 19.27d. Двойният буквал може да бъде изразен в десетична форма и в научна нотация.
- Как да инсталирате Java на Windows 7
- Първата програма Java е Hello World
- Типове MIME: описание и списък на основните
- Java програмен език
- Цигари "Java": описание и типове
- Java масиви от низове. Сортиране на масив в Java. Двуизмерен Java масив
- Java: регулярни изрази, специални знаци
- Java: InputStream. Входни потоци
- Java Generics: Описание и методи
- BigInteger Java: работи с големи числа
- Java Array. Масиви в Java. Java за начинаещи
- Java: работа с файлове - писане, четене, изтриване
- SQL (типове данни): таблица
- Елементи на обектния модел на Java: абстрактен клас, интерфейс
- Йерархичен модел на данните
- Какво е динамичното пишене?
- Python: типове данни, условия, изисквания и примери
- Как да пиша във файл в Java
- Видове данни
- Какви са типовете данни в Pascal?
- Основни типове данни Mysql