I Java er variabler de databeholdere, der gemmer dataværdierne under udførelse af Java-program. Hver variabel i Java er tildelt en datatype, der angiver typen og mængden af værdi, den kan indeholde. En variabel er et hukommelsesplaceringsnavn for dataene.
Variabler i Java
Java-variabel er et navn givet til en hukommelsesplacering. Det er den grundlæggende lagerenhed i et program.
- Værdien gemt i en variabel kan ændres under programafviklingen.
- Variabler i Java er kun et navn givet til en hukommelsesplacering. Alle de handlinger, der udføres på variablen, påvirker denne hukommelsesplacering.
- I Java skal alle variable erklæres før brug.
Hvordan erklærer man variabler i Java?
Vi kan erklære variabler i Java som billedligt afbildet nedenfor som en visuel hjælp.
Fra billedet kan det let opfattes, at mens vi erklærer en variabel, skal vi tage os af to ting, der er:
- datatype : Type data, der kan gemmes i denne variabel.
- data_name: Navn blev givet til variablen.
På denne måde kan et navn kun gives til en hukommelsesplacering. Det kan tildeles værdier på to måder:
- Variabel initialisering
- Tildele værdi ved at tage input
Hvordan initialiseres variabler i Java?
Det kan opfattes ved hjælp af 3 komponenter, der er som følger:
- datatype : Type data, der kan gemmes i denne variabel.
- variabel_navn : Navn givet til variablen.
- værdi : Det er startværdien, der er gemt i variablen.
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 af variabler i Java
Lad os nu diskutere forskellige typer variabler, der er opført som følger:
- Lokale variabler
- Forekomstvariabler
- Statiske variable
Lad os diskutere træk ved hver type variabel, der er anført her i detaljer.
1. Lokale variabler
En variabel defineret i en blok eller metode eller konstruktør kaldes en lokal variabel.
- Disse variabler oprettes, når blokken indtastes, eller funktionen kaldes og destrueres efter at have forladt blokken, eller når kaldet vender tilbage fra funktionen.
- Omfanget af disse variable findes kun inden for den blok, hvori variablerne er erklæret, dvs. vi kan kun få adgang til disse variabler inden for den blok.
- Initialisering af den lokale variabel er obligatorisk, før den bruges i det definerede omfang.
Metodens tidskompleksitet:
Time Complexity: O(1) Auxiliary Space: O(1)>
Nedenfor er implementeringen af ovenstående tilgang:
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>
Eksempel:
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);> > }> }> |
>
>
Output:
message = Hello, world! x is greater than 5 Iteration 0 Iteration 1 Iteration 2>
2. Forekomstvariabler
Forekomstvariabler er ikke-statiske variable og erklæres i en klasse uden for enhver metode, konstruktør eller blok.
- Da instansvariabler er erklæret i en klasse, oprettes disse variable, når et objekt i klassen oprettes, og destrueres, når objektet ødelægges.
- I modsætning til lokale variabler, kan vi bruge adgangsspecifikationer for for eksempel variabler. Hvis vi ikke angiver nogen adgangsspecifikation, vil standardadgangsspecifikationen blive brugt.
- Initialisering af en instansvariabel er ikke obligatorisk. Dens standardværdi afhænger af variabelens datatype. Til Snor det er nul, til flyde det er 0.0f, til int det er 0. til Wrapper klasser som Heltal det er null osv.
- Forekomstvariabler kan kun tilgås ved at oprette objekter.
- Vi initialiserer instansvariabler vha konstruktører mens du opretter et objekt. Vi kan også bruge instansblokke for at initialisere instansvariablerne.
Metodens kompleksitet:
Time Complexity: O(1) Auxiliary Space: O(1)>
Nedenfor er implementeringen af ovenstående tilgang:
java objekt til json
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);> > }> }> |
>
>Produktion
Geek name is: Shubham Jain Default value for int is 0 Default value for Integer is null>
3. Statiske variable
Statiske variable er også kendt som klassevariable.
- Disse variable erklæres på samme måde som instansvariabler. Forskellen er, at statiske variable er erklæret ved hjælp af det statiske nøgleord inden for en klasse uden for enhver metode, konstruktør eller blok.
- I modsætning til instansvariabler kan vi kun have én kopi af en statisk variabel pr. klasse, uanset hvor mange objekter vi opretter.
- Statiske variable oprettes ved starten af programafviklingen og destrueres automatisk, når eksekveringen slutter.
- Initialisering af en statisk variabel er ikke obligatorisk. Dens standardværdi afhænger af variabelens datatype. Til Snor det er nul , til flyde det er 0,0f , til int det er 0 , til Indpakningsklasser synes godt om Heltal det er nul, etc.
- Hvis vi får adgang til en statisk variabel som en instansvariabel (gennem et objekt), vil compileren vise en advarselsmeddelelse, som ikke stopper programmet. Compileren vil automatisk erstatte objektnavnet med klassenavnet.
- Hvis vi får adgang til en statisk variabel uden klassenavnet, tilføjer compileren automatisk klassenavnet. Men for at få adgang til den statiske variabel i en anden klasse, skal vi nævne klassenavnet, da 2 forskellige klasser kan have en statisk variabel med samme navn.
- Statiske variabler kan ikke erklæres lokalt i en instansmetode.
- Statiske blokke kan bruges til at initialisere statiske variable.
Metodens kompleksitet:
Time Complexity: O(1) Auxiliary Space: O(1)>
Nedenfor er implementeringen af ovenstående tilgang:
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 -->ved at bruge> > // 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>
Forskelle mellem instansvariablerne og de statiske variable
Lad os nu diskutere forskellene mellem instansvariablerne og de statiske variable:
- Hvert objekt vil have sin egen kopi af en instansvariabel, hvorimod vi kun kan have én kopi af en statisk variabel pr. klasse, uanset hvor mange objekter vi opretter. Dermed, statiske variable er gode til hukommelse ledelse .
- Ændringer foretaget i en instansvariabel ved hjælp af et objekt vil ikke blive afspejlet i andre objekter, da hvert objekt har sin egen kopi af instansvariablen. I tilfælde af en statisk variabel vil ændringer blive afspejlet i andre objekter, da statiske variable er fælles for alle objekter i en klasse.
- Vi kan få adgang til instansvariabler gennem objektreferencer, og statiske variabler kan tilgås direkte ved hjælp af klassenavnet .
- Forekomstvariabler oprettes, når et objekt oprettes ved brug af nøgleordet 'ny', og destrueres, når objektet ødelægges. Statiske variable skabes, når programmet starter, og destrueres, når programmet stopper.
Syntaks: Statiske og instansvariabler
class GFG { // Static variable static int a; // Instance variable int b; }>
Konklusion
De vigtige punkter at huske i artiklerne er nævnt nedenfor:
- Variabler i Java er en databeholder, der gemmer dataværdierne under afvikling af Java-program.
- Der er tre typer variabler i Java Local variabler, statiske variabler og instansvariabler.
Ofte stillede spørgsmål om variabler i Java
Q1. Hvad er variabler i Java?
Variabler er de beholdere i Java, der kan gemme dataværdier inde i dem.
Q2. Hvad er de 3 typer variabler i Java?
Der er tre typer variabler i Java, som er nævnt nedenfor:
- Lokale variabler
- Statiske variable
- Forekomstvariabler
Q3. Hvordan erklærer man variabler i Java-eksempler?
Vi kan erklære variabler i java med syntaks som nævnt nedenfor:
data_type variable_name;>Eksempel:
// Integer datatype with var1 name int var1;>
Skal læses:
- Regler for variabel erklæring i Java
- Omfanget af variabler i Java
- Sammenligning af statiske nøgleord i C++ og Java
- Er statiske lokale variabler tilladt i Java?
- Instance Variable Skjuler i Java