I Java är variabler de databehållare som sparar datavärdena under körning av Java-program. Varje variabel i Java tilldelas en datatyp som anger typen och kvantiteten av värde den kan innehålla. En variabel är ett minnesplatsnamn för data.
Variabler i Java
Java-variabel är ett namn som ges till en minnesplats. Det är den grundläggande enheten för lagring i ett program.
- Värdet som lagras i en variabel kan ändras under programkörning.
- Variabler i Java är bara ett namn som ges till en minnesplats. Alla operationer som görs på variabeln påverkar den minnesplatsen.
- I Java måste alla variabler deklareras före användning.
Hur deklarerar man variabler i Java?
Vi kan deklarera variabler i Java som bildmässigt avbildade nedan som ett visuellt hjälpmedel.
Från bilden kan det lätt uppfattas att när vi deklarerar en variabel måste vi ta hand om två saker som är:
- data typ : Typ av data som kan lagras i denna variabel.
- data_name: Namnet gavs till variabeln.
På så sätt kan ett namn endast ges till en minnesplats. Den kan tilldelas värden på två sätt:
- Variabel initiering
- Tilldela värde genom att ta input
Hur initierar man variabler i Java?
Det kan uppfattas med hjälp av 3 komponenter som är följande:
- data typ : Typ av data som kan lagras i denna variabel.
- variabelnamn : Namn på variabeln.
- värde : Det är det initiala värdet som lagras i variabeln.
Illustrationer:
// Declaring float variable float simpleInterest; // Declaring and initializing integer variable int time = 10, speed = 20; // Declaring and initializing character variable char var = 'h';>
Typer av variabler i Java
Låt oss nu diskutera olika typer av variabler som är listade som följer:
- Lokala variabler
- Instansvariabler
- Statiska variabler
Låt oss diskutera egenskaperna hos varje typ av variabel som listas här i detalj.
1. Lokala variabler
En variabel som definieras inom ett block eller en metod eller en konstruktor kallas en lokal variabel.
- Dessa variabler skapas när blocket matas in, eller funktionen anropas och förstörs efter att ha lämnat blocket eller när anropet återkommer från funktionen.
- Omfattningen av dessa variabler existerar endast inom blocket där variablerna deklareras, det vill säga vi kan bara komma åt dessa variabler inom det blocket.
- Initiering av den lokala variabeln är obligatorisk innan den används i det definierade omfånget.
Metodens tidskomplexitet:
Time Complexity: O(1) Auxiliary Space: O(1)>
Nedan är implementeringen av ovanstående tillvägagångssätt:
Java
java samlingar java
// Java Program to implement> // Local Variables> import> java.io.*;> class> GFG {> > public> static> void> main(String[] args)> > {> > // Declared a Local Variable> > int> var => 10> ;> > // This variable is local to this main method only> > System.out.println(> 'Local Variable: '> + var);> > }> }> |
>
>Produktion
Local Variable: 10>
Exempel:
Java
package> a;> public> class> LocalVariable {> > public> static> void> main(String[] args)> > {> > // x is a local variable> > int> x => 10> ;> > // message is also a local> > // variable> > String message => 'Hello, world!'> ;> > System.out.println(> 'x = '> + x);> > System.out.println(> 'message = '> + message);> > if> (x>> 5> ) {> > // result is a> > // local variable> > String result => 'x is greater than 5'> ;> > System.out.println(result);> > }> > // Uncommenting the line below will result in a> > // compile-time error System.out.println(result);> > for> (> int> i => 0> ; i <> 3> ; i++) {> > String loopMessage> > => 'Iteration '> > + i;> // loopMessage is a local variable> > System.out.println(loopMessage);> > }> > // Uncommenting the line below will result in a> > // compile-time error> > // System.out.println(loopMessage);> > }> }> |
>
>
Utgång:
message = Hello, world! x is greater than 5 Iteration 0 Iteration 1 Iteration 2>
2. Instansvariabler
Instansvariabler är icke-statiska variabler och deklareras i en klass utanför någon metod, konstruktor eller block.
- Eftersom instansvariabler deklareras i en klass, skapas dessa variabler när ett objekt i klassen skapas och förstörs när objektet förstörs.
- Till skillnad från lokala variabler kan vi använda åtkomstspecifikatorer till exempel variabler. Om vi inte anger någon åtkomstspecifikator kommer standardåtkomstspecifikationen att användas.
- Initiering av en instansvariabel är inte obligatorisk. Dess standardvärde är beroende av variabelns datatyp. För Sträng det är null, för flyta Det är 0.0f, för int det är 0. för Wrapper klasser som Heltal det är null osv.
- Förekomstvariabler kan endast nås genom att skapa objekt.
- Vi initierar instansvariabler med hjälp av konstruktörer när du skapar ett objekt. Vi kan också använda instansblock för att initiera instansvariablerna.
Metodens komplexitet:
Time Complexity: O(1) Auxiliary Space: O(1)>
Nedan är implementeringen av ovanstående tillvägagångssätt:
Java
// Java Program to demonstrate> // Instance Variables> import> java.io.*;> class> GFG {> > // Declared Instance Variable> > public> String geek;> > public> int> i;> > public> Integer I;> > public> GFG()> > {> > // Default Constructor> > // initializing Instance Variable> > this> .geek => 'Shubham Jain'> ;> > }> > // Main Method> > public> static> void> main(String[] args)> > {> > // Object Creation> > GFG name => new> GFG();> > // Displaying O/P> > System.out.println(> 'Geek name is: '> + name.geek);> > System.out.println(> 'Default value for int is '> > + name.i);> > > // toString() called internally> > System.out.println(> 'Default value for Integer is '> > + name.I);> > }> }> |
java program loop
>
c++ prototypfunktion
>Produktion
Geek name is: Shubham Jain Default value for int is 0 Default value for Integer is null>
3. Statiska variabler
Statiska variabler är också kända som klassvariabler.
- Dessa variabler deklareras på samma sätt som instansvariabler. Skillnaden är att statiska variabler deklareras med det statiska nyckelordet inom en klass utanför någon metod, konstruktor eller block.
- Till skillnad från instansvariabler kan vi bara ha en kopia av en statisk variabel per klass, oavsett hur många objekt vi skapar.
- Statiska variabler skapas i början av programexekveringen och förstörs automatiskt när exekveringen avslutas.
- Initiering av en statisk variabel är inte obligatorisk. Dess standardvärde är beroende av variabelns datatyp. För Sträng det är null , för flyta det är 0,0f , för int det är 0 , för Inpackningsklasser tycka om Heltal det är null, etc.
- Om vi kommer åt en statisk variabel som en instansvariabel (genom ett objekt), kommer kompilatorn att visa ett varningsmeddelande som inte stoppar programmet. Kompilatorn kommer automatiskt att ersätta objektnamnet med klassnamnet.
- Om vi kommer åt en statisk variabel utan klassnamnet kommer kompilatorn automatiskt att lägga till klassnamnet. Men för att komma åt den statiska variabeln för en annan klass måste vi nämna klassnamnet eftersom två olika klasser kan ha en statisk variabel med samma namn.
- Statiska variabler kan inte deklareras lokalt i en instansmetod.
- Statiska block kan användas för att initiera statiska variabler.
Metodens komplexitet:
Time Complexity: O(1) Auxiliary Space: O(1)>
Nedan är implementeringen av ovanstående tillvägagångssätt:
Java
// Java Program to demonstrate> // Static variables> import> java.io.*;> class> GFG {> > // Declared static variable> > public> static> String geek => 'Shubham Jain'> ;> > > public> static> void> main(String[] args)> > {> > // geek variable can be accessed without object> > // creation Displaying O/P GFG.geek -->med hjälp av> > // static variable> > System.out.println(> 'Geek Name is : '> + GFG.geek);> > // static int c=0;> > // above line,when uncommented,> > // will throw an error as static variables cannot be> > // declared locally.> > }> }> |
>
>Produktion
Geek Name is : Shubham Jain>
Skillnader mellan instansvariabler och statiska variabler
Låt oss nu diskutera skillnaderna mellan instansvariablerna och de statiska variablerna:
- Varje objekt kommer att ha sin egen kopia av en instansvariabel, medan vi bara kan ha en kopia av en statisk variabel per klass, oavsett hur många objekt vi skapar. Således, statiska variabler är bra för minne förvaltning .
- Ändringar som görs i en instansvariabel med ett objekt kommer inte att återspeglas i andra objekt eftersom varje objekt har sin egen kopia av instansvariabeln. I fallet med en statisk variabel kommer ändringar att återspeglas i andra objekt eftersom statiska variabler är gemensamma för alla objekt i en klass.
- Vi kan komma åt instansvariabler genom objektreferenser, och statiska variabler kan nås direkt med hjälp av klassnamnet .
- Instansvariabler skapas när ett objekt skapas med hjälp av nyckelordet 'ny' och förstörs när objektet förstörs. Statiska variabler skapas när programmet startar och förstörs när programmet slutar.
Syntax: Statiska och instansvariabler
class GFG { // Static variable static int a; // Instance variable int b; }>
Slutsats
De viktiga punkterna att komma ihåg i artiklarna nämns nedan:
- Variables in Java är en databehållare som sparar datavärdena under körning av Java-program.
- Det finns tre typer av variabler i Java Local variabler, statiska variabler och instansvariabler.
Vanliga frågor om variabler i Java
Q1. Vad är variabler i Java?
Variabler är behållare i Java som kan lagra datavärden inuti dem.
Q2. Vilka är de tre typerna av variabler i Java?
Det finns tre typer av variabler i Java som nämns nedan:
- Lokala variabler
- Statiska variabler
- Instansvariabler
Q3. Hur deklarerar man variabler i Java-exempel?
Vi kan deklarera variabler i java med syntax enligt nedan:
data_type variable_name;>Exempel:
// Integer datatype with var1 name int var1;>
Måste läsas:
- Regler för variabeldeklaration i Java
- Omfattning av variabler i Java
- Jämförelse av statiska nyckelord i C++ och Java
- Är statiska lokala variabler tillåtna i Java?
- Instansvariabel gömmer sig i Java