logo

Zmienne Java

W Javie zmienne to kontenery danych, w których zapisywane są wartości danych podczas wykonywania programu Java. Każdej zmiennej w Javie przypisany jest typ danych, który określa typ i ilość wartości, jaką może przechowywać. Zmienna to nazwa miejsca w pamięci dla danych.

Zmienne w Javie

Zmienna Java to nazwa nadana lokalizacji w pamięci. Jest to podstawowa jednostka pamięci w programie.

  • Wartość przechowywaną w zmiennej można zmienić w trakcie wykonywania programu.
  • Zmienne w Javie to jedynie nazwa nadana lokalizacji w pamięci. Wszystkie operacje wykonane na zmiennej wpływają na tę lokalizację pamięci.
  • W Javie wszystkie zmienne muszą zostać zadeklarowane przed użyciem.

Jak deklarować zmienne w Javie?

Możemy deklarować zmienne w Javie, jak pokazano poniżej jako pomoc wizualną.



Z obrazka łatwo zauważyć, że deklarując zmienną musimy zadbać o dwie rzeczy, którymi są:

odczyt pliku csv w Javie
  1. typ danych : Typ danych, które mogą być przechowywane w tej zmiennej.
  2. nazwa_danych: Zmiennej nadano nazwę.

W ten sposób nazwę można nadać jedynie lokalizacji w pamięci. Można mu przypisać wartości na dwa sposoby:

  • Inicjalizacja zmiennej
  • Przypisywanie wartości poprzez pobieranie danych wejściowych

Jak zainicjować zmienne w Javie?

Można to dostrzec za pomocą 3 komponentów, które są następujące:

  • typ danych : Typ danych, które mogą być przechowywane w tej zmiennej.
  • nazwa_zmiennej : Nazwa nadana zmiennej.
  • wartość : Jest to wartość początkowa przechowywana w zmiennej.

Ilustracje:

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

Typy zmiennych w Javie

Omówmy teraz różne typy zmiennych, które są wymienione jako następująco:

  1. Zmienne lokalne
  2. Zmienne instancji
  3. Zmienne statyczne

Omówmy szczegółowo cechy każdego typu zmiennej wymienionej tutaj.

1. Zmienne lokalne

Zmienna zdefiniowana w bloku, metodzie lub konstruktorze nazywana jest zmienną lokalną.

  • Zmienne te powstają w momencie wejścia do bloku lub wywołania funkcji i zniszczenia po wyjściu z bloku lub w momencie powrotu wywołania z funkcji.
  • Zasięg tych zmiennych istnieje tylko w obrębie bloku, w którym zmienne są zadeklarowane, tzn. dostęp do tych zmiennych możemy uzyskać tylko w obrębie tego bloku.
  • Inicjalizacja zmiennej lokalnej jest obowiązkowa przed jej użyciem w zdefiniowanym zakresie.

Złożoność czasowa metody:

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

Poniżej implementacja powyższego podejścia:

Jawa




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

>

>

Wyjście

Local Variable: 10>

Przykład :

Jawa


konwersja typów i rzutowanie w Javie



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

mysql opuścił połączenie

>

>

Wyjście :

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

2. Zmienne instancji

Zmienne instancji są zmiennymi niestatycznymi i są zadeklarowane w klasie poza jakąkolwiek metodą, konstruktorem lub blokiem.

  • Ponieważ zmienne instancji są deklarowane w klasie, zmienne te są tworzone, gdy obiekt klasy jest tworzony i niszczone, gdy obiekt jest niszczony.
  • W przeciwieństwie do zmiennych lokalnych, możemy używać specyfikatorów dostępu na przykład zmiennych. Jeśli nie określimy żadnego specyfikatora dostępu, zostanie użyty domyślny specyfikator dostępu.
  • Inicjalizacja zmiennej instancji nie jest obowiązkowa. Jej wartość domyślna zależy od typu danych zmiennej. Dla Strunowy to jest zero, Do platforma To Jest 0,0f, Do wew to jest 0. dla klas Wrapper, takich jak Liczba całkowita to jest zero itp.
  • Dostęp do zmiennych instancji można uzyskać jedynie poprzez utworzenie obiektów.
  • Inicjujemy zmienne instancji za pomocą konstruktorzy podczas tworzenia obiektu. Możemy również skorzystać bloki instancji aby zainicjować zmienne instancji.

Złożoność metody:

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

Poniżej implementacja powyższego podejścia:

Jawa




formuła murarska
// 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);> >}> }>

>

>

Wyjście

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

3. Zmienne statyczne

