Maybaygiare.org

Blog Network

Java – Variable Types

reklamy

zmienna zapewnia nam nazwaną pamięć masową, którą mogą manipulować nasze programy. Każda zmienna w Javie ma określony typ, który określa rozmiar i układ pamięci zmiennej; zakres wartości, które mogą być przechowywane w tej pamięci; oraz zestaw operacji, które można zastosować do zmiennej.

musisz zadeklarować wszystkie zmienne przed ich użyciem. Poniżej znajduje się podstawowa forma deklaracji zmiennej −

data type variable ...] ;

tutaj typ danych jest jednym z typów danych Javy, a zmienna jest nazwą zmiennej. Aby zadeklarować więcej niż jedną zmienną określonego typu, można użyć listy rozdzielanej przecinkami.

poniżej znajdują się poprawne przykłady deklaracji i inicjalizacji zmiennych w języku Java −

przykład

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'

Ten rozdział wyjaśni różne typy zmiennych dostępne w języku Java. Istnieją trzy rodzaje zmiennych w Javie −

  • zmienne lokalne
  • zmienne instancji
  • zmienne klasy/statyczne

zmienne lokalne

  • zmienne lokalne są deklarowane w metodach, konstruktorach lub blokach.

  • zmienne lokalne są tworzone podczas wprowadzania metody, konstruktora lub bloku, a zmienna zostanie zniszczona po wyjściu z metody, konstruktora lub bloku.

  • modyfikatory dostępu nie mogą być używane dla zmiennych lokalnych.

  • zmienne lokalne są widoczne tylko wewnątrz zadeklarowanej metody, konstruktora lub bloku.

  • zmienne lokalne są wewnętrznie implementowane na poziomie stosu.

  • nie ma domyślnej wartości dla zmiennych lokalnych, więc zmienne lokalne powinny być zadeklarowane, a wartość początkowa powinna być przypisana przed pierwszym użyciem.

przykład

tutaj age jest zmienną lokalną. Jest to zdefiniowane wewnątrz metody pupAge () i jej zakres jest ograniczony tylko do tej metody.

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

spowoduje to następujący wynik −

wyjście

Puppy age is: 7

przykład

poniższy przykład używa age bez inicjowania go, więc dałby błąd w czasie kompilacji.

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

spowoduje to następujący błąd podczas kompilacji −

wyjście

Test.java:4:variable number might not have been initializedage = age + 7; ^1 error

zmienne instancji

  • zmienne instancji są zadeklarowane w klasie, ale poza metodą, konstruktorem lub dowolnym blokiem.

  • gdy obiektowi w stercie przydzielana jest przestrzeń, tworzony jest slot dla każdej wartości zmiennej instancji.

  • zmienne instancji są tworzone, gdy obiekt jest tworzony za pomocą słowa kluczowego 'new’ i niszczone, gdy obiekt jest niszczony.

  • zmienne instancji zawierają wartości, do których należy odwoływać się za pomocą więcej niż jednej metody, konstruktora lub bloku, lub istotnych części stanu obiektu, które muszą być obecne w całej klasie.

  • zmienne instancji mogą być zadeklarowane na poziomie klasy przed lub po użyciu.

  • modyfikatory dostępu mogą być podane na przykład dla zmiennych.

  • zmienne instancji są widoczne dla wszystkich metod, konstruktorów i bloków w klasie. Zwykle zaleca się, aby te zmienne były prywatne (poziom dostępu). Jednak widoczność dla podklas może być podana dla tych zmiennych za pomocą modyfikatorów dostępu.

  • zmienne instancji mają wartości domyślne. Dla liczb wartością domyślną jest 0, dla wartości logicznych jest to false, A dla odniesień do obiektów jest to null. Wartości można przypisać podczas deklaracji lub wewnątrz konstruktora.

  • dostęp do zmiennych instancji można uzyskać bezpośrednio przez wywołanie nazwy zmiennej wewnątrz klasy. Jednak w metodach statycznych (gdy zmienne instancji są dostępne), powinny być wywoływane przy użyciu w pełni kwalifikowanej nazwy. Obiektywizm.VariableName.

przykład

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

spowoduje to następujący wynik −

wyjście

name : Ransikasalary :1000.0

zmienne klasy/statyczne

  • zmienne klasy znane również jako zmienne statyczne są zadeklarowane za pomocą słowa kluczowego static w klasy, ale poza metodą, konstruktorem lub blokiem.

  • w każdej klasie byłaby tylko jedna kopia każdej zmiennej klasowej, niezależnie od tego, ile obiektów zostanie z niej wytworzonych.

  • zmienne statyczne są rzadko używane poza zadeklarowanymi jako stałe. Stałe są zmiennymi zadeklarowanymi jako public / private, final i static. Zmienne stałe nigdy nie zmieniają się od wartości początkowej.

  • zmienne statyczne są przechowywane w pamięci statycznej. Rzadko stosuje się zmienne statyczne inne niż zadeklarowane końcowe i używane jako stałe publiczne lub prywatne.

  • zmienne statyczne są tworzone podczas uruchamiania programu i niszczone, gdy program się zatrzymuje.

  • widoczność jest podobna do zmiennych instancji. Jednak większość zmiennych statycznych jest zadeklarowana jako Publiczna, ponieważ muszą być dostępne dla użytkowników klasy.

  • wartości domyślne są takie same jak zmienne instancji. Dla liczb domyślną wartością jest 0; dla wartości logicznych jest to false; A dla odniesień do obiektów jest to null. Wartości można przypisać podczas deklaracji lub wewnątrz konstruktora. Dodatkowo, wartości mogą być przypisane w specjalnych statycznych blokach inicjujących.

  • do zmiennych statycznych można uzyskać poprzez wywołanie z nazwą klasy ClassName.VariableName.

  • przy deklarowaniu zmiennych klasowych jako public static final, wtedy nazwy zmiennych (stałe) są pisane wielkimi literami. Jeśli zmienne statyczne nie są publiczne i ostateczne, składnia nazw jest taka sama jak instancja i zmienne lokalne.

przykład

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

spowoduje to następujący wynik −

wyjście

Development average salary:1000

Uwaga − Jeśli zmienne są dostępne z zewnętrznej klasy, stała powinna być dostępna jako pracownik.Dział

co dalej?

w tym rozdziale zostały już użyte modyfikatory dostępu (publiczne& prywatne). W następnym rozdziale szczegółowo wyjaśnimy modyfikatory dostępu i modyfikatory braku dostępu.

ogłoszenia

Dodaj komentarz

Twój adres e-mail nie zostanie opublikowany.