Im Allgemeinen verwenden wir die grundlegenden Datentypen: Byte, Int, Short, Long, Double, Float, Boolean, Char;
Es gibt auch acht entsprechende Verpackungstypen: Byte, Integer, Short, Long, Double, Float, Character, Boolean;
Verpackungstypen werden mit final deklariert und können nicht durch Vererbung überschrieben werden. In tatsächlichen Situationen packt der Compiler den Basisdatentyp automatisch in einen Objekttyp oder entpackt den Objekttyp wie folgt in einen Basisdatentyp:
public static void main(String[] args) { int num1 = 1; //Grundlegende Datentypen in Objektverpackungstypen packen Integer num2 = num1; Ganzzahl num3 = 3; //Entpacken Sie die Objektdatenklasse int num4 = num3; }
Die Number-Klasse ist eine abstrakte Klasse im Paket java.lang. Sie bietet eine Methode zum Entpacken gepackter Typen in Basistypen. Alle gepackten Typen von Basistypen (Datentypen) erben diese abstrakte Klasse, und ihre endgültige Deklaration kann nicht geerbt werden . ;
Paket java.lang; öffentliche abstrakte Klasse Number implementiert java.io.Serializable { öffentliche Zusammenfassung int intValue(); öffentliche Zusammenfassung long longValue(); öffentlicher abstrakter Float floatValue(); öffentliches abstraktes Double DoubleValue(); öffentliches Byte byteValue() { return (byte)intValue(); } öffentlicher Kurzschluss shortValue() { return (short)intValue(); } private static final long serialVersionUID = -8742448824652078965L; }
Verpackung | Grundlegende Datentypen |
---|---|
Boolescher Wert | Boolescher Wert |
Byte | Byte |
Kurz | kurz |
Ganze Zahl | int |
Lang | lang |
Charakter | verkohlen |
Schweben | schweben |
Doppelt | doppelt |
Diese vom Compiler speziell unterstützte Art der Verpackung wird als Boxen bezeichnet. Wenn also ein integrierter Datentyp als Objekt verwendet wird, packt der Compiler den integrierten Typ in eine Wrapper-Klasse. Ebenso kann der Compiler ein Objekt in einen integrierten Typ entpacken. Die Zahlenklasse gehört zum Paket java.lang.
Hier ist ein Beispiel für das Ein- und Auspacken:
publicclassTest{
publicstaticvoidmain(Stringargs[]){
Integerx=5;//boxesinttoanIntegerobject
x=x+10;//unboxestheIntegertoaint
System.out.println(x);
}
}
Die Kompilierungs- und Ausführungsergebnisse des obigen Beispiels lauten wie folgt:
15
Wenn x einem ganzzahligen Wert zugewiesen wird, muss der Compiler x einrahmen, da x ein Objekt ist. Damit x hinzugefügt werden kann, wird x dann entpackt.
Javas Mathematik enthält Eigenschaften und Methoden zur Durchführung grundlegender mathematischer Operationen, wie z. B. elementare Exponentialfunktionen, Logarithmen, Quadratwurzeln und trigonometrische Funktionen.
Mathematische Methoden werden alle in statischer Form definiert und können direkt in der Hauptfunktion über die Math-Klasse aufgerufen werden.
Beispiel
öffentlicher Klassentest {
public static void main (String []args)
{
System.out.println("Sinus von 90 Grad: " + Math.sin(Math.PI/2));
System.out.println("Kosinus von 0 Grad: " + Math.cos(0));
System.out.println("Tangens von 60 Grad: " + Math.tan(Math.PI/3));
System.out.println("Arkustangens von 1: " + Math.atan(1));
System.out.println("Der Winkelwert von π/2: " + Math.toDegrees(Math.PI/2));
System.out.println(Math.PI);
}
}
Die Kompilierungs- und Ausführungsergebnisse des obigen Beispiels lauten wie folgt:
Sinus von 90 Grad: 1,0
Kosinus von 0 Grad: 1,0
Tangentenwert von 60 Grad: 1,7320508075688767
Arkustangens von 1: 0,7853981633974483
Der Winkelwert von π/2: 90,0
3.141592653589793
Methoden der Number&Math-Klasse
In der folgenden Tabelle sind die häufig verwendeten Methoden der Number-Klasse und der Math-Klasse aufgeführt:
Seriennummer | Methoden und Beschreibung | |||||
---|---|---|---|---|---|---|
1 | xxxValue() konvertiert das Zahlenobjekt in einen Wert vom Datentyp xxx und gibt ihn zurück. | |||||
2 | CompareTo() vergleicht das Zahlenobjekt mit dem Parameter. | |||||
3 | equal() bestimmt, ob das Zahlenobjekt dem Parameter entspricht. | |||||
4 | valueOf() gibt ein Integer-Objekt zurück, das den integrierten Datentyp angibt | |||||
5 | toString() gibt den Wert in Stringform zurück. | |||||
6 | parseInt() analysiert einen String in den Typ int. | |||||
7 | abs() gibt den absoluten Wert des Arguments zurück. | |||||
8 | ceil() gibt die kleinste Ganzzahl zurück, die größer oder gleich (>=) dem angegebenen Parameter ist. Der Typ ist ein Gleitkomma mit doppelter Genauigkeit. | |||||
9 | floor() gibt die größte Ganzzahl zurück, die kleiner oder gleich (<=) dem angegebenen Argument ist. | |||||
10 | rint() gibt die dem Argument am nächsten liegende ganze Zahl zurück. Der Rückgabetyp ist double. | |||||
11 | Round() gibt den nächsten int- oder long-Wert zurück. | |||||
12 | min() gibt den Mindestwert der beiden Parameter zurück. | |||||
13 | max() gibt den Maximalwert der beiden Parameter zurück. | |||||
14 | exp() gibt die Parameterpotenz der natürlichen Zahlenbasis e zurück. | |||||
15 | log() gibt den Logarithmus der natürlichen Zahlenbasis des Arguments zurück. | |||||
16 | pow() gibt den ersten Parameter hoch mit dem zweiten Parameter zurück. | |||||
17 | sqrt() ermittelt die arithmetische Quadratwurzel des Arguments. | |||||
18 | sin() findet den Sinuswert des angegebenen Double-Typ-Parameters. | |||||
19 | cos() findet den Kosinuswert des angegebenen Double-Typ-Parameters. | |||||
20 | tan() findet den Tangentenwert des angegebenen Double-Typ-Parameters. | |||||
einundzwanzig | asin() findet den Arkussinuswert des angegebenen Double-Typ-Parameters. | |||||
zweiundzwanzig | acos() findet den Arkuskosinuswert des angegebenen Double-Typ-Parameters. | |||||
dreiundzwanzig | atan() findet den Arcustangens-Wert des angegebenen Double-Typ-Parameters. | |||||
vierundzwanzig | atan2() wandelt kartesische Koordinaten in Polarkoordinaten um und gibt den Winkelwert der Polarkoordinaten zurück. | |||||
25 | toDegrees() wandelt Parameter in Winkel um. | |||||
26 | toRadians() wandelt Winkel in Bogenmaß um. | |||||
27 | random() gibt eine Zufallszahl zurück. |