Java-Datentypen

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

  1. Primitiver Datentyp: wie boolean, char, int, short, byte, long, float und double
  2. Nicht-primitiver Datentyp oder Objektdatentyp: wie String, Array usw.

Datentypen-Java



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:

  1. Modifikatoren : Eine Klasse kann öffentlich sein oder über Standardzugriff verfügen. Beziehen auf Zugriffsspezifizierer für Klassen oder Schnittstellen in Java
  2. Klassenname: Der Name sollte mit einem Anfangsbuchstaben beginnen (konventionell großgeschrieben).
  3. Oberklasse (falls vorhanden): Der Name der übergeordneten Klasse (Superklasse), sofern vorhanden, mit vorangestelltem Schlüsselwort „extends“. Eine Klasse kann nur ein Elternteil erweitern (Unterklasse).
  4. 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.
  5. 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:

  1. Zustand : Es wird durch die Attribute eines Objekts dargestellt. Es spiegelt auch die Eigenschaften eines Objekts wider.
  2. Verhalten : Es wird durch die Methoden eines Objekts dargestellt. Es spiegelt auch die Reaktion eines Objekts auf andere Objekte wider.
  3. 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



Top Artikel

Kategorie

Interessante Artikel