Рекомендуем, 2024

Выбор редакции

Разница между int и long

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

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

Основа для сравненияИНТдолго
основнойТип данных int имеет 32 бита.Тип данных long 64-битный.
БЕсли считать в байтах, int составляет 4 байта.Если считать в байтах, long составляет 8 байтов.
СпектрВ Java диапазон типа int составляет от –2 147 483 648 до 2 147 483 647.В Java диапазон типа long
–9, 223, 372, 036, 854, 775, 808 до 9, 223, 372, 036, 854, 775, 807.
Ключевое словоКлючевое слово, используемое для объявления переменной типа int, является "int".Ключевое слово, используемое для объявления переменной типа long - это long.
объем памятиПамять, необходимая для хранения переменной типа int, меньше, чем long.Память, необходимая для хранения длинной переменной, больше по сравнению с int.

Определение типа int

Тип данных int - это наиболее часто используемый тип данных, в котором содержится целочисленное значение. Значение, которое может содержать переменная int, не слишком короткое и не слишком длинное. Как правило, значение переменной int используется в качестве переменной цикла, которая управляет циклом, или в качестве индексной переменной массива. Тип данных byte и short имеют более короткий диапазон по сравнению с типом данных int, но они не могут заменить int, даже если значение переменной int имеет более короткий диапазон. Причина этого заключается в том, что когда мы используем тип данных byte и short в выражении, то при оценке этого выражения компилятор переводит тип байта и short в int. Итак, из этого можно сказать, что лучше использовать int там, где необходимо целое число.
Давайте посмотрим на использование типа данных int.

 байт а = 70; байт b = 80; int c = a * b; //Нет ошибок. байт d = a + 10; // Ошибка времени компиляции. 

Как вы можете видеть в приведенном выше коде, две байтовые переменные a и b содержат значения 70 и 80, которые являются допустимыми байтовыми значениями. Но, промежуточный результат a * b; превышает предел байта. Следовательно, компилятор автоматически переводит переменные byte, short и char в тип int, если они используются в выражении. Теперь вы можете видеть, что результат a * b присваивается переменной int, которая не вызывает каких-либо ошибок и плавно компилируется, поскольку переменные a и b переводятся в тип int, а присваивание типа int типу int didn ' вызвать ошибку.

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

Определение длинного типа

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

 class weight {public static void main (String args []) {int item; 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. Следовательно, иногда становится необходимым использовать тип long, когда большие значения должны быть вычислены или сохранены.

Ключевые различия между 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, меньше, чем long.

Заключение:

При написании кода, если есть необходимость в значении среднего диапазона, вы можете использовать тип int, но когда вывод, произведенный любым выражением, будет больше или большие значения будут использоваться для вычисления, тогда переменная длинного типа должна использоваться для хранения ценности.

Top