Rozdiel medzi int a long

Autor: Laura McKinney
Dátum Stvorenia: 1 Apríl 2021
Dátum Aktualizácie: 16 Smieť 2024
Anonim
Rozdiel medzi Javou, Kotlinom, Androidom a mačkami
Video: Rozdiel medzi Javou, Kotlinom, Androidom a mačkami

Obsah


Dátové typy int a long patria medzi dva celočíselné typy údajov opísané v Java. V Java sú typy int a long podpísané, hodnoty + ve a -ve. Java nepodporuje nepodpísané int a dlhé typy. Základný rozdiel medzi int a long dátovým typom je šírka každého typu. Údajový typ int má pre premennú typu int šírku 32 bitov. Na druhej strane, dátový typ long má šírku 64-bit pre premennú long type. Porovnávacia tabuľka nižšie ukazuje niektoré ďalšie rozdiely medzi int a long.

  1. Porovnávacia tabuľka
  2. definícia
  3. Kľúčové rozdiely
  4. záver

Porovnávacia tabuľka

Základ pre porovnanieint dlho
základnéÚdajový typ int má 32 bitov.Dátový typ je dlhý 64 bitov.
bajtovAk je počítaný v bajtoch, int je 4 bajty.Ak je počítané v bajtoch, dlhé je 8 bajtov.
rozsahV jazyku Java je rozsah typu int –2 147 483 648 až 2 147 483 647.V Java je rozsah typov dlhých
–9,223,372,036,854,775,808 až 9,223,372,036,854,775,807.
kľúčovéKľúčové slovo použité na deklarovanie premennej typu int je „int“.Kľúčové slovo použité na deklarovanie premennej typu long je „dlhé“.
PamäťPamäť potrebná na uloženie premennej int je v porovnaní s dlhou menšia.Pamäť potrebná na uloženie dlhej premennej je v porovnaní s int.


Definícia typu int

Typ údajov int je najbežnejšie používaný typ údajov, ktorý v ňom obsahuje celočíselnú hodnotu. Hodnota, ktorú môže premenné int uchovávať, nie je príliš krátka a príliš dlhá. Vo všeobecnosti sa hodnota premennej int 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ď je hodnota premennej int kratšia. Dôvodom je to, že keď používame dátový typ bajt a skratku vo výraze, potom pri vyhodnotení tohto výrazu kompilátor do int intuje. Z toho vyplýva, že je lepšie používať int všade tam, kde je potrebné celé číslo.
Pozrime sa na použitie int dátového typu.

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

Ako vidíte vo vyššie uvedenom kóde, dve bajtové premenné aab obsahujú hodnotu 70 a 80, čo je platná hodnota v byte. Avšak, medzivýsledok a * b; presahuje limit bajtu. Preto kompilátor automaticky propaguje premenné bajt, krátke a char, aby napísal int, ak sa používajú vo výraze. Teraz môžete vidieť, že výsledok a * b je priradený k premennej int, ktorá nespôsobuje žiadnu chybu a zostavuje sa hladko, pretože premenné aab sú povýšené na typ int a priradenie typu int k typu int doesn ' t spôsobiť chybu.


Na poslednom riadku kódu je zobrazený výraz, v ktorom je hodnota 10 pridaná do premennej bajt ‘a its jeho výsledok stále neprekročil limit bajtu. Priradenie prechodného výsledku výrazu „a + 10“ k bajtovej premennej „d“ však spôsobuje chybu kompilácie, pretože zatiaľ čo bajtová premena vyhodnotenia výrazu „a“ je povýšená na typ int. A priradenie typu int k typu byte nie je povolené. Preto spôsobuje chybu kompilácie času.

Definícia dlhého typu

Dátový typ long má najväčší rozsah a šírku v porovnaní s typmi bajtov, krátkych a int. V Java je typ long 64-bitové celé číslo so znamienkom. Typ long sa používa tam, kde int nie je taký veľký, aby udrž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, čo je dosť veľké na udržanie väčších hodnôt, ako sú veľké celé čísla. Tento príklad dokážeme pochopiť pomocou nižšie uvedeného príkladu.

váha triedy {public static void main (String args) {int item; int wt_per_item; dlhé gramy; dlhá škatuľka; položka = 10000000; // uveďte číselné položky wt_per_item = 10000; // uveďte hmotnosť jednej položky v kilogramoch gramy = wt_item * 1000; // previesť hmotnosť na gram Box = položka * gramy; // vypočítajte hmotnosť škatule v gramoch System.out.ln ("Číslo položky" + položka); System.out.ln („Hmotnosť na položku“ + wt_per_item + „kilogramy“); System.out.ln ("Hmotnosť škatule v gramoch" + Škatuľa + "kilogramy"); }} Číslo položky 10000000 Hmotnosť na kus 10000 kilogramov Hmotnosť škatule v gramoch 100000000000000 kilogramov

Sledujte výstup vo vyššie uvedenom kóde; výsledok sa vypočíta pre hmotnosť celej škatule obsahujúcej škatuľu obsahujúcu 10000000 kusov, z čoho na kus váži 10000 kilogramov. Vypočítaná hodnota hmotnosti škatule v gramoch nemôže byť držaná pomocou premennej int. Preto niekedy je potrebné použiť dlhý typ, keď sa majú vypočítavať alebo držať veľké hodnoty.

  1. Základný rozdiel medzi typom int a long je v ich šírke, kde int je 32 bitov a long je 64 bitov.
  2. Typy int a long, keď sa počítajú v bajtoch namiesto bitov, typ int je 4 bajty a typ long je iba dvakrát, ak napíšete int, t.j. 8 bajtov.
  3. V Jave je rozsah typu int od –2 147 483 648 do 2 147 483 647, zatiaľ čo rozsah typu long je od -9 223,372,036,854,775,808 do 9,223,372,036,854,775,807, čo je oveľa väčšie ako pri type int.
  4. Kľúčové slovo použité na deklarovanie premennej typu int je „int“. Na druhej strane, kľúčové slovo použité na deklarovanie premennej typu long je „long“.
  5. Všeobecne je pamäť vyžadovaná na držanie hodnoty typu int menšia v porovnaní s dlhou.

záver:

Pri písaní kódu, ak existuje potreba stredného rozsahu hodnoty, môžete použiť typ int, ale keď bude výstup produkovaný akýmkoľvek výrazom väčší, alebo ak sa väčšie hodnoty použijú na výpočet, potom sa musí použiť dlhá typová premenná hodnoty.