Anbefalet, 2024

Redaktørens Valg

Forskel mellem int og lang

Datatyperne int og lange er blandt de to heltal datatyper, der er beskrevet i Java. I Java signeres typerne int og lange, + ve og -ve værdier. Java understøtter ikke usignerede int og lange typer. Den grundlæggende forskel mellem en int og lang datatype er bredden af ​​hver type. Datatypen int har en bredde på 32-bit for variablen af ​​int type. På den anden side har datatypen lang bredden på 64 bit for variablen af ​​lang type. Sammenligningsdiagrammet nedenfor viser nogle andre forskelle mellem int og lang.

Sammenligningstabel

Grundlag for sammenligningintlang
GrundlæggendeDatatypen int er 32 bit.Datatypen er lang 64 bit.
bytesHvis talt i byte, er int 4 byte.Hvis talt i byte, er lang 8 byte.
RækkeviddeI Java er intervallet af type int -2.147.483.648 til 2.147.483.647.I Java er sortimentet af typen lang
-9.223.372.036.854.775.808 til 9.223.372.036.854.775.807.
SøgeordSøgeord brugt til at erklære en variabel af int type er "int".Søgeord bruges til at erklære en variabel af lang type er "lang".
HukommelseHukommelse, der kræves for at gemme en int-variabel, er mindre i forhold til lang.Hukommelse der kræves for at gemme en lang variabel er større i forhold til int.

Definition af int type

En datatype int er en mest almindeligt datatype, som indeholder en heltalværdi i den. En værdi, som en int-variabel kan holde, er ikke for kort og ikke for lang. Generelt bruges værdien af ​​en int-variabel som en loop-variabel, der styrer sløjfen, eller den bruges som en indeksvariabel for en matrix. Datatype byte og kort har kortere rækkevidde sammenlignet med datatype int, men de kan ikke erstatte int, selvom værdien af ​​en int-variabel er af kortere rækkevidde. Årsagen bag dette er, at når vi bruger datatype byte og kort i et udtryk, så under evaluering af dette udtryk bliver datatypen byte og kort forfremmet til int af kompilatoren. Så det kan siges at det er bedre at bruge int, hvor et helt tal er nødvendigt.
Lad os se på brugen af ​​int datatype.

 byte a = 70; byte b = 80; int c = a * b; // ingen fejl. byte d = a + 10; // Kompilere tidsfejl. 

Som du kan se i ovenstående kode, indeholder de to byte-variable a og b indeholdende værdi 70 og 80, som er gyldig byte-værdier. Men det mellemliggende resultat af en * b; overstiger grænsen for byten. Derfor fremmer kompilatoren automatisk byte, korte og char variabler for at skrive int, hvis de bruges i et udtryk. Nu kan du se, at resultatet af en * b er tildelt en int-variabel, som ikke forårsager nogen fejl og kompilerer jævnt, fordi variablerne a og b fremmes til typen int og tildeling af type int til typen int gør ikke ' t forårsage fejlen

I den sidste kodelinje kan du se et udtryk, hvor værdien 10 tilføjes til en byte-variabel 'a', dens resultat oversteg stadig ikke grænsen for byten. Men tildelingen af ​​mellemresultatet af udtrykket "a + 10" til byte-variablen "d" forårsager en kompileringstidsfejl, fordi mens udtryksevalueringsbyte-variablen 'a' fremmes til typen int. Og tildeling af type int til type byte er ikke tilladt. Derfor forårsager det en kompileringstidsfejl.

Definition af lang type

Datatypen lang har den største rækkevidde og bredde i forhold til byte, kort og int typer. I Java er typen lang 64-bit underskrevet heltals type. Den lange type anvendes, hvor typen int er ikke så stor, at den ønskede værdi holdes. Langsområdet er -9.223.372.036.854.775.808 til 9.223.372.036.854.775.807, hvilket er ret stort for at holde de større værdier som store hele tal. Vi kan forstå typen lang med et eksempel nedenfor.

 klasse vægt {public static void main (string args []) {int item; int wt_per_item; lang gram; lang boks; vare = 10000000; // angive antal elementer wt_per_item = 10000; // Angiv vægten af ​​et element i kg gram = wt_item * 1000; // konvertere vægt til gram Boks = element * gram; // beregne vægt af boks i gram System.out.println ("Antal emner" + emne); System.out.println ("Vægt pr. Emne" + wt_per_item + "kilo"); System.out.println ("Vægt af boks i gram" + Boks + "kilo"); }} Antal varer 10000000 Vægt pr. Vare 10000 kilo Vægt af kasse i gram 100000000000000 kilo 

Overhold output i ovennævnte kode; Resultatet beregnes for vægten af ​​hele kassen, der indeholder kasse indeholdende 10000000 stk. pr. stk. vægt 10000 kilo. Den beregnede værdi for boksens vægt i gram kan ikke holdes af en int-variabel. Derfor bliver det nogle gange nødvendigt at bruge lang type, når store værdier skal beregnes eller holdes.

Nøgleforskelle mellem int og lang

  1. Den grundlæggende forskel mellem typen int og lang er af deres bredde, hvor int er 32 bit, og lang er 64 bit.
  2. Typerne int og lange, når de tælles i bytes i stedet for bits, typen er int 4 bytes og typen lang er kun to gange, hvis typen int er 8 bytes.
  3. I Java er intervallet af type int fra -2.147.483.648 til 2.147.483.647, mens rækkevidden af ​​typen lang er fra -9.223.372.036.854.775.808 til 9.223.372.036.854.775.807, hvilket er meget større end type int.
  4. Nøgleordet der bruges til at erklære en variabel af typen int er "int". På den anden side er søgeordet, der bruges til at erklære variablen af ​​typen lang, "lang".
  5. Generelt er den hukommelse, der kræves for at holde værdien af ​​type int, mindre sammenlignet med lang.

Konklusion:

Mens du skriver kode, hvis der er behov for mellemrumsværdi, kan du bruge typen int, men når output produceret af et hvilket som helst udtryk bliver større, eller hvis de større værdier bruges til beregning, skal den lange type variabel bruges til at holde værdierne.

Top