Rozdíl mezi int a long

Autor: Laura McKinney
Datum Vytvoření: 1 Duben 2021
Datum Aktualizace: 10 Smět 2024
Anonim
Rozdíl mezi int a long - Technologie
Rozdíl mezi int a long - Technologie

Obsah


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

  1. Srovnávací tabulka
  2. Definice
  3. Klíčové rozdíly
  4. Závěr

Srovnávací tabulka

Základ pro srovnáníint dlouho
ZákladníDatový typ int má 32 bitů.Datový typ je dlouhý 64 bitů.
BytyPokud je počítáno v bajtech, int je 4 bajty.Pokud je počítán v bajtech, dlouhý je 8 bajtů.
RozsahV Javě je rozsah typu int –2 147 483 648 až 2 147 483 647.V Javě je řada typů 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é typu long je „long“.
PaměťPaměť potřebná k uložení proměnné int je menší ve srovnání s dlouhou.Paměť potřebná k uložení dlouhé proměnné je ve srovnání s int větší.


Definice typu int

Datový typ int je nejčastěji používaný datový typ, který v něm obsahuje celočíselnou hodnotu. Hodnota, kterou může proměnná int obsahovat, není příliš krátká a 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 indexová proměnná pole. Bajt datového typu a krátký mají kratší rozsah ve srovnání s datovým typem int, ale nemohou nahradit int, i když hodnota proměnné int je kratšího rozsahu. Důvodem je to, že když používáme datový typ byte a short ve výrazu, pak při vyhodnocení tohoto výrazu jsou datový typ byte a short podporovány kompilátorem int. Z toho lze říci, že je lepší používat int, kdekoli je potřeba celé číslo.
Pojďme se podívat na použití datového typu int.


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

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

Na posledním řádku kódu je zobrazen výraz, ve kterém je hodnota 10 přidána do bajtové proměnné „a“, její výsledek stále nepřekročil hranici 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 zatímco bajtová proměnná „a“ pro vyhodnocení výrazu je povýšena na typ int. A přiřazení typu int k typu byte není povoleno. Proto způsobuje chybu kompilace času.

Definice dlouhého typu

Datový typ long má největší rozsah a šířku ve srovnání s typy byte, short a int. V Javě je typ dlouhý 64bitové celé číslo se znaménkem. Typ long se používá tam, kde typ int není tak velký, aby udržel požadovanou hodnotu. Rozsah dlouhých hodnot je –9 223 372 036 854 775 808 až 9 223 372 036 854 775 807, což je poměrně velké, aby bylo možné držet větší hodnoty jako velká celá čísla. Můžeme pochopit typ dlouho s příkladem níže.

hmotnost třídy {public static void main (String args) {int item; int wt_per_item; dlouhé gramy; dlouhý box; item = 10000000; // uveďte číselné položky wt_per_item = 10000; // uveďte hmotnost jedné položky v kilogramech gramů = wt_item * 1000; // převést hmotnost na gram Box = položka * gramy; // vypočítat hmotnost krabice v gramech System.out.ln ("Číslo položky" + položka); System.out.ln ("Hmotnost na položku" + wt_per_item + "kilogramy"); System.out.ln ("Hmotnost krabičky v gramech" + Box + "kilogramy"); }} Počet kusů 10000000 Hmotnost na kus 10000 kilogramů Hmotnost krabičky v gramech 100000000000000 kilogramů

Sledujte výstup ve výše uvedeném kódu; výsledek se vypočítá pro hmotnost celé krabice obsahující krabici obsahující 10000000 položek, z toho na položku váží 10 000 kilogramů. Vypočítaná hodnota hmotnosti pole v gramech nemůže být držena proměnnou int. Proto je někdy nutné použít dlouhý typ, pokud mají být vypočteny nebo drženy velké hodnoty.

  1. Základní rozdíl mezi typem int a long je jejich šířka, kde int je 32 bitů a dlouhý je 64 bitů.
  2. Typy int a long, pokud se počítají v bajtech namísto bitů, typ int je 4 bajty a typ long je jen dvakrát, pokud type int tj. 8 bytes.
  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ětší 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é k deklarování proměnné typu long je „long“.
  5. Obecně je paměť potřebná k udržení hodnoty typu int menší než ve srovnání s dlouhou.

Závěr:

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