Verschil tussen int en lang

Schrijver: Laura McKinney
Datum Van Creatie: 1 April 2021
Updatedatum: 15 Kunnen 2024
Anonim
10 VERSCHILLEN TUSSEN GOED EN KWAAD
Video: 10 VERSCHILLEN TUSSEN GOED EN KWAAD

Inhoud


De gegevenstypen int en long behoren tot de twee integer datatypen die in Java worden beschreven. In Java zijn de typen int en long ondertekend, + ve en -ve waarden. Java biedt geen ondersteuning voor niet-ondertekende int en lange typen. Het fundamentele verschil tussen een int en lang datatype is de breedte van elk type. Het gegevenstype int heeft de breedte van 32-bits voor de variabele int type. Aan de andere kant heeft het gegevenstype lang de breedte van 64-bit voor de variabele van het lange type. De onderstaande vergelijkingstabel toont enkele andere verschillen tussen int en long.

  1. Vergelijkingstabel
  2. Definitie
  3. Belangrijkste verschillen
  4. Gevolgtrekking

Vergelijkingstabel

Basis voor vergelijkingint lang
basis-Het gegevenstype int is van 32-bits.Het gegevenstype lang is 64-bits.
bytesIndien geteld in bytes, is int 4 bytes.Indien geteld in bytes, is lang 8 bytes.
reeksIn Java is het bereik van het type int –2.147.483.648 tot 2.147.483.647.In Java is het bereik van het type lang
–9.223.372.036.854.775.808 tot 9.223.372.036.854.775.807.
keywordHet sleutelwoord dat wordt gebruikt om een ​​variabele van het type int te declareren is "int".Het sleutelwoord dat wordt gebruikt om een ​​variabele van het lange type aan te geven, is 'lang'.
GeheugenHet geheugen dat nodig is om een ​​int-variabele op te slaan, is minder in vergelijking met lang.Het geheugen dat nodig is om een ​​lange variabele op te slaan is groter in vergelijking met int.


Definitie van int type

Een gegevenstype int is een meest gebruikt gegevenstype dat een geheel getal bevat. Een waarde die een variabele int kan bevatten, is niet te kort en niet te lang. Over het algemeen wordt de waarde van een variabele int gebruikt als een lusvariabele die de lus bestuurt, of wordt deze gebruikt als een indexvariabele van een array. Het gegevenstype byte en het korte bereik hebben een korter bereik in vergelijking met het gegevenstype int, maar ze kunnen int niet vervangen, zelfs als de waarde van een int-variabele een korter bereik heeft. De reden hierachter is dat wanneer we het gegevenstype byte en short gebruiken in een uitdrukking, en bij het evalueren van die expressie de gegevenstype byte en short worden gepromoveerd tot int door de compiler. Hieruit kan dus worden gezegd dat het beter is om int te gebruiken waar een geheel getal nodig is.
Laten we eens kijken naar het gebruik van het datatype int.

byte a = 70; byte b = 80; int c = a * b; //geen fout. byte d = a + 10; // Compilatietijdfout.

Zoals u in bovenstaande code kunt zien, zijn de twee bytevariabelen a en b met de waarde 70 en 80, wat een geldige byte-afstandswaarde is. Maar het tussenresultaat van a * b; overschrijdt de limiet van de byte. Daarom promoot de compiler automatisch de byte-, short- en char-variabelen om int te typen, als ze in een expressie worden gebruikt. Nu kun je zien dat het resultaat van a * b is toegewezen aan een int-variabele die geen fouten veroorzaakt en soepel compileert omdat de variabelen a en b worden gepromoveerd tot het type int en toewijzing van type int aan het type int doesn ' t veroorzaakt de fout.


In de laatste coderegel ziet u een uitdrukking, waarbij de waarde 10 wordt toegevoegd aan een bytevariabele ‘a’ het resultaat overschreed de limiet van de byte nog steeds niet. Maar de toewijzing van het tussenresultaat van expressie "a + 10" aan de bytevariabele ‘d’, veroorzaakt een compilatietijdfout, omdat terwijl expressieevaluatie-bytevariabele ‘a’ wordt gepromoveerd tot het type int. En toewijzing van type int aan type byte is niet toegestaan. Daarom veroorzaakt het een compilatietijdfout.

Definitie van lang type

Het gegevenstype lang heeft het grootste bereik en de grootste breedte vergeleken met byte-, korte en int-typen. In Java is het type lang 64-bits geheel getal met teken. Het type lang wordt gebruikt waar het type int niet zo groot is om de gewenste waarde te behouden. Het bereik van lang is –9.223.372.036.854.775.808 tot 9.223.372.036.854.775.807 dat vrij groot is om de grotere waarden te houden, zoals grote gehele getallen. We kunnen het type lang begrijpen met een voorbeeld hieronder.

klasse gewicht {public static void main (String args) {int item; int wt_per_item; lange grammen; lange doos; item = 10000000; // specificeer aantal items wt_per_item = 10000; // specificeer het gewicht van één artikel in kilogram gram = wt_item * 1000; // gewicht omrekenen in gram Box = item * gram; // bereken het gewicht van de doos in gram System.out.ln ("Number of item" + item); System.out.ln ("Gewicht per item" + wt_per_item + "kilo"); System.out.ln ("Gewicht van doos in gram" + Doos + "kilo"); }} Aantal stuks 10000000 Gewicht per stuk 10000 kilo Gewicht doos in gram 100000000000000 kilo

Bekijk de uitvoer in bovenstaande code; het resultaat berekend voor het gewicht van de hele doos met doos met 10000000 artikelen waarvan per artikel 10.000 kilo weegt. De berekende waarde voor het gewicht van het vak in gram kan niet worden vastgehouden door een variabele int. Daarom wordt het soms nodig om het lange type te gebruiken wanneer grote waarden moeten worden berekend of vastgehouden.

  1. Het basisverschil tussen het type int en long is hun breedte waarbij int 32 bit is en lang 64 bit.
  2. De typen int en long wanneer geteld in bytes in plaats van bits, is het type int 4 bytes en het type long is slechts tweemaal als type int, d.w.z. 8 bytes.
  3. In Java is het bereik van type int van –2.147.483.648 tot 2.147.483.647, terwijl het bereik van type long van –9.223.372.036.854.775.808 tot 9.223.372.036.854.775.807 is, dat veel groter is dan type int.
  4. Het sleutelwoord dat wordt gebruikt om een ​​variabele van het type int te declareren is "int". Aan de andere kant is het sleutelwoord dat wordt gebruikt om de variabele van het type long te declareren "long".
  5. Over het algemeen is het geheugen dat vereist is om de waarde van het type int te behouden minder dan bij lang.

Gevolgtrekking:

Tijdens het schrijven van code als er behoefte is aan een middellange afstandswaarde, kunt u het type int gebruiken, maar wanneer de uitvoer die door een expressie wordt geproduceerd groter is, of de grotere waarden worden gebruikt voor berekening, moet de lange type variabele worden gebruikt om de waarden.