en variabel ger oss namngiven lagring som våra program kan manipulera. Varje variabel i Java har en specifik typ som bestämmer storleken och layouten för variabelns minne; intervallet av värden som kan lagras i det minnet; och uppsättningen operationer som kan tillämpas på variabeln.
Du måste deklarera alla variabler innan de kan användas. Följande är grundformen för en variabeldeklaration −
data type variable ...] ;
här är datatypen en av Java: s datatyper och variabel är namnet på variabeln. För att deklarera mer än en variabel av den angivna typen kan du använda en kommaseparerad lista.
Följande är giltiga exempel på variabel deklaration och initiering i Java −
exempel
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'
detta kapitel kommer att förklara olika variabla typer som finns på Java-språk. Det finns tre typer av variabler i Java-
- lokala variabler
- instansvariabler
- klass / statiska variabler
lokala variabler
-
lokala variabler deklareras i metoder, konstruktörer eller block.
-
lokala variabler skapas när metoden, konstruktören eller blocket anges och variabeln förstörs när den lämnar metoden, konstruktören eller blocket.
-
åtkomstmodifierare kan inte användas för lokala variabler.
-
lokala variabler är bara synliga inom den deklarerade metoden, konstruktören eller blocket.
-
lokala variabler implementeras internt på stacknivå.
-
det finns inget standardvärde för lokala variabler, så lokala variabler bör deklareras och ett initialvärde bör tilldelas före första användningen.
exempel
här är ålder en lokal variabel. Detta definieras inuti pupAge () – metoden och dess omfattning är begränsad till endast denna metod.
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(); }}
detta kommer att ge följande resultat −
utgång
Puppy age is: 7
exempel
Följande exempel använder ålder utan att initiera det, så det skulle ge ett fel vid tidpunkten för sammanställningen.
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(); }}
detta kommer att ge följande Fel vid kompilering av det −
utgång
Test.java:4:variable number might not have been initializedage = age + 7; ^1 error
instansvariabler
-
instansvariabler deklareras i en klass, men utanför en metod, konstruktör eller något block.
-
När ett mellanslag tilldelas för ett objekt i högen skapas en plats för varje instansvariabelvärde.
-
instansvariabler skapas när ett objekt skapas med hjälp av nyckelordet ’ny’ och förstörs när objektet förstörs.
-
instansvariabler innehåller värden som måste refereras med mer än en metod, konstruktör eller block eller väsentliga delar av ett objekts tillstånd som måste finnas i hela klassen.
-
instansvariabler kan deklareras i klassnivå före eller efter användning.
-
åtkomstmodifierare kan ges till exempel variabler.
-
instansvariablerna är synliga för alla metoder, konstruktörer och block i klassen. Normalt rekommenderas att göra dessa variabler privata (åtkomstnivå). Synlighet för underklasser kan dock ges för dessa variabler med hjälp av åtkomstmodifierare.
-
instansvariabler har standardvärden. För tal är standardvärdet 0, för Booleaner är det falskt och för objektreferenser är det null. Värden kan tilldelas under deklarationen eller inom konstruktören.
-
instansvariabler kan nås direkt genom att anropa variabelnamnet i klassen. Inom statiska metoder (när instansvariabler ges tillgänglighet) bör de dock anropas med det fullständigt kvalificerade namnet. Objektreferens.Variabelnamn.
exempel
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(); }}
detta ger följande resultat −
utgång
name : Ransikasalary :1000.0
klass/statiska variabler
-
Klassvariabler, även kända som statiska variabler, deklareras med det statiska nyckelordet i en klass, men utanför en metod, konstruktör eller ett block.
-
det skulle bara finnas en kopia av varje klassvariabel per klass, oavsett hur många objekt som skapas från den.
-
statiska variabler används sällan annat än att deklareras som konstanter. Konstanter är variabler som deklareras som offentliga / privata, slutliga och statiska. Konstanta variabler ändras aldrig från deras ursprungliga värde.
-
statiska variabler lagras i det statiska minnet. Det är sällsynt att använda andra statiska variabler än deklarerade slutliga och används som antingen offentliga eller privata konstanter.
-
statiska variabler skapas när programmet startar och förstörs när programmet stannar.
-
synlighet liknar instansvariabler. De flesta statiska variabler förklaras dock offentliga eftersom de måste vara tillgängliga för användare av klassen.
-
standardvärden är samma som instansvariabler. För tal är standardvärdet 0; för Booleaner är det falskt; och för objektreferenser är det null. Värden kan tilldelas under deklarationen eller inom konstruktören. Dessutom kan värden tilldelas i speciella statiska initialiseringsblock.
-
statiska variabler kan nås genom att ringa med klassnamnet ClassName.Variabelnamn.
-
När klassvariabler deklareras som offentliga statiska slutliga, är variabla namn (konstanter) alla i stora bokstäver. Om de statiska variablerna inte är offentliga och slutliga är namnsyntaxen samma som instans och lokala variabler.
exempel
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); }}
detta ger följande resultat −
utgång
Development average salary:1000
Obs − Om variablerna nås från en extern klass, bör konstanten nås som anställd.Avdelning
Vad är nästa?
Du har redan använt åtkomstmodifierare (public & private) i det här kapitlet. Nästa kapitel kommer att förklara åtkomstmodifierare och icke-åtkomstmodifierare i detalj.