Zmienne statyczne nazywane są również zmiennymi klasowymi.

  • Zmienne te deklaruje się podobnie jak zmienne instancji. Różnica polega na tym, że zmienne statyczne deklaruje się przy użyciu słowa kluczowego static w klasie poza jakąkolwiek metodą, konstruktorem lub blokiem.
  • W przeciwieństwie do zmiennych instancji, możemy mieć tylko jedną kopię zmiennej statycznej na klasę, niezależnie od tego, ile obiektów utworzymy.
  • Zmienne statyczne są tworzone na początku wykonywania programu i niszczone automatycznie po zakończeniu wykonywania.
  • Inicjalizacja zmiennej statycznej nie jest obowiązkowa. Jej wartość domyślna zależy od typu danych zmiennej. Dla Strunowy to jest zero , Do platforma to jest 0,0 f , Do wew to jest 0 , Do Klasy wrapperów tak jak Liczba całkowita to jest zero, itp.
  • Jeśli uzyskamy dostęp do zmiennej statycznej, takiej jak zmienna instancji (poprzez obiekt), kompilator wyświetli komunikat ostrzegawczy, który nie zatrzyma programu. Kompilator automatycznie zastąpi nazwę obiektu nazwą klasy.
  • Jeśli uzyskamy dostęp do zmiennej statycznej bez nazwy klasy, kompilator automatycznie doda nazwę klasy. Aby jednak uzyskać dostęp do zmiennej statycznej innej klasy, musimy podać nazwę klasy, ponieważ 2 różne klasy mogą mieć zmienną statyczną o tej samej nazwie.
  • Zmienne statyczne nie mogą być deklarowane lokalnie w metodzie instancji.
  • Bloki statyczne może być używany do inicjowania zmiennych statycznych.

Złożoność metody:

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

Poniżej implementacja powyższego podejścia:

Jawa




// 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 -->za 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.> >}> }>

>

konwersja ciągu do tej pory
>

Wyjście

Geek Name is : Shubham Jain>

Różnice między zmiennymi instancji a zmiennymi statycznymi

Omówmy teraz różnice pomiędzy zmiennymi instancji i zmiennymi statycznymi:

  • Każdy obiekt będzie miał własną kopię zmiennej instancji, podczas gdy w każdej klasie możemy mieć tylko jedną kopię zmiennej statycznej, niezależnie od tego, ile obiektów utworzymy. Zatem, zmienne statyczne są dobre dla pamięć kierownictwo .
  • Zmiany dokonane w zmiennej instancji przy użyciu jednego obiektu nie zostaną odzwierciedlone w innych obiektach, ponieważ każdy obiekt ma własną kopię zmiennej instancji. W przypadku zmiennej statycznej zmiany zostaną odzwierciedlone w innych obiektach, ponieważ zmienne statyczne są wspólne dla wszystkich obiektów klasy.
  • Dostęp do zmiennych instancji możemy uzyskać poprzez odniesienia do obiektów, a dostęp do zmiennych statycznych można uzyskać bezpośrednio za pomocą nazwy klasy .
  • Zmienne instancji tworzone są w momencie tworzenia obiektu za pomocą słowa kluczowego „nowy” i niszczone w momencie zniszczenia obiektu. Zmienne statyczne są tworzone podczas uruchamiania programu i niszczone po jego zatrzymaniu.

Składnia: Zmienne statyczne i instancyjne

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

Wniosek

Ważne punkty, o których należy pamiętać w artykułach, wymieniono poniżej:

  • Zmienne w Javie to kontener danych, który zapisuje wartości danych podczas wykonywania programu Java.
  • W Javie istnieją trzy typy zmiennych: zmienne lokalne, zmienne statyczne i zmienne instancji.

Często zadawane pytania dotyczące zmiennych w Javie

Pytanie 1. Czym są zmienne w Javie?

Zmienne to kontenery w Javie, w których można przechowywać wartości danych.

Pytanie 2. Jakie są 3 typy zmiennych w Javie?

Poniżej wymieniono trzy typy zmiennych w Javie:

  1. Zmienne lokalne
  2. Zmienne statyczne
  3. Zmienne instancji

Pytanie 3. Jak zadeklarować zmienne w przykładach Java?

Możemy deklarować zmienne w Javie ze składnią opisaną poniżej:

data_type variable_name;>

Przykład:

// Integer datatype with var1 name int var1;>

Musisz przeczytać:

  • Reguły deklaracji zmiennych w Javie
  • Zakres zmiennych w Javie
  • Porównanie statycznych słów kluczowych w C++ i Javie
  • Czy statyczne zmienne lokalne są dozwolone w Javie?
  • Ukrywanie zmiennej instancji w Javie