Odporúčaná, 2020

Redakcia Choice

Rozdiel medzi int a dlhým

Dátové typy int a long sú medzi dvoma celočíselnými dátovými typmi opísanými v jazyku Java. V jazyku Java sú podpísané typy int a long, hodnota + ve a -ve. Java nepodporuje nepodpísané int a dlhé typy. Základným rozdielom medzi int a dlhým typom údajov je šírka každého typu. Datový typ int má šírku 32 bitov pre premennú typu int. Na druhej strane má dátový typ dlhú šírku 64 bitov pre premennú dlhého typu. Porovnávacia tabuľka nižšie zobrazuje niektoré ďalšie rozdiely medzi int a dlhou.

Porovnávacia tabuľka

Základ pre porovnanieintdlho
základnéDatový typ int je 32 bitov.Dátový typ je dlhý 64 bitov.
bajtovAk sa počíta v bajtoch, int je 4 bajty.Ak sa počíta v bajtoch, dlhá je 8 bajtov.
rozsahV jazyku Java je rozsah typu int -2147483, 648 až 2, 147, 483, 647.V jazyku Java je rozsah typu dlhý
9, 223, 372, 036, 854, 775, 808 až 9, 223, 372, 036, 854, 775, 807.
kľúčovéKľúčové slovo používané na deklarovanie premennej typu int je "int".Kľúčové slovo používané na deklarovanie premennej dlhého typu je "dlhé".
PamäťPamäť potrebná na uloženie int premennej je menšia v porovnaní s dlhou.Pamäť potrebná na uloženie dlhej premennej je väčšia v porovnaní s int.

Definícia typu int

Typ údajov int je najbežnejšie používaný dátový typ, ktorý v sebe obsahuje celú hodnotu. Hodnota, ktorú môže mať premenná int, nie je príliš krátka a nie príliš dlhá. Vo všeobecnosti sa hodnota int premennej používa ako premenná slučky, ktorá riadi slučku, alebo sa používa ako indexová premenná poľa. Bajt a krátky údajový typ majú kratší rozsah v porovnaní s dátovým typom int, ale nemôžu nahradiť int, aj keď hodnota int premennej má kratší rozsah. Dôvodom je to, že keď používame bajt dátového typu a krátky výraz, potom pri vyhodnocovaní tohto výrazu bajtov a krátkych typov dát propaguje kompilátor int. Takže z toho možno povedať, že je lepšie používať int všade tam, kde je celé číslo potrebné.
Poďme sa pozrieť na použitie int datového typu.

 bajt a = 70; bajt b = 80; int c = a * b; // bez chyby. bajt d = a + 10; // Chyba času kompilácie. 

Ako môžete vidieť vo vyššie uvedenom kóde, dve bajtové premenné a a b obsahujúce hodnotu 70 a 80, ktorá je platnou hodnotou bajtov. Ale medziprodukt výsledku * b; prekročí limit bajtu. Z tohto dôvodu kompilátor automaticky podporuje bajt, krátke a char premenné na typ int, ak sú použité vo výraze. Teraz môžete vidieť, že výsledok * b je priradený int premennej, ktorá nespôsobuje žiadne chyby a kompiluje hladko, pretože premenné a a b sú povýšené na typ int a priradenie typu int do typu int doesn ' t spôsobiť chybu.

V poslednom riadku kódu môžete vidieť výraz, pri ktorom sa hodnota 10 pridáva k bajtovej premennej "a", jej výsledok ešte neprekročil limit bajtu. Priradenie prechodného výsledku výrazu "a + 10" k bajtovej premennej "d" spôsobuje chybu v kompilácii času, pretože zatiaľ čo premenná výrazu "a" je presunutá na typ int. A priradenie typu int k typovému bajtu nie je povolené. Preto spôsobuje chybu kompilácie.

Definícia dlhého typu

Dátový typ má dlhý rozsah a šírku v porovnaní s typmi bajtov, krátkych a int. V jazyku Java je dlhý typ 64-bitový typ s celočíselným označením. Typ dlhý sa používa tam, kde typ int nie je taký veľký, aby držal požadovanú hodnotu. Rozsah dlhých hodnôt je -9, 223, 372, 036, 854, 775, 808 až 9, 223, 372, 036, 854, 775, 807, ktorý je pomerne veľký na to, aby držal väčšie hodnoty ako veľké celé čísla. Dlhý typ môžeme pochopiť pomocou príkladu nižšie.

 trieda hmotnosť {public static void main (reťazec args []) {int item; int wt_per_item; dlhé gramy; long Box; položka = 10000000; // zadajte číslo položky wt_per_item = 10000; // uveďte hmotnosť jednej položky v kilogramoch gramov = wt_item * 1000; // premeniť hmotnosť na gram Box = položka * gramy; // vypočítať hmotnosť škatule v gramoch System.out.println ("Číslo položky" + položka); System.out.println ("Hmotnosť na položku" + wt_per_item + "kilogramy"); System.out.println ("Hmotnosť škatule v gramoch" + Box + "kilogramy"); }} Číslo položky 10000000 Hmotnosť na kus 10000 kg Hmotnosť škatule v gramoch 100000000000000 kg 

Dodržujte výstup vo vyššie uvedenom kóde; výsledok vypočítaný pre hmotnosť celej škatule obsahujúcej krabicu obsahujúcu 100 000 000 položiek, z čoho každá položka váži 10000 kg. Vypočítaná hodnota pre hmotnosť škatule v gramoch nemôže byť zadaná int premennou. Preto niekedy je potrebné používať dlhý typ, keď sa majú vypočítať alebo držať veľké hodnoty.

Kľúčové rozdiely medzi int a dlho

  1. Základný rozdiel medzi typom int a dlhým je ich šírka, kde int je 32 bitov a dlhý je 64 bitov.
  2. Typy int a dlhé, keď sa počítajú v bajtoch namiesto bitov, typ int je 4 bajty a typ dlhý je len dvakrát, ak typ int je 8 bajtov.
  3. V jazyku Java je rozsah typu int od -2, 147, 483, 648 do 2, 147, 483, 647, zatiaľ čo rozsah typu dlhý je od -9, 223, 372, 036, 854, 775, 808 až 9, 223, 372, 036, 854, 775, 807, ktorý je oveľa väčší ako typ int.
  4. Kľúčové slovo používané na deklarovanie premennej typu int je "int". Na druhej strane kľúčové slovo používané na deklarovanie premennej typu dlhé je "dlhé".
  5. Vo všeobecnosti je pamäť potrebná na zadržanie hodnoty typu int menšia v porovnaní s dlhou.

záver:

Pri písaní kódu, ak je potrebná hodnota stredného rozsahu, môžete použiť typ int, ale ak je výstup vytvorený akýmkoľvek výrazom väčší alebo ak sa na výpočet používajú väčšie hodnoty, dlhá premenná typu musí byť použitá na držanie hodnoty.

Top