Einführung
In diesem Lab werden wir uns mit der reverseBytes()
-Methode der Long
-Klasse in Java beschäftigen, die dazu verwendet wird, die Reihenfolge der Bytes der binären Zweierkomplement-Darstellung des übergebenen long
-Werts umzukehren.
💡 Dieser Artikel wurde von AI-Assistenten übersetzt. Um die englische Version anzuzeigen, können Sie hier klicken
In diesem Lab werden wir uns mit der reverseBytes()
-Methode der Long
-Klasse in Java beschäftigen, die dazu verwendet wird, die Reihenfolge der Bytes der binären Zweierkomplement-Darstellung des übergebenen long
-Werts umzukehren.
Zunächst müssen wir eine Java-Klasse im Verzeichnis ~/project
erstellen. Nennen wir sie ReverseBytesDemo.java
.
public class ReverseBytesDemo {
}
Als nächstes müssen wir der Klasse die main
-Methode hinzufügen. Dies wird der Einstiegspunkt für unser Programm sein.
public static void main(String[] args) {
}
reverseBytes()
-MethodeNun verwenden wir die reverseBytes()
-Methode, um die Bytes eines long
-Werts umzukehren.
long a = 342;
long reversedValue = Long.reverseBytes(a);
System.out.println("Originalwert: " + a);
System.out.println("Umgekehrter Wert: " + reversedValue);
Dieser Code wird folgendes ausgeben:
Originalwert: 342
Umgekehrter Wert: 6197234562238513152
Wir können auch Benutzereingaben entgegennehmen und die Bytes des Eingabewerts umkehren. Ändern wir unseren Code, um Benutzereingaben entgegenzunehmen.
Scanner scanner = new Scanner(System.in);
System.out.print("Geben Sie eine Zahl ein: ");
long userInput = scanner.nextLong();
long reversedValue = Long.reverseBytes(userInput);
System.out.println("Originalwert: " + userInput);
System.out.println("Umgekehrter Wert: " + reversedValue);
Dieser Code fordert den Benutzer auf, eine Zahl einzugeben, und kehrt dann die Bytes des Eingabewerts um. Führen Sie den Code mit dem Befehl javac ReverseBytesDemo.java && java ReverseBytesDemo
aus.
Wir können Ausnahmen, die bei der Benutzereingabe auftreten können, mit einem try-catch
-Block behandeln.
Scanner scanner = new Scanner(System.in);
try {
System.out.print("Geben Sie eine Zahl ein: ");
long userInput = scanner.nextLong();
long reversedValue = Long.reverseBytes(userInput);
System.out.println("Originalwert: " + userInput);
System.out.println("Umgekehrter Wert: " + reversedValue);
} catch (InputMismatchException e) {
System.out.println("Ungültige Eingabe. Bitte geben Sie eine gültige Zahl ein.");
}
Dieser Code verwendet einen try-catch
-Block, um Ausnahmen zu behandeln, die auftreten können, wenn der Benutzer eine ungültige Eingabe macht.
Lassen Sie uns die reverseBytes()
-Methode mit einer negativen Zahl testen.
long a = -23;
long reversedValue = Long.reverseBytes(a);
System.out.println("Originalwert: " + a);
System.out.println("Umgekehrter Wert: " + reversedValue);
Dieser Code wird folgendes ausgeben:
Originalwert: -23
Umgekehrter Wert: -1585267068834414593
Wir können auch die binäre Darstellung der ursprünglichen und umgekehrten Werte mit der Long.toBinaryString()
-Methode ausgeben.
System.out.println("Originalwert in binär: " + Long.toBinaryString(a));
System.out.println("Umgekehrter Wert in binär: " + Long.toBinaryString(reversedValue));
Dieser Code wird folgendes ausgeben:
Originalwert in binär: 1111111111111111111111111111111111111111111111111111111111101001
Umgekehrter Wert in binär: 1010101100000000000000000000000000000000000000000000000000000000
Beachten Sie, dass die binäre Darstellung des umgekehrten Werts die ursprüngliche binäre Darstellung ist, wobei jede Gruppe von 8 Bits umgekehrt ist.
Schreiben wir eine benutzerdefinierte Funktion, um die reverseBytes()
-Methode zu kapseln.
public class ReverseBytesDemo {
public static long reverseBytes(long value) {
return Long.reverseBytes(value);
}
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
try {
System.out.print("Geben Sie eine Zahl ein: ");
long userInput = scanner.nextLong();
long reversedValue = reverseBytes(userInput);
System.out.println("Originalwert: " + userInput);
System.out.println("Umgekehrter Wert: " + reversedValue);
System.out.println("Originalwert in binär: " + Long.toBinaryString(userInput));
System.out.println("Umgekehrter Wert in binär: " + Long.toBinaryString(reversedValue));
} catch (InputMismatchException e) {
System.out.println("Ungültige Eingabe. Bitte geben Sie eine gültige Zahl ein.");
}
}
}
Jetzt, nachdem wir unsere benutzerdefinierte Funktion eingerichtet haben, können wir sie testen, indem wir die modifizierte main()
-Methode erneut ausführen.
Scanner scanner = new Scanner(System.in);
try {
System.out.print("Geben Sie eine Zahl ein: ");
long userInput = scanner.nextLong();
long reversedValue = reverseBytes(userInput);
System.out.println("Originalwert: " + userInput);
System.out.println("Umgekehrter Wert: " + reversedValue);
System.out.println("Originalwert in binär: " + Long.toBinaryString(userInput));
System.out.println("Umgekehrter Wert in binär: " + Long.toBinaryString(reversedValue));
} catch (InputMismatchException e) {
System.out.println("Ungültige Eingabe. Bitte geben Sie eine gültige Zahl ein.");
}
Führen Sie den Code mit dem Befehl javac ReverseBytesDemo.java && java ReverseBytesDemo
aus.
In diesem Lab haben wir uns mit der Java-reverseBytes()
-Methode der Long
-Klasse beschäftigt, die dazu verwendet wird, die Reihenfolge der Bytes der Zweierkomplement-Binärdarstellung des übergebenen long
-Werts umzukehren. Wir haben auch gelernt, wie man Benutzereingaben verwendet, Ausnahmen behandelt, die binäre Darstellung ausgibt und die Methode in einer benutzerdefinierten Funktion kapselt. Wenn Sie diese Schritte befolgen, sollten Sie jetzt in der Lage sein, die reverseBytes()
-Methode in Ihren eigenen Java-Programmen zu verwenden.