Vergelijkingstabel
Basis voor vergelijking | int | lang |
---|---|---|
basis- | Het datatype int is van 32 bits. | Het gegevenstype is lang van 64 bits. |
bytes | Indien geteld in bytes, is int 4 bytes. | Als het wordt geteld in bytes, is long 8 bytes. |
reeks | In 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. |
keyword | Het sleutelwoord dat wordt gebruikt om een variabele van het int-type te declareren, is "int". | Sleutelwoord gebruikt om een variabele van het lange type te declareren is "lang". |
Geheugen | 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 algemeen gebruikt gegevenstype met daarin een geheel getal. Een waarde die een int-variabele 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 deze wordt gebruikt als een indexvariabele van een array. Het datatype byte en short hebben een korter bereik in vergelijking met datatype int, maar ze kunnen int niet vervangen, zelfs als de waarde van een int-variabele korter is. De reden hierachter is dat wanneer we datatype byte en short in een expressie gebruiken, terwijl tijdens het evalueren van die uitdrukking het gegevenstype byte en short door de compiler worden gepromoveerd tot int. Dus hieruit kan worden gezegd dat het beter is om int te gebruiken waar een geheel getal nodig is.
Laten we eens kijken naar het gebruik van int datatype.
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 byte-variabelen a en b die waarden 70 en 80 bevatten, die een door byte-waarde in aanmerking komende waarde is. Maar het tussenresultaat van een * 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 kunt u zien dat het resultaat van een * 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 het type int aan het type int doesn ' t de fout veroorzaken.
In de laatste regel code ziet u een uitdrukking, waarbij de waarde 10 wordt toegevoegd aan een bytevariabele 'a', het resultaat ervan nog steeds de limiet van de byte niet overschrijdt. Maar de toewijzing van het tussenresultaat van uitdrukking "a + 10" aan de bytevariabele "d" veroorzaakt een compileerfoutfout, terwijl terwijl de evaluatie-evaluatiebyte-variabele 'a' wordt bevorderd tot het type int. En toewijzing van het type int om bytes te typen is niet toegestaan. Daarom veroorzaakt dit een compile time error.
Definitie van lang type
Het gegevenstype long heeft het grootste bereik en de grootste breedte in vergelijking met byte, short en int types. In Java is het type long 64-bits geheel getal met teken. Het type long wordt gebruikt als 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 wat vrij groot is, om de grotere waarden zoals grote hele getallen vast te houden. We kunnen het type lang begrijpen met een voorbeeld hieronder.
class weight {public static void main (String args []) {int item; int wt_per_item; lange grammen; lange doos; item = 10000000; // specificeer nummer items wt_per_item = 10000; // geef het gewicht op van één item in kilo gram = wt_item * 1000; // converteren gewicht naar gram Doos = item * gram; // Bereken het gewicht van het vak in gram System.out.println ("Aantal items" + artikel); System.out.println ("Gewicht per item" + wt_per_item + "kilo's"); System.out.println ("Gewicht van het vak in gram" + vak + "kilo's"); }} Nummer van item 10000000 Gewicht per stuk 10000 kilo Gewicht van doos in gram 100000000000000 kilo
Observeer de output in bovenstaande code; het resultaat berekend voor het gewicht van een hele doos met een doos met 10000000 items, waarvan per item 10000 kilo weegt. De berekende waarde voor het gewicht van het vak in grammen, kan niet worden vastgehouden door een variabele int. Daarom wordt het soms nodig om een lang type te gebruiken wanneer grote waarden moeten worden berekend of vastgehouden.
Belangrijkste verschillen tussen int en lang
- Het basisverschil tussen het type int en lang is van hun breedte waarbij int 32 bit is en lang 64 bits.
- De typen int en long, geteld in bytes in plaats van bits, het type int is 4 bytes en het type long is slechts twee keer als type int ie 8 bytes.
- In Java is het bereik van het type int van -2.147.483.648 tot 2.147.483.647, terwijl het bereik van het type lang van -9.223.372.036.854.775.808 tot 9.223.372.036.854.775.807 is, dat veel groter is dan het type int.
- Het sleutelwoord dat gebruikt wordt 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 "lang".
- Over het algemeen is het geheugen dat nodig is om de waarde van het type int vast te houden, minder in vergelijking met lang.
Conclusie:
Terwijl u code schrijft als er behoefte is aan middellange afstandswaarde, kunt u het type int gebruiken, maar wanneer de uitvoer geproduceerd door een willekeurige uitdrukking groter zal zijn, of de grotere waarden worden gebruikt voor berekening, dan moet de lange typevariabele worden gebruikt om de waarden.