Різниця між int та long
Зміст
Типи даних int і long є двома цілими типами даних, описаними на Java. У Java підписані типи int та long, значення + ve та -ve. Java не підтримує неподписані типи int та long. Принципова різниця між типом int та long data - ширина кожного типу. Тип даних int має ширину 32-розрядної для змінної типу int. З іншого боку, тип даних long має ширину 64 біт для змінної довгого типу. Таблиця порівняння нижче показує деякі інші відмінності між int і long.
- Порівняльна діаграма
- Визначення
- Ключові відмінності
- Висновок
Порівняльна діаграма
Основа для порівняння | int | довго |
---|---|---|
Основні | Тип даних int має 32 біти. | Тип даних довгий - 64 біт. |
Байти | Якщо рахувати в байтах, то int - 4 байти. | Якщо рахувати в байтах, довга - 8 байт. |
Дальність | У Java діапазон типу int становить від –2,147,483,648 до 2,147,483,647. | У Java діапазон типів довгий –9,223,372,036,854,775,808 до 9,223,372,036,854,775,807 |
Ключове слово | Ключове слово, яке використовується для оголошення змінної типу int, є "int". | Ключове слово, яке використовується для оголошення змінної long type, є "long". |
Пам'ять | Пам'ять, необхідна для зберігання змінної int, менша порівняно з довгою. | Пам'ять, необхідна для зберігання довгої змінної, більша порівняно з int. |
Визначення типу int
Тип даних int - це найчастіше використовується тип даних, який містить у собі ціле значення. Значення, яке може містити змінна int, не надто коротке і не занадто довге. Як правило, значення змінної int використовується у вигляді змінної циклу, яка керує циклом, або використовується як змінної індексу масиву. Байт і короткий тип даних мають менший діапазон у порівнянні з типом даних int, але вони не можуть замінити int, навіть якщо значення змінної int є меншим діапазоном. Причина цього полягає в тому, що коли ми використовуємо байт типу даних і короткий у виразі, тоді, коли оцінюємо це вираження, компілятор сприяє байтовому типу і короткому типу даних. Отже, з цього можна сказати, що краще використовувати int там, де потрібно ціле число.
Давайте подивимось на використання типу даних int.
байт a = 70; байт b = 80; int c = a * b; // відсутня помилка. байт d = a + 10; // Помилка часу компіляції.
Як видно з вищевказаного коду, дві байтові змінні a і b, що містять значення 70 і 80, є дійсним значенням байтового діапазону. Але, проміжний результат a * b; перевищує межу байта. Отже, компілятор автоматично просуває байтові, короткі та змінні char вводити int, якщо вони використовуються в виразі. Тепер ви можете бачити, що результат * b присвоюється змінній int, яка не викликає помилок і збирається плавно, оскільки змінні a і b пересуваються до типу int та присвоєння типу int типу int doesn ' t викликати помилку.
В останньому рядку коду ви бачите вираз, де значення 10 додається до байтової змінної "a", її результат все ще не перевищував межу байта. Але присвоєння проміжного результату виразу "a + 10" байтовій змінній "d" викликає помилку часу компіляції, оскільки в той час, як байт змінної байту "a" вираження пересувається до типу int. І присвоєння типу int типу байту заборонено. Отже, це викликає помилку часу компіляції.
Визначення довгого типу
Тип даних long має найбільший діапазон і ширину порівняно з типами байтів, коротких та int. У Java типом long є 64-бітний цілочисельний підписаний тип. Тип long використовується, коли тип int не такий великий, щоб утримувати потрібне значення. Діапазон довгих - від 9,223,372,036,854,775,808 до 9,223,372,036,854,775,807, який досить великий, щоб утримувати великі значення, як великі цілі числа. Ми можемо зрозуміти тип довго на прикладі нижче.
вага класу {public static void main (String args) {int item; int wt_per_item; довгі грами; довга коробка; предмет = 10000000; // вкажіть кількість елементів wt_per_item = 10000; // вказати вагу одного предмета в кілограмах грам = wt_item * 1000; // перетворити вагу в грам Box = предмет * грам; // обчислити вагу коробки в грамах System.out.ln ("Кількість елемента" + пункт); System.out.ln ("Вага на предмет" + wt_per_item + "кілограми"); System.out.ln ("Вага коробки в грамі" + Коробка + "кілограми"); }} Кількість предмета 10000000 Вага на предмет 10000 кілограмів Вага ящика в грамі 100000000000000 кіло
Дотримуйтесь вихід у наведеному вище коді; результат обчислюється для ваги всієї коробки, що містить коробку, що містить 10000000 предметів, з яких на предмет важить 10000 кілограмів. Обчислене значення ваги коробки в грамах не може утримуватися змінною int. Отже, іноді виникає необхідність використовувати довгий тип, коли великі значення потрібно обчислити або утримати.
- Основна різниця між типом int і long - їх ширина, де int - 32 біт, а long - 64 біт.
- Типи int і long, коли рахуються в байтах замість бітів, тип int становить 4 байти, а тип long - лише два рази, якщо тип int, тобто 8 байт.
- У Java діапазон типу int становить від –2,147,483,648 до 2,147,483,647, тоді як діапазон типу довгий від –9,223,372,036,854,775,808 до 9,223,372,036,854,775,807, що набагато більше, ніж тип int.
- Ключове слово, яке використовується для оголошення змінної типу int, є "int". З іншого боку, ключове слово, яке використовується для оголошення змінної типу long, є "long".
- Як правило, пам'ять, необхідна для утримання значення типу int, менша порівняно з довгою.
Висновок:
Під час написання коду, якщо є потреба в середньому значенні діапазону, ви можете використовувати тип int, але коли результат, отриманий будь-яким виразом, буде більшим, або для обчислення використовуються більші значення, тоді для утримання повинна використовуватися велика змінна величина значення.