logo

Java proměnné

V Javě jsou proměnné datové kontejnery, které ukládají datové hodnoty během provádění Java programu. Každé proměnné v Javě je přiřazen datový typ, který určuje typ a množství hodnoty, kterou může obsahovat. Proměnná je název paměťového místa pro data.

Proměnné v Javě

Java proměnná je název přidělený paměťovému umístění. Je to základní jednotka úložiště v programu.



  • Hodnotu uloženou v proměnné lze během provádění programu změnit.
  • Proměnné v Javě jsou pouze názvy dané paměťovému umístění. Všechny operace provedené s proměnnou ovlivňují toto umístění v paměti.
  • V Javě musí být všechny proměnné před použitím deklarovány.

Jak deklarovat proměnné v Javě?

Proměnné můžeme deklarovat v Javě, jak je níže vyobrazeno, jako vizuální pomůcku.

Z obrázku lze snadno vnímat, že při deklaraci proměnné se musíme postarat o dvě věci, kterými jsou:

  1. datový typ : Typ dat, která lze uložit do této proměnné.
  2. data_name: Název byl přidělen proměnné.

Tímto způsobem lze pojmenovat pouze paměťové místo. Hodnoty lze přiřadit dvěma způsoby:



  • Variabilní inicializace
  • Přiřazení hodnoty převzetím vstupu

Jak inicializovat proměnné v Javě?

Lze jej vnímat pomocí 3 složek, které jsou následující:

  • datový typ : Typ dat, která lze uložit do této proměnné.
  • název_proměnné : Název přidělený proměnné.
  • hodnota : Je to počáteční hodnota uložená v proměnné.

ilustrace:

// Declaring float variable float simpleInterest;  // Declaring and initializing integer variable int time = 10, speed = 20;  // Declaring and initializing character variable char var = 'h';>

Typy proměnných v Javě

Nyní pojďme diskutovat o různých typech proměnných, které jsou uvedeny jako následuje:



  1. Místní proměnné
  2. Proměnné instance
  3. Statické proměnné

Proberme vlastnosti každého typu zde uvedených proměnných podrobně.

1. Lokální proměnné

Proměnná definovaná v rámci bloku nebo metody nebo konstruktoru se nazývá lokální proměnná.

  • Tyto proměnné jsou vytvořeny při vstupu do bloku nebo při volání funkce a její zničení po opuštění bloku nebo při návratu volání z funkce.
  • Rozsah těchto proměnných existuje pouze v rámci bloku, ve kterém jsou proměnné deklarovány, tj. k těmto proměnným můžeme přistupovat pouze v rámci tohoto bloku.
  • Inicializace lokální proměnné je povinná před jejím použitím v definovaném rozsahu.

Časová náročnost metody:

  Time Complexity:   O(1)   Auxiliary Space:   O(1)>

Níže je uvedena implementace výše uvedeného přístupu:

Jáva




kat timpf sestra

// 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);> >}> }>

>

>

Výstup

Local Variable: 10>

Příklad:

Jáva




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);> >}> }>

>

>

Výstup :

message = Hello, world! x is greater than 5 Iteration 0 Iteration 1 Iteration 2>

2. Proměnné instance

Proměnné instance jsou nestatické proměnné a jsou deklarovány ve třídě mimo jakoukoli metodu, konstruktor nebo blok.

  • Protože jsou proměnné instance deklarovány ve třídě, jsou tyto proměnné vytvořeny, když je vytvořen objekt třídy, a zničeny, když je objekt zničen.
  • Na rozdíl od lokálních proměnných můžeme například pro proměnné použít specifikátory přístupu. Pokud neuvedeme žádný specifikátor přístupu, použije se výchozí specifikátor přístupu.
  • Inicializace proměnné instance není povinná. Jeho výchozí hodnota je závislá na datovém typu proměnné. Pro Tětiva to je nula, pro plovák to je 0,0f, pro int to je 0. pro Wrapper třídy jako Celé číslo to je null atd.
  • K proměnným instance lze přistupovat pouze vytvořením objektů.
  • Inicializujeme proměnné instance pomocí konstruktéři při vytváření objektu. Můžeme také použít bloky instancí inicializovat proměnné instance.

Složitost metody:

  Time Complexity:   O(1)   Auxiliary Space:   O(1)>

Níže je uvedena implementace výše uvedeného přístupu:

Jáva




// 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);> >}> }>

>

řetězec java obsahuje

