Java-Datentypen
Java ist statisch typisiert und auch eine stark typisierte Sprache, da in Java jeder Datentyp (z. B. Ganzzahl, Zeichen, Hexadezimalzahl, gepackte Dezimalzahl usw.) als Teil der Programmiersprache und aller dafür definierten Konstanten oder Variablen vordefiniert ist Ein bestimmtes Programm muss mit einem der Java-Datentypen beschrieben werden.
Datentypen in Java
Datentypen in Java haben unterschiedliche Größen und Werte, die in der Variablen gespeichert werden können, die je nach Bedarf und Umständen erstellt wird, um alle Testfälle abzudecken. Java hat zwei Kategorien, in denen Datentypen getrennt sind
- Primitiver Datentyp: wie boolean, char, int, short, byte, long, float und double
- Nicht-primitiver Datentyp oder Objektdatentyp: wie String, Array usw.
Primitive Datentypen in Java
Primitive Daten sind nur Einzelwerte und haben keine besonderen Fähigkeiten. Es gibt 8 primitive Datentypen. Sie sind im Folgenden tabellarisch wie folgt dargestellt:
| Typ | Beschreibung | Standard | Größe | Beispielliterale | Wertebereich |
|---|---|---|---|---|---|
| Boolescher Wert | richtig oder falsch | FALSCH | 1 Bit | wahr falsch | wahr falsch |
| Byte | Zweierkomplement-Ganzzahl | 0 | 8 Bit | (keiner) | -128 bis 127 |
| verkohlen | Unicode-Zeichen | u0000 | 16 Bit | 'a', 'u0041', '101', '', '', ' ', 'b' | Zeichendarstellung von ASCII-Werten 0 bis 255 |
| kurz | Zweierkomplement-Ganzzahl | 0 | 16 Bit | (keiner) | -32.768 bis 32.767 |
| int | Zweierkomplement-Ganzzahl | 0 | 32 Bit | -2,-1,0,1,2 | -2.147.483.648 Zu 2.147.483.647 |
| lang | Zweierkomplement-Ganzzahl | 0 | 64 Bit | -2L, -1L,0L,1L,2L | -9.223.372.036.854.775.808 Zu 9.223.372.036.854.775.807 |
| schweben | IEEE 754-Gleitkomma | 0,0 | 32 Bit | 1,23e100f, -1,23e-100f, .3f, 3,14F | bis zu 7 Dezimalstellen |
| doppelt | IEEE 754-Gleitkomma | 0,0 | 64 Bit | 1.23456e300d, -123456e-300d, 1e1d | bis zu 16 Dezimalstellen |
Lassen Sie uns jeden der folgenden Datentypen diskutieren und implementieren:
1. Boolescher Datentyp
Der boolesche Datentyp repräsentiert nur ein Informationsbit entweder wahr oder falsch Dies soll die beiden Wahrheitswerte der Logik und der Booleschen Algebra darstellen, die Größe des booleschen Datentyps beträgt jedoch Abhängig von der virtuellen Maschine . Werte vom Typ boolean werden weder implizit noch explizit (mit Umwandlungen) in einen anderen Typ konvertiert. Der Programmierer kann jedoch problemlos Konvertierungscode schreiben.
Syntax:
boolean booleanVar;
Größe: Abhängig von der virtuellen Maschine
2. Byte-Datentyp
Der Byte-Datentyp ist eine 8-Bit-Zweierkomplement-Ganzzahl mit Vorzeichen. Der Byte-Datentyp ist nützlich, um in großen Arrays Speicherplatz zu sparen.
Syntax:
byte byteVar;
Größe: 1 Byte (8 Bit)
3. Kurzer Datentyp
Der kurze Datentyp ist eine 16-Bit-Zweierkomplement-Ganzzahl mit Vorzeichen. Ähnlich wie bei Byte verwenden Sie einen Short, um in großen Arrays Speicher zu sparen, wenn die Speichereinsparung tatsächlich von Bedeutung ist.
Syntax:
short shortVar;
Größe: 2 Byte (16 Bit)
4. Ganzzahliger Datentyp
Es handelt sich um eine 32-Bit-Zweierkomplement-Ganzzahl mit Vorzeichen.
Syntax:
int intVar;
Größe: 4 Bytes (32 Bit)
Erinnern: In Java SE 8 und höher können wir den Datentyp int verwenden, um eine vorzeichenlose 32-Bit-Ganzzahl darzustellen, die einen Wert im Bereich [0, 2 hat 32 -1]. Verwenden Sie die Integer-Klasse, um den Datentyp int als vorzeichenlose Ganzzahl zu verwenden.
5. Langer Datentyp
Die Reichweite einer Langwaffe ist recht groß. Der Datentyp long ist eine 64-Bit-Zweierkomplement-Ganzzahl und eignet sich für Fälle, in denen ein int-Typ nicht groß genug ist, um den gewünschten Wert aufzunehmen. Die Größe des Long-Datentyps beträgt 8 Byte (64 Bit).
Syntax:
long longVar;
Erinnern: In Java SE 8 und höher können Sie den Long-Datentyp verwenden, um einen vorzeichenlosen 64-Bit-Long darzustellen, der einen Mindestwert von 0 und einen Höchstwert von 2 hat 64 -1. Die Long-Klasse enthält auch Methoden wie das Vergleichen von Unsigned, das Dividieren von Unsigned usw., um arithmetische Operationen für Unsigned Long zu unterstützen.
6. Float-Datentyp
Der Float-Datentyp ist ein 32-Bit-IEEE 754-Gleitkomma mit einfacher Genauigkeit. Verwenden Sie float (anstelle von double), wenn Sie in großen Arrays von Gleitkommazahlen Speicherplatz sparen müssen. Die Größe des Float-Datentyps beträgt 4 Byte (32 Bit).
Syntax:
float floatVar;
7. Doppelter Datentyp
Der Double-Datentyp ist ein 64-Bit-IEEE 754-Gleitkomma mit doppelter Genauigkeit. Für Dezimalwerte ist dieser Datentyp im Allgemeinen die Standardauswahl. Die Größe des Double-Datentyps beträgt 8 Byte oder 64 Bit.
Syntax:
double doubleVar;
Notiz: Sowohl die Float- als auch die Double-Datentypen wurden speziell für wissenschaftliche Berechnungen entwickelt, bei denen Näherungsfehler akzeptabel sind. Wenn die Genauigkeit oberste Priorität hat, wird empfohlen, diese Datentypen nicht zu verwenden und stattdessen die Klasse BigDecimal zu verwenden.
Es wird empfohlen, durchzugehen Rundungsfehler in Java.
8. Char-Datentyp
Der Datentyp char ist ein einzelnes 16-Bit-Unicode-Zeichen mit einer Größe von 2 Bytes (16 Bit).
Syntax:
char charVar;
Warum beträgt die Größe von char in Java 2 Bytes?
Andere Sprachen wie C/C++ verwenden also nur ASCII-Zeichen, und um alle ASCII-Zeichen darzustellen, reichen 8 Bit aus. Aber Java verwendet das Unicode-System, nicht das ASCII-Codesystem und um das Unicode-System darzustellen, reichen 8 Bits nicht aus, um alle Zeichen darzustellen, daher verwendet Java 2 Bytes für Zeichen. Unicode definiert einen vollständig internationalen Zeichensatz, der die meisten geschriebenen Sprachen der Welt darstellen kann. Es handelt sich um eine Vereinheitlichung Dutzender Zeichensätze wie Latein, Griechisch, Kyrillisch, Katakana, Arabisch und viele mehr.
Beispiel:
Java
// Java Program to Demonstrate Char Primitive Data Type> // Class> class> GFG {> > // Main driver method> > public> static> void> main(String args[])> > {> > // Creating and initializing custom character> > char> a => 'G'> ;> > // Integer data type is generally> > // used for numeric values> > int> i => 89> ;> > // use byte and short> > // if memory is a constraint> > byte> b => 4> ;> > // this will give error as number is> > // larger than byte range> > // byte b1 = 7888888955;> > short> s => 56> ;> > // this will give error as number is> > // larger than short range> > // short s1 = 87878787878;> > // by default fraction value> > // is double in java> > double> d => 4.355453532> ;> > // for float use 'f' as suffix as standard> > float> f => 4> .7333434f;> > // need to hold big range of numbers then we need> > // this data type> > long> l => 12121> ;> > System.out.println(> 'char: '> + a);> > System.out.println(> 'integer: '> + i);> > System.out.println(> 'byte: '> + b);> > System.out.println(> 'short: '> + s);> > System.out.println(> 'float: '> + f);> > System.out.println(> 'double: '> + d);> > System.out.println(> 'long: '> + l);> > }> }> |
Ausgabe
char: G integer: 89 byte: 4 short: 56 float: 4.7333436 double: 4.355453532 long: 12121
Nicht-primitiver Datentyp oder Referenzdatentypen
Der Referenzdatentypen enthält eine Speicheradresse von Variablenwerten, da die Referenztypen den Variablenwert nicht direkt im Speicher speichern. Es handelt sich um Strings, Objekte, Arrays usw.
1. Saiten
Saiten werden als Array von Zeichen definiert. Der Unterschied zwischen einem Zeichenarray und einem String in Java besteht darin, dass der String so konzipiert ist, dass er eine Folge von Zeichen in einer einzelnen Variablen enthält, während ein Zeichenarray eine Sammlung separater Entitäten vom Typ char ist. Im Gegensatz zu C/C++ werden Java-Strings nicht mit einem Nullzeichen abgeschlossen.
Syntax: Deklarieren einer Zeichenfolge
= ;
Beispiel:
// Declare String without using new operator String s = 'techcodeview.com'; // Declare String using new operator String s1 = new String('techcodeview.com'); 2. Klasse
A Klasse ist ein benutzerdefinierter Entwurf oder Prototyp, aus dem Objekte erstellt werden. Es stellt den Satz von Eigenschaften oder Methoden dar, die allen Objekten eines Typs gemeinsam sind. Im Allgemeinen können Klassendeklarationen diese Komponenten in der folgenden Reihenfolge enthalten:
- Modifikatoren : Eine Klasse kann öffentlich sein oder über Standardzugriff verfügen. Beziehen auf Zugriffsspezifizierer für Klassen oder Schnittstellen in Java
- Klassenname: Der Name sollte mit einem Anfangsbuchstaben beginnen (konventionell großgeschrieben).
- Oberklasse (falls vorhanden): Der Name der übergeordneten Klasse (Superklasse), sofern vorhanden, mit vorangestelltem Schlüsselwort „extends“. Eine Klasse kann nur ein Elternteil erweitern (Unterklasse).
- Schnittstellen (falls vorhanden): Eine durch Kommas getrennte Liste der von der Klasse implementierten Schnittstellen (falls vorhanden), dem das Schlüsselwort „implements“ vorangestellt ist. Eine Klasse kann mehr als eine Schnittstelle implementieren.
- Körper: Der Klassenkörper ist von geschweiften Klammern {} umgeben.
3. Objekt
Ein Objekt ist eine Grundeinheit der objektorientierten Programmierung und repräsentiert reale Entitäten. Ein typisches Java-Programm erstellt viele Objekte, die, wie Sie wissen, durch den Aufruf von Methoden interagieren. Ein Objekt besteht aus:
- Zustand : Es wird durch die Attribute eines Objekts dargestellt. Es spiegelt auch die Eigenschaften eines Objekts wider.
- Verhalten : Es wird durch die Methoden eines Objekts dargestellt. Es spiegelt auch die Reaktion eines Objekts auf andere Objekte wider.
- Identität : Es gibt einem Objekt einen eindeutigen Namen und ermöglicht einem Objekt die Interaktion mit anderen Objekten.
4. Schnittstelle
Wie eine Klasse, ein Schnittstelle kann Methoden und Variablen haben, aber die in einer Schnittstelle deklarierten Methoden sind standardmäßig abstrakt (nur Methodensignatur, kein Körper).
- Schnittstellen geben an, was eine Klasse tun muss und nicht wie. Es ist die Blaupause der Klasse.
- Bei einer Schnittstelle geht es um Fähigkeiten wie ein Player, der eine Schnittstelle sein kann, und jede Klasse, die Player implementiert, muss move() können (oder implementieren). Es gibt also eine Reihe von Methoden an, die die Klasse implementieren muss.
- Wenn eine Klasse eine Schnittstelle implementiert und nicht Methodenkörper für alle in der Schnittstelle angegebenen Funktionen bereitstellt, muss die Klasse als abstrakt deklariert werden.
- Ein Beispiel für eine Java-Bibliothek ist Komparatorschnittstelle . Wenn eine Klasse diese Schnittstelle implementiert, kann sie zum Sortieren einer Sammlung verwendet werden.
5. Array
Ein Array ist eine Gruppe von Variablen gleichen Typs, auf die mit einem gemeinsamen Namen verwiesen wird. Arrays funktionieren in Java anders als in C/C++. Im Folgenden finden Sie einige wichtige Punkte zu Java-Arrays.
- In Java werden alle Arrays dynamisch zugewiesen. (nachfolgend diskutiert)
- Da Arrays in Java Objekte sind, können wir ihre Länge mithilfe der Elementlänge ermitteln. Dies unterscheidet sich von C/C++, wo wir die Länge anhand der Größe ermitteln.
- Eine Java-Array-Variable kann auch wie andere Variablen mit [] nach dem Datentyp deklariert werden.
- Die Variablen im Array sind geordnet und jede hat einen Index, der mit 0 beginnt.
- Java-Arrays können auch als statisches Feld, lokale Variable oder Methodenparameter verwendet werden.
- Der Größe eines Arrays muss durch einen int-Wert und nicht durch long oder short angegeben werden.
- Die direkte Oberklasse eines Array-Typs ist Object.
- Jeder Array-Typ implementiert die Schnittstellen Klonbar Und java.io.Serializable .
FAQs zu Datentypen in Java
1. Was sind Datentypen in Java?
Datentypen haben unterschiedliche Größen und Werte, die je nach Bedarf und Umständen in der Variablen gespeichert werden können, um alle Testfälle abzudecken.
2. Welche 8 Datentypen werden in Java verwendet?
Es gibt 8 grundlegende primitive Datentypen in Java, wie unten erwähnt:
- Boolescher Wert
- Byte
- verkohlen
- kurz
- int
- lang
- schweben
- doppelt
3. Welcher ist ein primitiver Typ in Java?
Primitive Datentypen sind die Typen in Java, die einen einzelnen Wert speichern können und keine besonderen Funktionen bieten.
4. Warum verwendet char in Java 2 Bytes und was ist u0000?
Char verwendet in Java 2 Bytes, da es das Unicode-System anstelle des ASCII-Systems verwendet. u000 ist der niedrigste Bereich des Unicode-Systems.
Kasse: Quiz zum Datentyp in Java