Цілі типи, змінні, константи

-2 63. 2 63 -1 = -9.22337203685478 · 10 18. 9.22337203685478 · 10 18

Довге ціле число (64 бітове ціле зі знаком)

Для завдання в тексті програми чисельних літерних констант типу long, що виходять за межі діапазону чисел типу int, після написання числа слід ставити постфікси - букву L. Наприклад, 600000000000000L. Можна ставити і малу l, але її гірше видно, особливо - на роздруківках програми (можна переплутати з одиницею). В інших випадках для всіх цілочисельних типів значення вказується в звичайному вигляді, і воно вважається у яких тип int - але при присвоєнні число типу int автоматично перетвориться в значення типу long.

У класі їх можна оголошувати як без явного привласнення початкового значення, так і з зазначенням цього значення. Якщо початкове значення не вказано, величина инициализируется нульовим значенням. Якщо оголошується кілька змінних одного типу, після вказівки імені типу дозволяється перераховувати кілька змінних, в тому числі - з привласненням їм початкових значень.

Розглянемо приклади завдання змінних в класі.

Використання в виразах:

Тип char в Java, як і в C / C ++, є числовим. хоча і призначений для зберігання окремих символів. Змінної символьного типу можна присвоювати один символ, укладений в одинарні лапки, або кодує символ керуючу послідовність Unicode. Або можна привласнювати числовий код символу Unicode (номер символу в кодової таблиці):

Всі три наведені декларації змінних привласнюють змінним десяткове значення 97, відповідне латинської букви "a".

Існують різні кодові таблиці для зіставлення числах символів, які можуть бути відображені на екрані або іншому пристрої. В силу історичних причин найпоширенішою є кодова таблиця ASCII для символів латиниці, цифр і стандартних спеціальних символів. Тому в таблиці Unicode їм були дані ті ж номери, і для них коди Unicode і ASCII збігаються:

'A' має код 65, 'B' - 66, 'Z' - 90, 'a' - 97, 'z' - 122, "0" - 48, "1" - 49, "9 '- 57,

':' - 58, ';' - 59, '<' – 60, '=' – 61, '>'- 62, і так далі.

На жаль, зі змінними і значеннями символьного типу можна здійснювати всі дії, які дозволено здійснювати з цілими числами. Тому символьні значення можна додавати і віднімати, множити і ділити не тільки на "звичайні" цілі величини, але і один на одного! Тобто присвоювання з1 = 'a' * 'a' + 1000 / 'b' цілком припустимо, незважаючи на явну логічну абсурдність.

public final int MAX1 = 255;

public final int MILLENIUM = 1000;

Константами можна користуватися як змінними, доступними тільки з читання. Спроба привласнити константі значення за допомогою оператора присвоювання "=" викликає помилку компіляції.

Для того щоб імена констант були добре видно в тексті програми, їх зазвичай пишуть в верхньому регістрі (великими літерами).

Є таке правило хорошого тону: ніколи не використовуйте один і той же числове літерне значення в різних місцях програми, натомість слід задати константу і використовувати її ім'я в цих місцях. Наприклад, ми пишемо програму обробки тексту, в якій у багатьох місцях використовується літерні константа 26 - число букв в англійському алфавіті. Якщо у нас виникне завдання модифікувати її для роботи з алфавітом, в якому інше число букв (наприклад, з російським), доведеться вносити виправлення в велике число місць програми. При цьому немає ніякої гарантії, що не буде забуто будь-яка з необхідних виправлень, або випадково не буде "виправлено" на нове значення літерне вираз 26, що не має ніякого відношення до числу букв алфавіту. Оптимістам, котрі вважають, що проблема вирішується пошуком числа 26 по файлах проекту (в деяких середовищах розробки таке можливо), наведу приклад, коли це не допоможе: символ підкреслення "_" іноді (але не завжди) вважається буквою. Тому в деяких місцях програми буде фігурувати число 27, а в деяких 26. І виправлення треба буде вносити як в одні, так і в інші місця. Тому робота перестає бути суто технічною - при змінах потрібно вникати в сенс ділянки програми, і завжди є шанс помилитися.

Використання іменованих констант повністю вирішують цю проблему. Якщо ми введемо константу CHARS_COUNT = 26, то замість 27 буде записано CHARS_COUNT +1, і зміна значення CHARS_COUNT вплине правильним чином і на це місце програми. Тобто досить внести одну зміну, і гарантовано отримати правильний результат для всіх місць програми, де необхідні виправлення.

Схожі статті