Konvertieren Int in Byte in Java

Mohammad Irfan 12 Oktober 2023
  1. Int-Byte-Konvertierung in Java
  2. Int-in-Byte-Konvertierung und umgekehrt in Java
  3. Vorzeichenlose Umwandlung von Int in Byte in Java
  4. Int-to-Byte-Konvertierung und umgekehrt mit Java 8
  5. Int zu Byte mit der Methode byteValue() in Java
Konvertieren Int in Byte in Java

In diesem Tutorial wird beschrieben, wie man int in das Byte in Java umwandelt.

In Java sind int und byte beide primitive Typen und werden zum Speichern numerischer Werte verwendet. Beide werden verwendet, um vorzeichenbehaftete und vorzeichenlose Werte zu speichern, haben jedoch unterschiedliche Speicherbereiche. Der Byte-Bereich ist -128 bis 127 und der int-Bereich ist -2.147.483.648 bis 2.147.483.647. Wir können also deutlich sehen, dass int einen größeren Wert als den Byte-Typ speichern kann.

Beim Konvertieren von int in Byte gehen einige Daten aufgrund des Speichers verloren. Sehen wir uns einige Beispiele an.

Int-Byte-Konvertierung in Java

In diesem Beispiel konvertieren wir int durch Casting in byte und sehen, ob der int-Wert außerhalb des byte-Bereichs liegt. Wenn dies der Fall ist, wird es in einen negativen Wert umgewandelt. Das heißt, wenn ein Wert größer als der Byte-Bereich ist, wird er in einen negativen Wert umgewandelt. Wenn wir also einen großen Wert in einen Byte-Typ konvertieren, erhalten wir ein anderes Ergebnis als int-Typ.

public class SimpleTesting {
  public static void main(String[] args) {
    int a = 127; // byte max positive range
    System.out.println("int value = " + a);
    byte b = (byte) a;
    System.out.println("byte value = " + b);
    a = 130; // Out of positive byte range
    System.out.println("int value = " + a);
    b = (byte) a;
    System.out.println("byte value = " + b);
  }
}

Ausgabe:

int value = 127
byte value = 127
int value = 130
byte value = -126

Int-in-Byte-Konvertierung und umgekehrt in Java

Um einen int-Typ in einen Byte-Typ zu konvertieren, müssen wir explizites Typecasting verwenden. Um das Byte in int zu konvertieren, benötigen wir jedoch kein explizites Casting. Java tut dies implizit. Siehe das Beispiel unten.

public class SimpleTesting {
  public static void main(String[] args) {
    int a = 230;
    System.out.println("int value = " + a);
    byte b = (byte) a;
    System.out.println("byte value = " + b);
    a = b;
    System.out.println("int value = " + a);
  }
}

Ausgabe:

int value = 230
byte value = -26
int value = -26

Vorzeichenlose Umwandlung von Int in Byte in Java

Wir haben in allen obigen Beispielen eine signierte Konvertierung durchgeführt, aber wenn Sie eine unsignierte Konvertierung wünschen, verwenden Sie den folgenden Code. Hier haben wir den Code & 0xFF zusammen mit dem int-Wert verwendet, um eine vorzeichenlose Konvertierung zu erhalten. Siehe das Beispiel unten.

public class SimpleTesting {
  public static void main(String[] args) {
    int a = 230;
    System.out.println("int value = " + a);
    byte b = (byte) a;
    System.out.println("byte value = " + b);
    a = b & 0xFF;
    System.out.println("int value = " + a);
  }
}

Ausgabe:

int value = 230
byte value = -26
int value = 230

Int-to-Byte-Konvertierung und umgekehrt mit Java 8

Wenn Sie mit Java 8 oder einer höheren Version arbeiten, verwenden Sie die Methode toUnsignedInt() der Klasse Byte, um eine unsignierte Konvertierung zu erhalten. Siehe das Beispiel unten.

public class SimpleTesting {
  public static void main(String[] args) {
    int a = 230;
    System.out.println("int value = " + a);
    byte b = (byte) a;
    System.out.println("byte value = " + b);
    a = Byte.toUnsignedInt(b);
    System.out.println("int value = " + a);
  }
}

Ausgabe:

int value = 230
byte value = -26
int value = 230

Int zu Byte mit der Methode byteValue() in Java

Wir können auch die Methode byteValue() der Klasse Integer verwenden, um den Byte-Wert nach der Konvertierung zu erhalten. Diese Methode gibt einen Wert mit Vorzeichen zurück. Verwenden Sie es also nur, wenn Sie ein signiertes Ergebnis erhalten möchten. Siehe das Beispiel unten.

public class SimpleTesting {
  public static void main(String[] args) {
    int a = 230;
    System.out.println("int value = " + a);
    Integer i = a;
    byte b = i.byteValue();
    System.out.println("byte value = " + b);
  }
}

Ausgabe:

int value = 230
byte value = -26

Verwandter Artikel - Java Int

Verwandter Artikel - Java Byte