variabilní nám poskytuje pojmenované úložiště, které naše programy mohou manipulovat. Každá proměnná v Javě má konkrétní typ, který určuje velikost a rozložení proměnné paměti; rozsah hodnot, které mohou být uloženy v paměti, že, a množinu operací, které lze aplikovat na proměnné.
musíte deklarovat všechny proměnné před jejich použitím. Následuje základní forma deklarace proměnné –
data type variable ...] ;
zde datový typ je jedním z datových typů Java a proměnná je název proměnné. Chcete-li deklarovat více než jednu proměnnou zadaného typu, můžete použít seznam oddělený čárkami.
Následující jsou platné příklady deklarace proměnných a inicializace v Java −
Příklad:
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'
Tato kapitola vám vysvětlí různé typy proměnných jsou k dispozici v Jazyce Java. K dispozici jsou tři druhy proměnných v jazyce Java −
- Lokální proměnné
- proměnné Instance
- Třída/Statické proměnné
Lokální Proměnné
-
Lokální proměnné jsou deklarovány v metody, konstruktory, nebo bloky.
-
lokální proměnné se vytvoří při zadání metody, konstruktoru nebo bloku a proměnná bude zničena, jakmile opustí metodu, Konstruktor nebo blok.
-
modifikátory přístupu nelze použít pro místní proměnné.
-
lokální proměnné jsou viditelné pouze v deklarované metodě, konstruktoru nebo bloku.
-
lokální proměnné jsou implementovány na úrovni zásobníku interně.
-
neexistuje žádná výchozí hodnota pro místní proměnné, proto by měly být deklarovány místní proměnné a před prvním použitím by měla být přiřazena počáteční hodnota.
příklad
zde je věk lokální proměnnou. To je definováno uvnitř metody pupAge() a její rozsah je omezen pouze na tuto metodu.
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(); }}
To bude produkovat následující výsledek −
Výstup
Puppy age is: 7
Příklad:
Následující příklad používá věku bez inicializaci, takže by to dát chybu v době kompilace.
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(); }}
To bude produkovat následující chybová zpráva při kompilaci to −
Výstup
Test.java:4:variable number might not have been initializedage = age + 7; ^1 error
Proměnné Instance
-
Instance proměnné jsou deklarovány ve třídě, ale mimo metodu, konstruktor nebo nějaký blok.
-
když je pro objekt v haldě přiděleno místo, vytvoří se slot pro každou hodnotu proměnné instance.
-
proměnné Instance se vytvářejí, když je objekt vytvořen pomocí klíčového slova „nový“ a zničen, když je objekt zničen.
-
proměnné Instance držet hodnoty, které musí být přiřazena více než jedna metoda, konstruktor nebo blok, nebo podstatných částí objektu je stát, který musí být přítomen v celé třídě.
-
proměnné Instance lze deklarovat na úrovni třídy před nebo po použití.
-
modifikátory přístupu mohou být zadány například proměnné.
-
proměnné instance jsou viditelné pro všechny metody, konstruktory a bloky ve třídě. Obvykle se doporučuje, aby tyto proměnné byly soukromé (úroveň přístupu). Viditelnost pro podtřídy však lze pro tyto proměnné poskytnout pomocí modifikátorů přístupu.
-
proměnné Instance mají výchozí hodnoty. Pro čísla je výchozí hodnota 0, pro Booleans je nepravdivá a pro odkazy na objekt je null. Hodnoty lze přiřadit během deklarace nebo v konstruktoru.
-
k proměnným Instance lze přistupovat přímo voláním názvu proměnné uvnitř třídy. V rámci statických metod (pokud jsou proměnné instance zpřístupněny) by však měly být volány pomocí plně kvalifikovaného názvu. ObjectReference.Variabilní jméno.
Příklad:
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(); }}
To bude produkovat následující výsledek −
Výstup
name : Ransikasalary :1000.0
Class/Statické Proměnné
-
Proměnné třídy také známý jako statické proměnné jsou deklarovány s statické klíčové slovo ve třídě, ale mimo metodu, konstruktor nebo blok.
-
v každé třídě by byla pouze jedna kopie každé proměnné třídy, bez ohledu na to, kolik objektů je z ní vytvořeno.
-
statické proměnné se používají jen zřídka, kromě toho, že jsou deklarovány jako konstanty. Konstanty jsou proměnné, které jsou deklarovány jako veřejné / soukromé, konečné a statické. Konstantní proměnné se nikdy nemění z jejich počáteční hodnoty.
-
statické proměnné jsou uloženy ve statické paměti. Je vzácné používat statické proměnné jiné než deklarované konečné a používané jako veřejné nebo soukromé konstanty.
-
statické proměnné jsou vytvořeny při spuštění programu a zničeny při zastavení programu.
-
viditelnost je podobná proměnným instance. Většina statických proměnných je však prohlášena za veřejnou, protože musí být k dispozici pro uživatele třídy.
-
výchozí hodnoty jsou stejné jako proměnné instance. Pro čísla je výchozí hodnota 0; pro Booleans je nepravdivá; a pro odkazy na objekt je null. Hodnoty lze přiřadit během deklarace nebo v konstruktoru. Hodnoty lze navíc přiřadit ve speciálních statických blocích inicializátoru.
-
statické proměnné lze přistupovat voláním s názvem třídy ClassName.Variabilní jméno.
-
při deklaraci proměnných třídy jako veřejné statické finále jsou názvy proměnných (konstanty) velká písmena. Pokud statické proměnné nejsou veřejné a konečné, syntaxe pojmenování je stejná jako instance a místní proměnné.
Příklad:
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); }}
To bude produkovat následující výsledek −
Výstup
Development average salary:1000
Poznámka − Pokud proměnné jsou přístupné z vnějšku třídy, konstanty by měla být přístupná jako Zaměstnanec.Oddělení
co bude dál?
v této kapitole jste již použili modifikátory přístupu (public & private). Další kapitola podrobně vysvětlí modifikátory přístupu a modifikátory přístupu.