Ajánlott, 2024

Szerkesztő Választása

Különbség int és hosszú között

Az int és long adattípusok a Java-ban leírt két egész adattípus között vannak. Java-ban az int és long típusok alá vannak írva, + ve és -ve értékek. A Java nem támogatja a nem aláírt int és hosszú típusokat. Az int és hosszú adattípus közötti alapvető különbség az egyes típusok szélessége. Az int típusú adattípus 32 bites szélességű az int típusú változó számára. Másrészről a hosszú típusú adattípus szélessége 64 bites. Az alábbi összehasonlító táblázat néhány különbséget mutat az int és long között.

Összehasonlító táblázat

Az összehasonlítás alapjainthosszú
AlapvetőAz int adattípus 32 bitből áll.Az adattípus hosszú 64 bites.
bytesHa bájtban számoljuk, az int 4 bájt.Ha bájtban számoljuk, a hosszú 8 bájt.
HatótávolságJava-ban az int típus a –2, 147, 483, 648 és 2.147, 483, 647 között van.Java-ban a hosszú típusú tartomány van
–9, 223, 372, 036, 854, 775, 808 és 9, 223, 372, 036, 854, 775, 807 között.
KulcsszóAz int típusú változó bejelentésére használt kulcsszó "int".A hosszú típusú változó deklarálására használt kulcsszó "hosszú".
memóriaAz int változó tárolásához szükséges memória a hosszúhoz képest kisebb.A hosszú változó tárolásához szükséges memória nagyobb az int.

Az int típus meghatározása

Az int típusú adattípus a leggyakrabban használt adattípus, amely benne egy egész értéket tartalmaz. Az int változó által tartott érték nem túl rövid és nem túl hosszú. Általában az int változó értékét hurokváltozóként használjuk, amely vezérli a hurkot, vagy egy tömb index változójának használják. Az adattípus bájtja és a rövidebb adattípussal rövidebb az int típusú adattal, de nem helyettesíthetik az int-t, még akkor sem, ha az int változó értéke rövidebb. Ennek az az oka, hogy amikor adattípus bájtot használunk, és egy kifejezésben röviden használjuk, akkor a kiértékelés során az adattípus bájtjait és rövidjét a fordító int. Tehát ebből elmondható, hogy jobb, ha int egészet használunk, ahol egész számra van szükség.
Nézzük meg az int adattípus használatát.

 bájt a = 70; bájt b = 80; int c = a * b; // nincs hiba. bájt d = a + 10; // Az időzítő fordítása. 

Ahogy a fenti kódban is megfigyelhető, az a és b két bájtváltozó, amely 70 és 80 értéket tartalmaz, ami érvényes byte-tartományú érték. De a * b; meghaladja a bájt határát. Ennélfogva a fordító automatikusan támogatja a bájt, a rövid és a char változókat az int típusba, ha azokat egy kifejezésben használják. Most láthatjuk, hogy a * b eredménye egy int változóhoz van hozzárendelve, amely nem okoz hibát, és zökkenőmentesen fordítja, mert az a és b változók az int típusra és az int típushoz hozzárendelésre kerülnek. t okozza a hibát.

A kód utolsó sorában egy kifejezés látható, ahol a 10 értéket hozzáadjuk egy „a” bájtváltozóhoz, amelynek eredménye még mindig nem haladta meg a bájthatárt. Az „a + 10” kifejezés közbenső eredményének a „d” bájtváltozóhoz való hozzárendelése viszont fordítási hibát okoz, mert míg az „a” kifejezésértékelő bájtváltozó int. Az int típus megadása a bájtra nem engedélyezett. Ezért fordítási idő hibát okoz.

Hosszú típus meghatározása

A hosszú adattípus legnagyobb tartománya és szélessége a bájt, rövid és int típusokhoz képest. Java-ban a hosszú típus 64 bites aláírt egész típus. A hosszú típust akkor használjuk, ha az int típus nem olyan nagy, hogy a kívánt értéket megtartsa. A hosszúkás tartomány –9, 223, 372, 036, 854, 775, 808 és 9, 223, 372, 036, 854, 775, 807 között van, ami meglehetősen nagy, hogy a nagyobb értékeket, például a nagy egész számokat tartsa. Egy hosszú példát az alábbi példával tudunk megérteni.

 osztály súlya {public static void main (String args []) {int tétel; int wt_per_item; hosszú gramm; hosszú doboz; tétel = 10000000; // adja meg a számokat wt_per_item = 10000; // egy tétel tömegének megadása kilos grammban = wt_item * 1000; // a súlyt grammra konvertálja = elem * gramm; // a doboz súlya grammban System.out.println ("Tétel száma" + elem); System.out.println ("Súly egy tételre" + wt_per_item + "kilos"); System.out.println ("A doboz súlya grammban" + Box + "kilók"); }} Tételszám 10000000 Súly darabonként 10000 kg A doboz súlya 100000000000000 kg-ban 

Figyelje meg a fenti kódot; az eredmény 10000000 tételt tartalmazó doboz egész dobozának súlya alapján számítva, amelynek darabonként 10000 kg súlya van. A doboz súlyának a grammokban számított értéke nem lehet egy int változó. Ezért néha szükségessé válik a hosszú típusok használata, ha nagy értékeket kell kiszámítani vagy tartani.

Főbb különbségek int és hosszú között

  1. Az int és long típusok közötti különbség a szélessége, ahol int 32 bites, és hosszú a 64 bit.
  2. Az int és hosszú bájtok számát tekintve az int típusú bitek száma 4 bájt, a típus pedig csak kétszer, ha int típusú, azaz 8 bájt.
  3. Java-ban az int típus a –2, 147, 483, 648-tól a 2, 147, 483, 647-ig terjed, míg a hosszúság tartománya –9, 223, 372, 036, 854, 775, 808 és 9, 223, 372, 036, 854, 775, 807 között van, ami sokkal nagyobb, mint az int.
  4. Az int típusú változó bejelentésére használt kulcsszó „int”. Másrészről a hosszúságú változó deklarálására használt kulcsszó „hosszú”.
  5. Általában az int típusú érték tárolásához szükséges memória kisebb, mint a hosszú.

Következtetés:

Kód írása közben, ha szükség van közepes értékre, akkor használhatja az int típusát, de ha bármelyik kifejezés által termelt kimenet nagyobb lesz, vagy ha a nagyobb értékeket számításra használják, akkor a hosszú típusú változót kell használni a tartáshoz az értékek.

Top