Különbség az int és a hosszú között
Tartalom
Az int és a hosszú adattípusok a Java-ban leírt két egész számtípus közé tartoznak. A Java-ban az int és a long típusok vannak aláírva, + ve és -ve értékek. A Java nem támogatja az alá nem írt int és a hosszú típusokat. Az int és a hosszú adattípus közötti alapvető különbség az egyes típusok szélessége. Az int adattípus szélessége 32 bites az int típusú változó számára. Másrészt a hosszú adattípus szélessége 64 bites a hosszú típusú változó számára. Az alábbi összehasonlító táblázat néhány különbséget mutat az int és a hosszú között.
- Összehasonlító táblázat
- Meghatározás
- Főbb különbségek
- Következtetés
Összehasonlító táblázat
Az összehasonlítás alapja | int | hosszú |
---|---|---|
Alapvető | Az int adattípus 32 bites. | A hosszú adattípus 64 bit. |
bytes | Bájtokban számolva, az int 4 bájt. | Bájtokban számolva, akkor hosszú a 8 bájt. |
Hatótávolság | A Java-ban az int típus tartománya –2 147 483 648–2 147 483 647. | A Java-ban a hosszú típus tartománya –9,223,372,036,854,775,808 - 9,223,372,036,854,775,807. |
Kulcsszó | Az int típusú változó deklarálásához használt kulcsszó "int". | A hosszú típusú változó deklarálásához használt kulcsszó "hosszú". |
memória | Az int változó tárolásához szükséges memória kevesebb a hosszúhoz képest. | A hosszú változó tárolásához szükséges memória nagyobb, mint az int. |
Az int típus meghatározása
Az int adattípus a leggyakrabban használt adattípus, amely egész számot tartalmaz. Az az érték, amelyet egy int változó képes tartani, nem túl rövid és nem túl hosszú. Általában az int változó értékét használjuk hurok-változóként, amely vezérli a hurkot, vagy egy tömb index változójaként. Az adattípus bájt és a rövid rövidebb tartományban vannak, mint az int adattípus, de nem helyettesíthetik az int-et, még akkor sem, ha az int változó értéke rövidebb tartományba tartozik. Ennek oka az, hogy ha egy kifejezésben adattípusú és rövid kifejezést használunk, akkor a kifejezés értékelésekor az összetett fordító elősegíti az adattípus bájtot és a rövidt. Tehát ebből elmondható, hogy jobb az int használata, ahol egész számra van szükség.
Vessen egy pillantást az int adattípus használatára.
bájt a = 70; bájt = 80; int c = a * b; // nincs hiba. d byte = a + 10; // Összeállítási időhiba.
Amint az a fenti kódban megfigyelhető, a két, a és b bájtváltozó 70 és 80 értéket tartalmaz, amely érvényes byte-tartományban van. De a * b közbenső eredménye; meghaladja a bájt korlátját. Ezért a fordító automatikusan elősegíti a byte, a short és a char változókat az int beírásához, ha kifejezésben használják őket. Most láthatja, hogy egy * b eredményét hozzárendelik egy int változóhoz, amely nem okoz hibát, és zökkenőmentesen áll össze, mert az a és b változókat előmozdítják az int típushoz, és az int típus hozzárendelését az int típushoz nem ' t okozzák a hibát.
A kód utolsó sorában egy kifejezést láthat, ahol a 10-es értéket hozzáadják az 'a' bájtváltozóhoz, annak eredménye még mindig nem haladta meg a bájt korlátját. Az „a + 10” kifejezés közbenső eredményének a „d” bájtváltozóhoz való hozzárendelése azonban fordítási időbeli hibát okoz, mivel míg az „a” kifejezés értékelési bájtváltozóját az int típus támogatja. És az int típus hozzárendelése a típus byte-hoz nem engedélyezett. Ezért fordítási idő hibát okoz.
A hosszú típus meghatározása
A hosszú adattípus a legnagyobb tartomány és szélességű a bájt, a rövid és az int típushoz képest. A Java-ban a hosszú típus 64 bites aláírt egész szám. A hosszútípust akkor használják, ahol az int típus nem olyan nagy a kívánt érték megtartásához. A hosszú tartomány –9,223,372,036,854,775,808 és 9,223,372,036,854,775,807 között van, ami elég nagy ahhoz, hogy megtartsa a nagyobb értékeket, mint például a nagy egész számok. Az alábbiakban példával megérthetjük a típust.
osztály súlya {nyilvános statikus void main (karakterláncok) {int elem; int wt_per_item; hosszú gramm; hosszú doboz; tétel = 10000000; // adja meg a tételeket wt_per_item = 10000; // adja meg az elem tömegét kilogrammban grammban = wt_item * 1000; // tömeg konvertálása grammba Box = elem * gramm; // a doboz súlyának kiszámítása grammban System.out.ln ("Cikk száma" + elem); System.out.ln ("Egy tétel tömege" + wt_per_item + "kiló"); System.out.ln ("A doboz súlya grammban" + Doboz + "kiló"); }} Cikkszám 10000000 Tétel / tétel tömeg 10000 kiló Doboz súlya grammban 100000000000000 kiló
Vegye figyelembe a fenti kódot; az eredmény a teljes doboz tömegére kiszámítva, amelyben 10000000 darab dobozt tartalmaz, amelyegységenként darabszám 10000 kg. A doboz súlyának számított értékét grammban nem tarthatja meg egy int változó. Ezért néha szükségessé válik hosszú típus használata, amikor nagy értékeket kell kiszámítani vagy megtartani.
- Az int és a hosszú típus közötti alapvető különbség szélessége, ahol az int 32 bites, a hosszú pedig 64 bit.
- Az int és a hosszú típusok, ha bitekben számolják a bitek helyett, az int típus 4 bájt, a hosszú típus pedig csak kétszer, ha az int típus, azaz 8 bájt.
- A Java-ban az int típus tartománya –2 147,483,648 és 2,147,483,647, míg a hosszú típus tartomány –9,223,372,036,854,775,808 és 9,223,372,036,854,775,807 között van, ami jóval nagyobb, mint az int típus.
- Az int típusú változó deklarálásához használt kulcsszó „int”. Másrészt a hosszú típusú változó deklarálásához használt kulcsszó „hosszú”.
- Általában az int típusú érték megtartásához szükséges memória kevesebb, mint a hosszú.
Következtetés:
Kód írásakor, ha közepes tartományú értékre van szükség, akkor használhatja az int típust, de ha bármelyik kifejezés által előállított kimenet nagyobb lesz, vagy a nagyobb értékeket használják a számításhoz, akkor a hosszú típusú változót kell tartani az értékek.