Unterschied zwischen int und long

Autor: Laura McKinney
Erstelldatum: 1 April 2021
Aktualisierungsdatum: 11 Kann 2024
Anonim
05.02 signed und unsigned char, short, int, long, long long
Video: 05.02 signed und unsigned char, short, int, long, long long

Inhalt


Die Datentypen int und long gehören zu den beiden in Java beschriebenen Integer-Datentypen. In Java sind die Typen int und long signiert, + ve und -ve Werte. Java unterstützt keine vorzeichenlosen int- und long-Typen. Der grundlegende Unterschied zwischen einem int- und einem long-Datentyp ist die Breite jedes Typs. Der Datentyp int hat die Breite von 32 Bit für die Variable vom Typ int. Andererseits hat der Datentyp long die Breite von 64 Bit für die Variable long. Die folgende Vergleichstabelle zeigt einige andere Unterschiede zwischen int und long.

  1. Vergleichstabelle
  2. Definition
  3. Hauptunterschiede
  4. Fazit

Vergleichstabelle

Grundlage für den Vergleichint lange
BasicDer Datentyp int ist 32-Bit.Der Datentyp long ist 64-Bit.
BytesWenn in Bytes gezählt, ist int 4 Bytes.Wenn in Bytes gezählt, ist long 8 Bytes.
ReichweiteIn Java liegt der Bereich des Typs int zwischen –2.147.483.648 und 2.147.483.647.In Java ist der Bereich des Typs long
–9.223.372.036.854.775.808 bis 9.223.372.036.854.775.807.
StichwortDas Schlüsselwort, mit dem eine Variable vom Typ int deklariert wird, lautet "int".Das Schlüsselwort, mit dem eine Variable vom Typ long deklariert wird, lautet "long".
ErinnerungDer zum Speichern einer int-Variablen erforderliche Speicher ist im Vergleich zu long geringer.Der zum Speichern einer langen Variablen erforderliche Speicher ist im Vergleich zu int größer.


Definition von Int-Typ

Ein Datentyp int ist ein am häufigsten verwendeter Datentyp, der einen ganzzahligen Wert enthält. Ein Wert, den eine int-Variable enthalten kann, ist nicht zu kurz und nicht zu lang. Im Allgemeinen wird der Wert einer int-Variablen als Schleifenvariable verwendet, die die Schleife steuert, oder als Indexvariable eines Arrays. Die Datentypen byte und short haben im Vergleich zum Datentyp int einen kürzeren Bereich, können jedoch int nicht ersetzen, selbst wenn der Wert einer int-Variablen einen kürzeren Bereich hat. Der Grund dafür ist, dass bei Verwendung des Datentyps Byte und Short in einem Ausdruck bei der Auswertung dieses Ausdrucks der Datentyp Byte und Short vom Compiler auf int hochgestuft werden. Daher kann gesagt werden, dass es besser ist, int überall dort zu verwenden, wo eine ganze Zahl benötigt wird.
Sehen wir uns die Verwendung des Datentyps int an.

Byte a = 70; Byte b = 80; int c = a * b; //kein Fehler. Byte d = a + 10; // Kompilierzeitfehler.

Wie Sie im obigen Code sehen können, enthalten die beiden Byte-Variablen a und b die Werte 70 und 80, was ein gültiger Wert im Byte-Bereich ist. Aber das Zwischenergebnis von a * b; überschreitet das Limit des Bytes. Daher befördert der Compiler die Variablen byte, short und char automatisch zum Typ int, wenn sie in einem Ausdruck verwendet werden. Jetzt können Sie sehen, dass das Ergebnis von a * b einer int-Variablen zugewiesen wird, die keinen Fehler verursacht und reibungslos kompiliert, da die Variablen a und b in den Typ int hochgestuft werden und die Zuweisung des Typs int zum Typ int nicht ' t den Fehler verursachen.


In der letzten Codezeile sehen Sie einen Ausdruck, bei dem der Wert 10 zu einer Byte-Variablen "a" addiert wird. Das Ergebnis hat die Grenze des Bytes immer noch nicht überschritten. Die Zuweisung des Zwischenergebnisses des Ausdrucks "a + 10" zur Byte-Variablen "d" führt jedoch zu einem Fehler bei der Kompilierung, da die Byte-Variable "a" für die Auswertung des Ausdrucks zum Typ "int" heraufgestuft wird. Die Zuweisung des Typs int zum Typ Byte ist nicht zulässig. Daher verursacht es einen Kompilierungszeitfehler.

Definition von Langtyp

Der Datentyp long hat im Vergleich zu den Typen byte, short und int den größten Bereich und die größte Breite. In Java ist der Typ long ein 64-Bit-Integer-Typ mit Vorzeichen. Der Typ long wird verwendet, wenn der Typ int nicht so groß ist, dass er den gewünschten Wert enthält. Der Bereich von long ist –9,223,372,036,854,775,808 bis 9,223,372,036,854,775,807, was ziemlich groß ist, um die größeren Werte wie große ganze Zahlen zu halten. Wir können den Typ lange anhand eines Beispiels unten verstehen.

Klassengewicht {public static void main (String args) {int item; int wt_per_item; lange Gramme; lange Box; item = 10000000; // Anzahl Elemente angeben wt_per_item = 10000; // Gewicht eines Artikels in Kilogramm angeben = wt_item * 1000; // gewicht in gramm umrechnen Box = item * gramm; // Berechne das Gewicht der Box in Gramm. System.out.ln ("Number of item" + item); System.out.ln ("Gewicht pro Artikel" + wt_per_item + "kilos"); System.out.ln ("Gewicht der Box in Gramm" + Box + "Kilo"); }} Anzahl der Artikel 10000000 Gewicht pro Artikel 10000 kg Gewicht der Schachtel in Gramm 100000000000000 kg

Beachten Sie die Ausgabe im obigen Code; Das Ergebnis wird für das Gewicht der gesamten Schachtel berechnet, die eine Schachtel mit 10000000 Artikeln enthält, von denen jeder Artikel 10000 kg wiegt. Der berechnete Wert für das Gewicht der Box in Gramm kann nicht von einer int-Variablen gehalten werden. Daher ist es manchmal erforderlich, einen langen Typ zu verwenden, wenn große Werte berechnet oder gehalten werden sollen.

  1. Der grundlegende Unterschied zwischen dem Typ int und long besteht in der Breite, wobei int 32 Bit und long 64 Bit beträgt.
  2. Die Typen int und long werden in Bytes anstelle von Bits gezählt. Der Typ int ist 4 Bytes und der Typ long ist nur zweimal, wenn der Typ int, d. H. 8 Bytes, ist.
  3. In Java liegt der Bereich des Typs int zwischen –2.147.483.648 und 2.147.483.647, wohingegen der Bereich des Typs long zwischen –9.223.372.036.854.775.808 und 9.223.372.036.854.775.807 liegt, was sehr viel größer ist als der Typ int.
  4. Das Schlüsselwort für die Deklaration einer Variablen vom Typ int lautet "int". Andererseits ist das Schlüsselwort, mit dem die Variable vom Typ long deklariert wird, "long".
  5. Im Allgemeinen ist der Speicher, der zum Speichern des Werts vom Typ int erforderlich ist, im Vergleich zu long geringer.

Fazit:

Wenn beim Schreiben von Code ein mittlerer Wertebereich erforderlich ist, können Sie den Typ int verwenden. Wenn jedoch die von einem Ausdruck erzeugte Ausgabe größer ist oder die größeren Werte für die Berechnung verwendet werden, muss die Variable vom Typ long als Speicher verwendet werden die Werte.