Maybaygiare.org

Blog Network

Java – Variablentypen

Werbung

Eine Variable bietet uns benannten Speicher, den unsere Programme bearbeiten können. Jede Variable in Java hat einen bestimmten Typ, der die Größe und das Layout des Speichers der Variablen bestimmt. der Wertebereich, der in diesem Speicher gespeichert werden kann; und die Menge der Operationen, die auf die Variable angewendet werden können.

Sie müssen alle Variablen deklarieren, bevor sie verwendet werden können. Es folgt die Grundform einer Variablendeklaration –

data type variable ...] ;

Hier ist der Datentyp einer der Datentypen von Java und Variable ist der Name der Variablen. Um mehr als eine Variable des angegebenen Typs zu deklarieren, können Sie eine kommagetrennte Liste verwenden.

Im Folgenden finden Sie gültige Beispiele für die Deklaration und Initialisierung von Variablen in Java −

Beispiel

int a, b, c; // Declares three ints, a, b, and c.int a = 10, b = 10; // Example of initializationbyte B = 22; // initializes a byte type variable B.double pi = 3.14159; // declares and assigns a value of PI.char a = 'a'; // the char variable a iis initialized with value 'a'

In diesem Kapitel werden verschiedene in Java verfügbare Variablentypen erläutert. Es gibt drei Arten von Variablen in Java –

  • Lokale Variablen
  • Instanzvariablen
  • Klassen- / Statische Variablen

Lokale Variablen

  • Lokale Variablen werden in Methoden, Konstruktoren oder Blöcken deklariert.

  • Lokale Variablen werden erstellt, wenn die Methode, der Konstruktor oder der Block eingegeben wird, und die Variable wird zerstört, sobald sie die Methode, den Konstruktor oder den Block verlässt.

  • Zugriffsmodifikatoren können nicht für lokale Variablen verwendet werden.

  • Lokale Variablen sind nur innerhalb der deklarierten Methode, des Konstruktors oder Blocks sichtbar.

  • Lokale Variablen werden intern auf Stack-Ebene implementiert.

  • Es gibt keinen Standardwert für lokale Variablen, daher sollten lokale Variablen deklariert und vor der ersten Verwendung ein Anfangswert zugewiesen werden.

Beispiel

Hier ist age eine lokale Variable. Dies ist in der pupAge() -Methode definiert und ihr Umfang ist nur auf diese Methode beschränkt.

public class Test { public void pupAge() { int age = 0; age = age + 7; System.out.println("Puppy age is : " + age); } public static void main(String args) { Test test = new Test(); test.pupAge(); }}

Dies führt zu folgendem Ergebnis −

Ausgabe

Puppy age is: 7

Beispiel

Das folgende Beispiel verwendet age ohne es zu initialisieren, so dass es zum Zeitpunkt der Kompilierung einen Fehler geben würde.

public class Test { public void pupAge() { int age; age = age + 7; System.out.println("Puppy age is : " + age); } public static void main(String args) { Test test = new Test(); test.pupAge(); }}

Dies erzeugt beim Kompilieren den folgenden Fehler −

Ausgabe

Test.java:4:variable number might not have been initializedage = age + 7; ^1 error

Instanzvariablen

  • Instanzvariablen werden in einer Klasse deklariert, jedoch außerhalb einer Methode, eines Konstruktors oder eines Blocks.

  • Wenn einem Objekt im Heap ein Speicherplatz zugewiesen wird, wird für jeden Instanzvariablenwert ein Slot erstellt.

  • Instanzvariablen werden erstellt, wenn ein Objekt mit dem Schlüsselwort ’new‘ erstellt und zerstört wird, wenn das Objekt zerstört wird.

  • Instanzvariablen enthalten Werte, auf die von mehr als einer Methode, einem Konstruktor oder einem Block verwiesen werden muss, oder wesentliche Teile des Status eines Objekts, die in der gesamten Klasse vorhanden sein müssen.

  • Instanzvariablen können vor oder nach der Verwendung auf Klassenebene deklariert werden.

  • Zugriffsmodifikatoren können für Instanzvariablen angegeben werden.

  • Die Instanzvariablen sind für alle Methoden, Konstruktoren und Blöcke in der Klasse sichtbar. Normalerweise wird empfohlen, diese Variablen privat zu machen (Zugriffsebene). Für diese Variablen kann jedoch die Sichtbarkeit für Unterklassen mithilfe von Zugriffsmodifikatoren angegeben werden.

  • Instanzvariablen haben Standardwerte. Für Zahlen ist der Standardwert 0, für Boolesche Werte false und für Objektreferenzen null. Werte können während der Deklaration oder innerhalb des Konstruktors zugewiesen werden.

  • Auf Instanzvariablen kann direkt zugegriffen werden, indem der Variablenname innerhalb der Klasse aufgerufen wird. Innerhalb statischer Methoden (wenn Instanzvariablen Barrierefreiheit erhalten) sollten sie jedoch mit dem vollständig qualifizierten Namen aufgerufen werden. ObjectReference.Variablenname.

