Препоръчано, 2024

Избор На Редактора

Разлика между int и long

Типовете данни int и long са сред двата типа целочислени данни, описани в Java. В Java, типовете int и long са подписани, + ve и -ve стойности. Java не поддържа неподписани int и дълги типове. Основната разлика между тип int и long данни е ширината на всеки тип. В datatype int има ширина от 32-битова за променливата от тип int. От друга страна, типът данни има дължина от 64-бита за променливата от дълъг тип. Сравнителната таблица по-долу показва някои други разлики между int и long.

Сравнителна таблица

Основа за сравнениеинтдълго
ОсновенТипът данни int е от 32-бита.Типът данни е дълъг от 64-бита.
BytesАко се броят в байтове, int е 4 байта.Ако се брои в байтове, дължината е 8 байта.
диапазонВ Java диапазонът от тип int е –2, 147, 483, 648 to 2, 147, 483, 647.В Java диапазонът от тип long е
–9, 223, 372, 036, 854, 775, 808 към 9, 223, 372, 036, 854, 775, 807.
Ключова думаКлючовата дума, използвана за деклариране на променлива от тип int, е "int".Ключовата дума, използвана за деклариране на променлива от дълъг тип, е "long".
паметПаметта, необходима за съхраняване на променлива int е по-малка в сравнение с дългата.Паметта, необходима за съхраняване на дълга променлива е по-голяма в сравнение с 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 '. причините грешката.

В последния ред на кода можете да видите израз, където стойността 10 се добавя към байт променлива 'a' резултатът му все още не надвишава лимита на байта. Но, присвояването на междинния резултат на израз "a + 10" на байт променливата "d", причинява грешка по време на компилация, защото докато променливата за оценка на байта 'a' се популяризира до типа int. Присвояването на тип int към тип байт не е позволено. Следователно, това води до грешка във времето за компилация.

Дефиниция на дълъг тип

Типът данни е с най-голям обхват и ширина в сравнение с байта, късите и int типовете. В Java, типът дълъг е 64-битово означен тип цяло число. Тип long се използва, когато тип int не е толкова голям, че да държи желаната стойност. Диапазонът на дългите е -9, 223, 372, 036, 854, 775, 808 до 9, 223, 372, 036, 854, 775, 807, което е доста голямо, за да държи по-големите стойности като големите цели числа. Можем да разберем типа дълго с пример по-долу.

 class weight {публичен статичен void main (String args []) {int елемент; int wt_per_item; дълги грама; дълга кутия; позиция = 10000000; // посочва номера на елементите wt_per_item = 10000; // посочва теглото на един елемент в килограми грама = wt_item * 1000; // конвертиране на теглото в грам Box = item * grams; // изчислява се теглото на кутията в грамове System.out.println ("брой позиции" + елемент); System.out.println ("Тегло на елемент" + wt_per_item + "килограми"); System.out.println ("Тегло на кутията в грам" + Кутия + "килограми"); }} Брой артикули 10000000 Тегло на артикул 10000 кг Тегло на кутия в грам 100000000000000 кг 

Наблюдавайте изхода в горния код; резултатът, изчислен за теглото на цялата кутия, съдържаща кутия, съдържаща 10000000 артикула, от които на единица тегло 10000 килограма. Изчислената стойност за теглото на кутията в грамове не може да се държи от променлива int. Следователно понякога става необходимо да се използва дълъг тип, когато се изчисляват или задържат големи стойности.

Ключови разлики между int и long

  1. Основната разлика между типа int и long е тяхната ширина, където int е 32 бита, а long е 64 бита.
  2. Типовете int и long, когато се броят в байтове вместо битове, тип int е 4 байта, а типът long е само два пъти, ако тип int е 8 байта.
  3. В Java диапазонът от тип int е от –2, 147, 483, 648 до 2, 147, 483, 647, докато диапазонът от тип long е от –9, 223, 372, 036, 854, 775, 808 до 9, 223, 372, 036, 854, 775, 807, който е много по-голям от тип int.
  4. Ключовата дума, използвана за деклариране на променлива от тип int е “int”. От друга страна, ключовата дума, използвана за деклариране на променлива от тип long, е "long".
  5. Като цяло, паметта, необходима за задържане на стойността на тип int е по-малка в сравнение с дългата.

Заключение:

Докато пишете код, ако има нужда от стойност на средния обхват, тогава можете да използвате типа int, но когато изходът, произведен от който и да е израз, е по-голям или по-големите стойности се използват за изчисление, тогава променливата за дълъг тип трябва да се използва за задържане стойностите.

Top