Doporučená, 2024

Redakce Choice

Rozdíl mezi int a long

Datové typy int a long patří mezi dva celočíselné typy dat popsané v jazyce Java. V jazyce Java jsou podepsány typy int a long, hodnoty + ve a -ve. Java nepodporuje nepodepsané int a dlouhé typy. Základní rozdíl mezi typem int a long je šířka každého typu. Datový typ int má šířku 32 bitů pro proměnnou typu int. Na druhé straně, typ dat dlouhý má šířku 64-bit pro proměnnou dlouhého typu. Níže uvedená srovnávací tabulka ukazuje některé další rozdíly mezi int a long.

Srovnávací graf

Základ pro porovnáníintdlouho
ZákladníDatový typ int je 32 bitů.Datový typ je dlouhý 64 bitů.
BytůPokud je počítáno v bytech, int je 4 bajty.Pokud je počítáno v bytech, dlouhá je 8 bajtů.
RozsahV jazyce Java je rozsah typu int –2, 147, 483, 648 až 2, 147, 483, 647.V Javě je rozsah typu dlouhý
–9, 223, 372, 036, 854, 775, 808 až 9, 223, 372, 036, 854, 775, 807.
Klíčové slovoKlíčové slovo použité k deklaraci proměnné typu int je "int".Klíčové slovo použité k deklaraci proměnné dlouhého typu je "dlouhé".
PaměťPaměť potřebná k uložení proměnné int je menší než dlouhá.Paměť potřebná k uložení dlouhé proměnné je ve srovnání s int.

Definice typu int

Datový typ int je nejčastěji používaným typem dat, který v něm uchovává celočíselnou hodnotu. Hodnota, kterou může proměnná int pojmout, není příliš krátká a není příliš dlouhá. Obecně se hodnota proměnné int používá jako proměnná smyčky, která řídí smyčku, nebo se používá jako proměnná indexu pole. Datový typ byte a short mají kratší rozsah ve srovnání s datovým typem int, ale nemohou nahradit int, i když je hodnota proměnné int kratší. Důvodem je to, že když používáme datový typ byte a short ve výrazu, pak při vyhodnocování tohoto výrazu je bajt datového typu a krátký podporován překladačem na int. Takže z toho lze říci, že je lepší použít int tam, kde je potřeba celé číslo.
Podívejme se na použití datového typu int.

 byte a = 70; bajt b = 80; int c = a * b; // žádná chyba. bajt d = a + 10; // Chyba časování kompilace. 

Jak můžete pozorovat ve výše uvedeném kódu, dvě bajtové proměnné a a b obsahující hodnotu 70 a 80, která je platná hodnota bajtového rozsahu. Mezilehlý výsledek a * b; překračuje limit bajtu. Proto kompilátor automaticky podporuje bajt, krátké a char proměnné na typ int, pokud jsou použity ve výrazu. Nyní můžete vidět, že výsledek a * b je přiřazen proměnné int, která nezpůsobuje žádnou chybu a kompilace hladce, protože proměnné a b jsou povýšeny na typ int a přiřazení typu int na typ int doesn ' t způsobit chybu.

V posledním řádku kódu můžete vidět výraz, kde hodnota 10 je přidána k bajtové proměnné 'a' její výsledek stále nepřekročil limit bajtu. Přiřazení mezilehlého výsledku výrazu „a + 10“ k bajtové proměnné „d“ však způsobí chybu kompilace, protože proměnná bajtů pro vyhodnocení výrazu „a“ je povýšena na typ int. A přiřazení typu int na typ byte není povoleno. To způsobí chybu kompilace.

Definice dlouhého typu

Datový typ má největší rozsah a šířku ve srovnání s bajty, krátkými a typy int. V jazyce Java je typ dlouhý 64bitový typ celého čísla. Typ long se používá tam, kde typ int není tak velký, aby udržel požadovanou hodnotu. Rozsah dlouhých je –9, 223, 372, 036, 854, 775, 808 až 9, 223, 372, 036, 854, 775, 807, což je poměrně velké množství, které drží větší hodnoty jako velká celá čísla. Můžeme pochopit typ dlouhý s příkladem níže.

 class weight {public static void main (String args []) {int položka; int wt_per_item; dlouhé gramy; dlouhý box; položka = 10000000; // zadejte počet položek wt_per_item = 10000; // specifikujte hmotnost jedné položky v kilo gramech = wt_item * 1000; // převést hmotnost na gram Box = položka * gramy; // vypočítat hmotnost pole v gramech System.out.println ("Číslo položky" + položka); System.out.println ("Hmotnost na položku" + wt_per_item + "kilo"); System.out.println ("Váha krabice v gramu" + Box + "kg"); }} Číslo položky 10000000 Hmotnost na kus 10000 kg Hmotnost krabice v gramu 100000000000000 kg 

Sledujte výstup uvedený výše; výsledek vypočtený pro hmotnost celé krabice obsahující krabici obsahující 10000000 položek, z nichž na jeden kus váží 10000 kg. Vypočítaná hodnota pro hmotnost krabice v gramech nemůže být udržována proměnnou int. Proto je někdy nutné použít dlouhý typ, pokud mají být velké hodnoty počítány nebo drženy.

Klíčové rozdíly Mezi int a long

  1. Základní rozdíl mezi typem int a long je jejich šířka, kde int je 32 bitů a délka je 64 bitů.
  2. Typy int a long při počítání v bajtech namísto bitů typu int je 4 bajty a typ long je jen dvakrát, pokud typ int tj. 8 bajtů.
  3. V Javě je rozsah typu int od –2, 147, 483, 648 do 2, 147, 483, 647, zatímco rozsah typu long je od –9, 223, 372, 036, 854, 775, 808 do 9, 223, 372, 036, 854, 775, 807, což je mnohem více než typ int.
  4. Klíčové slovo použité k deklaraci proměnné typu int je „int“. Na druhé straně, klíčové slovo použité pro deklaraci proměnné typu long je „long“.
  5. Obecně je paměť potřebná k udržení hodnoty typu int menší než dlouhá.

Závěr:

Při psaní kódu, pokud je potřeba střední hodnota rozsahu, pak můžete použít typ int, ale když bude výstup produkovaný libovolným výrazem větší, nebo větší hodnoty budou použity pro výpočet, pak musí být použita proměnná typu long. hodnoty.

Top