Beispiel

import java.io.*;public class Employee { // this instance variable is visible for any child class. public String name; // salary variable is visible in Employee class only. private double salary; // The name variable is assigned in the constructor. public Employee (String empName) { name = empName; } // The salary variable is assigned a value. public void setSalary(double empSal) { salary = empSal; } // This method prints the employee details. public void printEmp() { System.out.println("name : " + name ); System.out.println("salary :" + salary); } public static void main(String args) { Employee empOne = new Employee("Ransika"); empOne.setSalary(1000); empOne.printEmp(); }}

Dies führt zu folgendem Ergebnis −

Ausgabe

name : Ransikasalary :1000.0

Klasse/Statische Variablen

  • Klassenvariablen, auch als statische Variablen bezeichnet, werden mit dem Schlüsselwort static in einer Klasse deklariert, jedoch außerhalb eine Methode, ein Konstruktor oder ein Block.

  • Es würde nur eine Kopie jeder Klassenvariablen pro Klasse geben, unabhängig davon, wie viele Objekte daraus erstellt werden.

  • Statische Variablen werden selten verwendet, außer als Konstanten deklariert zu werden. Konstanten sind Variablen, die als public/private, final und static deklariert sind. Konstante Variablen ändern sich nie von ihrem Anfangswert.

  • Statische Variablen werden im statischen Speicher gespeichert. Es ist selten, statische Variablen zu verwenden, die nicht als final deklariert und entweder als öffentliche oder private Konstanten verwendet werden.

  • Statische Variablen werden beim Programmstart erzeugt und beim Programmstopp zerstört.

  • Sichtbarkeit ähnelt Instanzvariablen. Die meisten statischen Variablen werden jedoch als öffentlich deklariert, da sie für Benutzer der Klasse verfügbar sein müssen.

  • Standardwerte sind dieselben wie Instanzvariablen. Für Zahlen ist der Standardwert 0, für Boolesche Werte false und für Objektreferenzen null. Werte können während der Deklaration oder innerhalb des Konstruktors zugewiesen werden. Zusätzlich können Werte in speziellen statischen Initialisierungsblöcken zugewiesen werden.

  • Auf statische Variablen kann durch Aufruf mit dem Klassennamen className zugegriffen werden.Variablenname.

  • Wenn Klassenvariablen als public static final deklariert werden, sind Variablennamen (Konstanten) alle in Großbuchstaben geschrieben. Wenn die statischen Variablen nicht public und final sind, ist die Benennungssyntax dieselbe wie Instanzvariablen und lokale Variablen.

Beispiel

import java.io.*;public class Employee { // salary variable is a private static variable private static double salary; // DEPARTMENT is a constant public static final String DEPARTMENT = "Development "; public static void main(String args) { salary = 1000; System.out.println(DEPARTMENT + "average salary:" + salary); }}

Dies führt zu folgendem Ergebnis −

Ausgabe

Development average salary:1000

Hinweis − Wenn auf die Variablen von einer externen Klasse zugegriffen wird, sollte auch auf die Konstante zugegriffen werden.ABTEILUNG

Was kommt als nächstes?

Sie haben in diesem Kapitel bereits Zugriffsmodifikatoren (public & private) verwendet. Im nächsten Kapitel werden Zugriffsmodifikatoren und Nicht-Zugriffsmodifikatoren im Detail erläutert.

Werbung

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht.