Програмування: Java. Типи даних
Тип даних визначається трьома складовими: набір значень або об'єктів; набором операцій, які можуть бути застосовані до всіх значенням у наборі; поданням даних, що визначає їх зберігання.
Змінна примітивного типу містить значення, а посилальна – адреса об'єкта в пам'яті. d = new Date(). Прикладом посилання також є рядок. str = new String ("Привіт"). Що відбувається при виконанні цього коду? По-перше, виділяється пам'ять, і ім'я str зв'язується з цієї коміркою пам'яті. Це не відрізняється від оголошення примітивної змінної. Другий фрагмент коду створює в пам'яті об'єкт String з текстом «Привіт» і зберігає посилання на нього (або адресу пам'яті) у str.
Посилальні типи даних Java також дозволяють присвоїти посилання на об'єкт, що зберігається в однієї змінної, інший. Обидві вони посилаються на один і той же об'єкт в пам'яті. Це може бути досягнуто наступним чином: String str1; String str2; str1 = new String ("Привіт"); str2 = str1; Існує постійне посилання null, яка може бути присвоєна будь посилальної змінної. Вона не посилається ні на один об'єкт. Об'єкт String створюється з допомогою оператора new. Але так як рядки використовуються часто, є більш простий спосіб його створення. Всі рядкові літерали, тобто послідовність символів, укладена в лапки, розглядаються як об'єкти String. Тому замість оператора new можна використовувати рядкові літерали: String str1 = "Hello". Примітивні типи даних Java – byte, short, int, long, char, float, double і boolean. Вони діляться на дві категорії: логічну і числову. Остання може бути розділена на цілі числа та числа з плаваючою точкою. Цілі типи даних Java являють собою числові типи, значення яких є цілими числами. Їх п'ять: byte, short, int, long і char.
int num1 = 21; Цілі літерали можуть бути виражені у вигляді двійкового, восьмеричного, десяткового та шістнадцяткового числа. Коли текст починається з нуля і має, принаймні, дві цифри, він вважається записаним у вісімковому форматі. 0 і 00 представляють однакове значення – нуль. Всі літерали int у форматі шістнадцяткового числа починаються з 0x або 0x, і вони повинні містити хоча б одну шістнадцяткову цифру: int num1 = 0x123. Int-літерали в форматі двійкового числа починаються з 0b або 0B: int num1 = 0b10101. num1 = (int) num2;
Якщо значення змінної виходить за межі діапазону, Java компілятор видасть помилку. Крім того, можна призначити тільки int-літерал, але не значення, що зберігається в змінної int, так як при цьому можлива втрата точності. Для цього потрібно явне приведення типу. b1 = (byte) num1. символ, укладена в одинарні лапки; послідовність керуючих символів; послідовність керуючих символів юнікоду; послідовність вісімкових керуючих символів. Символ може бути виражено шляхом ув'язнення його в одинарні лапки: char C1 = 'A'. Подвійні лапки означають рядковий літерал, який не може бути присвоєний char-змінної, навіть якщо рядок складається тільки з одного символу. Це неприпустимо, так як посилання примітивної змінної не присвоюється. Всі рядкові літерали є об'єктами класу String і, отже, посиланнями, тоді як символьні відносяться до примітивного типу. Текст, виражений управляє послідовністю, записується у вигляді риски з символом в одиночних лапках. Всього їх 8: 'n', 'r', 'f', 'b', 't', '', '"', '". Керуюча юнікод-послідовність має вигляд 'uxxxx', де u (зворотний слеш, за яким слід рядкова u) позначає її початок, а хххх являє рівно чотири шістнадцяткові цифри коду символу в системі Юнікод. Наприклад, 'A' має значення 65 в десятковій системі і 41 в шістнадцятковій. Таким чином, цей символ може бути представлений як 'u0041'. Вісімкова керуюча послідовність записується у вигляді 'nnn', де n – вісімкова цифра (0-7). Діапазон значень – від ' 00' до '377', де 377 8 відповідає 255 10 . Тому вона використовується для представлення символів з кодами від 0 до 255 необхідного для сумісності з іншими мовами програмування. На відміну від юнікод-послідовності, де необхідні всі чотири шістнадцяткові цифри, тут можна використовувати 1 2 або 3 вісімкові: 'n', 'nn' або 'nnn'. float f1 = 325 F; float f2 = 32.5 E-1F; float f3= 0325 E + 1F. Тип визначає два нулі: +0.0 F (або 0.0 F) і -0.0 F. Однак для цілей порівняння обидва нуля вважаються рівними. Крім того, їм визначено два види нескінченності: позитивна і негативна. Результати деяких операцій (наприклад, ділення 0.0 F 0.0 F) не визначені і представлені спеціальним значенням NaN.
Які бувають типи даних в Java?
Мова програмування містить деякі наперед визначені вбудовані типи і дозволяє програмістам визначати свої власні користувальницькі. В Java типи даних діляться на примітивні і смітники. «Примітивний» означає, що подальший його поділ неможливо. Розширювати або змінювати його мова програмування не дозволяє. Такий тип даних описується примітивними та іншими користувацькими типами.Змінна примітивного типу містить значення, а посилальна – адреса об'єкта в пам'яті.
Мова Java. Типи даних: час і дата
Складові дані діляться на класи, інтерфейси і масиви. Членами інтерфейсного типу є абстрактні методи і константи. В мові Java типи даних дата і час задаються конструктором Date():Мова Java. Типи даних: String
Рядок являє собою клас, визначений у бібліотеці Java, і він може бути використаний для роботи з текстом (послідовністю символів). Оголошення посилальної String-змінної наступне: String str. Перед тим як присвоїти посилання на об'єкт такої змінної, необхідно створити його за допомогою оператора new. Наприклад, можна створити об'єкт класу String з текстом «Привіт»:Посилальні типи даних Java також дозволяють присвоїти посилання на об'єкт, що зберігається в однієї змінної, інший. Обидві вони посилаються на один і той же об'єкт в пам'яті. Це може бути досягнуто наступним чином:
Int
Int являє собою 32-розрядний знаковий примітивний тип даних. Змінна займає 32 біта пам'яті. Припустимий діапазон – від -2147483 648 до 2147483 647 (-2 31 до 2 31 - 1). Всі цілі числа в цьому діапазоні є цілочисельними літерали або константами. Наприклад, 10 -200030 19 є текстовими значеннями int. Їх можна присвоїти змінній int:Long
Це 64-розрядний знаковий примітивний тип. Використовується, коли результат обчислень може перевищувати діапазон int. Діапазон long – від -2 63 до 2 63 - 1. Всі цілі числа цього діапазону є текстовими значеннями довгого типу. Щоб відрізняти в мові Java типи даних int і long, текст останнього типу завжди закінчується L або l. Цілі літерали довгого типу також можуть бути виражені у вісімковому, шістнадцятковому і двійковому форматі. Коли long-літерал присвоюється змінній long, компілятор Java перевіряє привласнюється значення і засвідчується, що воно перебуває в прийнятному діапазоні; в іншому разі станеться помилка компіляції. Оскільки діапазон int менше, ніж у long, значення int-змінної завжди може бути присвоєно змінній типу long. Але зворотне присвоєння неможливо навіть в межах діапазону int. Для цього використовується вказівка:Byte
Byte являє собою 8-розрядний цілий примітивний тип. Його діапазон - від -128 до 127 (-2 7 до 2 7 - 1). Це найменший цілий тип, наявний в Java. Як правило, байтові змінні використовуються, коли в програмі задіяно багато значень в діапазоні від -128 до 127 або при роботі з бінарними даними. На відміну від літералів int і long, byte-літерали відсутні. Тим не менше можна призначити byte-змінної будь-int-літерал, так як він перекриває діапазон байта.Якщо значення змінної виходить за межі діапазону, Java компілятор видасть помилку. Крім того, можна призначити тільки int-літерал, але не значення, що зберігається в змінної int, так як при цьому можлива втрата точності. Для цього потрібно явне приведення типу.
Short
Являє собою 16-розрядний знаковий цілий примітивний тип даних. Його діапазон – від -32768 до 32767 (або -2 15 до 2 15 - 1). Як правило, необхідність в коротких змінних виникає, коли програма використовує велику кількість значень, які не перевищують вказаний діапазон. Short-літерал відсутня, але можливо присвоєння будь-якого літерала int в межах діапазону short. Значення byte-змінної може бути присвоєно завжди. Інші правила присвоєння int або long short-змінної такі ж, як для byte.Char
Char є 16-розрядним беззнаковим примітивним типом даних, який представляє символ Юнікоду. Відсутність знака означає, що змінна не може мати від'ємне значення. Діапазон – від 0 до 65535 що збігається з кодуванням набору символів Юнікоду. Текст являє значення char і може бути виражений у таких формах:Логічний тип
Boolean має тільки два дійсних значень: true (істина) і false (неправда). Вони називаються булевими операторами літерали. Логічна змінна не може бути приведена до іншого типу і навпаки. Java не визначає розмір boolean – він залежить від конкретної реалізації віртуальної Java - машини.Типи даних Java з плаваючою точкою
Число, яке містить дріб, у пам'яті комп'ютера може зберігатися у форматі з фіксованою кількістю цифр до і після точки або із зазначенням її положення. Так як кількість цифр може змінюватися, то говорять, що точка «плаває». В мові Java типи даних з плаваючою точкою використовують 32 біта. Відповідно до стандарту IEEE 754 це відповідає одинарної точності, яка дозволяє представляти, наприклад, числа 14 х 10 -45 і 34 х 10 38 , причому як позитивні, так і негативні. Всі дійсні числа, які закінчуються на-f або F, називаються float-літерали. Вони можуть бути представлені у форматі десяткового числа у вигляді науковій нотації. Наприклад:Подвійна точність
Для зберігання чисел з плаваючою точкою double використовує 64 біта. Число подвійної точності може представляти позитивні і негативні значення величиною 49 х 10 -324 і 17 х 10 308 . Всі дійсні числа за замовчуванням є подвійними літерали. За бажанням можуть явно позначатися суфіксом d або D, наприклад, 1927 d. Подвійний текст може бути виражений в десятковій формі і в науковій нотації.Схожі добрі поради по темі
«Fallout 4: Людський фактор». Проходження квесту
Можливість вершити долі інших – небезпечна влада. Адже будь-яке неправильне рішення може призвести до серйозних наслідків. А буває і так, що
БД - це Види і властивості БД
БД - це абревіатура, расшифровывающаяся як "база даних", або "бази даних" (залежно від контексту). У цій статті розглянемо, що вона/вони собою
Структура програми на мові Паскаль: програмування для початківців
Найбільш доступною мовою програмування для початківців є Pascal. Це пов'язане хоча б з тим, що він вивчається в старших класах загальноосвітніх шкіл,
Класифікація мов програмування та їх розвиток
Що таке мова програмування? Це сукупність символів для написання вихідного коду для ЕОМ. З поширенням інформаційних технологій відбувалося і розвиток
Як видалити Java: інструкція
У цій статті ми розглянемо проблему повного видалення елементів Java з нашого персонального комп'ютера.
Типи даних в програмуванні та їх особливості
В будь-якій програмі використовуються показники, які умовно можна розділити на дві великі групи: змінні та константи. Перші в ході виконання