xor c++
>

Výstup

Geek name is: Shubham Jain Default value for int is 0 Default value for Integer is null>

3. Statické proměnné

Statické proměnné jsou také známé jako proměnné třídy.

  • Tyto proměnné jsou deklarovány podobně jako proměnné instance. Rozdíl je v tom, že statické proměnné jsou deklarovány pomocí klíčového slova static v rámci třídy mimo jakoukoli metodu, konstruktor nebo blok.
  • Na rozdíl od instančních proměnných můžeme mít pouze jednu kopii statické proměnné na třídu, bez ohledu na to, kolik objektů vytvoříme.
  • Statické proměnné jsou vytvořeny na začátku provádění programu a automaticky zničeny, když provádění skončí.
  • Inicializace statické proměnné není povinná. Jeho výchozí hodnota je závislá na datovém typu proměnné. Pro Tětiva to je nula , pro plovák to je 0,0f , pro int to je 0 , pro Třídy obalování jako Celé číslo to je nula, atd.
  • Pokud přistupujeme ke statické proměnné, jako je proměnná instance (prostřednictvím objektu), kompilátor zobrazí varovnou zprávu, která nezastaví program. Kompilátor automaticky nahradí název objektu názvem třídy.
  • Pokud přistupujeme ke statické proměnné bez názvu třídy, překladač automaticky připojí název třídy. Ale pro přístup ke statické proměnné jiné třídy musíme uvést název třídy, protože 2 různé třídy mohou mít statickou proměnnou se stejným názvem.
  • Statické proměnné nelze deklarovat lokálně uvnitř metody instance.
  • Statické bloky lze použít k inicializaci statických proměnných.

Složitost metody:

  Time Complexity:   O(1)   Auxiliary Space:   O(1)>

Níže je uvedena implementace výše uvedeného přístupu:

Jáva




// 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 -->pomocí> >// 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.> >}> }>

>

>

Výstup

Geek Name is : Shubham Jain>

Rozdíly mezi proměnnými instance a statickými proměnnými

Nyní pojďme diskutovat o rozdílech mezi proměnnými instance a statickými proměnnými:

  • Každý objekt bude mít svou vlastní kopii proměnné instance, zatímco můžeme mít pouze jednu kopii statické proměnné na třídu, bez ohledu na to, kolik objektů vytvoříme. Tím pádem, statické proměnné jsou dobré pro Paměť řízení .
  • Změny provedené v proměnné instance pomocí jednoho objektu se neprojeví v jiných objektech, protože každý objekt má svou vlastní kopii proměnné instance. V případě statické proměnné se změny projeví v jiných objektech, protože statické proměnné jsou společné všem objektům třídy.
  • K proměnným instancí můžeme přistupovat prostřednictvím odkazů na objekty a ke statickým proměnným lze přistupovat přímo pomocí názvu třídy .
  • Proměnné instance jsou vytvořeny, když je objekt vytvořen s použitím klíčového slova „new“ a zničeny, když je objekt zničen. Statické proměnné jsou vytvořeny při spuštění programu a zničeny, když se program zastaví.

Syntax: Statické a instanční proměnné

class GFG {  // Static variable  static int a;     // Instance variable  int b;  }>

Závěr

Důležité body, které je třeba si v článcích zapamatovat, jsou uvedeny níže:

  • Proměnné v Javě je datový kontejner, který ukládá datové hodnoty během provádění Java programu.
  • V Javě existují tři typy proměnných Lokální proměnné, statické proměnné a proměnné instance.

Nejčastější dotazy k proměnným v Javě

Q1. Co jsou proměnné v Javě?

Proměnné jsou kontejnery v Javě, které do nich mohou ukládat datové hodnoty.

Q2. Jaké jsou 3 typy proměnných v Javě?

V Javě existují tři typy proměnných, které jsou uvedeny níže:

  1. Místní proměnné
  2. Statické proměnné
  3. Proměnné instance

Q3. Jak deklarovat proměnné v příkladech Java?

Proměnné můžeme deklarovat v jazyce Java se syntaxí, jak je uvedeno níže:

data_type variable_name;>

Příklad:

// Integer datatype with var1 name int var1;>

Musíš číst:

  • Pravidla deklarace proměnných v Javě
  • Rozsah proměnných v Javě
  • Porovnání statických klíčových slov v C++ a Javě
  • Jsou v Javě povoleny statické lokální proměnné?
  • Skrytí proměnné instance v Javě