Zakres zmiennej w Javie [z przykładem kodowania]
Opublikowany: 2021-02-05Spis treści
Wstęp
Programiści definiują zakres zmiennej w Javie , która informuje kompilator o regionie, z którego zmienna jest dostępna lub widoczna. Zakres zmiennej w Javie jest z natury statyczny. Oznacza to, że musimy to zadeklarować tylko w czasie kompilacji. W tym artykule poznasz zakres zmiennej Javy wraz z jej typami.
Jaki jest zakres zmiennej w Javie?
Każda zmienna używana w języku programowania posiada zakres. Zakres informuje kompilator o segmencie w programie, w którym zmienna jest dostępna lub używana. Programiści mogą określać zakres zmiennych leksykalnie lub statycznie w przypadku zmiennych Javy.
Zmienna zakresu statycznego oznacza, że programiści muszą określić zakres zmiennej w Javie w czasie kompilacji, a nie w czasie wykonywania. Zauważ też, że każda klasa jest częścią pakietu Java. Sprowadza się to do dwóch różnych kategorii zakresów zmiennej w Javie .
1. Zmienne składowe o zasięgu klasy: Zmienne składowe są członkami klasy, a zatem są zadeklarowane wewnątrz klasy, ale nie wewnątrz żadnej metody ani funkcji. W ten sposób możemy adresować taki zakres zmiennych, jak zakres klasy lub zakres na poziomie klasy. Programiści deklarują takie zmienne w nawiasach klamrowych klasy ( {} ) wraz z modyfikatorem dostępu. Programiści mogą używać takich zmiennych w dowolnym miejscu w klasie Java, ale nie poza nią.
Przykład:
klasa publiczna EgOfClassScope {

prywatna liczba całkowita amt = 10;
public void egMethod() {
am += 10;
}
public void innyPrzykładMetoda() {
Liczba całkowita AmtIncr = suma + 6;
}
}
Widzimy, że zmienna „amt” jest dostępna we wszystkich metodach klasy. Jeśli użyjemy modyfikatora dostępu publicznego zamiast prywatnego, zmienna stanie się dostępna z dowolnego miejsca w pakiecie.
Modyfikator Pakiet podklasa Świat
publiczny TAk TAk TAk
chroniony TAk TAk Nie
Domyślnie (nie
modyfikator) Tak Nie Nie
Prywatny Nie Nie Nie
2. Zakres lokalny lub zakres metody: Programiści mogą deklarować zmienne lokalne w zakresie lokalnym o mniejszym zakresie (przypuśćmy, że w ramach metody). Programiści nie mogą uzyskać dostępu do takich zmiennych spoza metody Javy, nawet w tej samej klasie. Mają ograniczenia w dostępności, a ich widoczność kończy się, gdy kończy się zakres metody Java.
Przykład 1:
klasa publiczna EgOfMethodScope {
public void Pierwsza Metoda() {
Wynagrodzenie całkowite = 6000;
}
public void Druga Metoda() {
// Spowoduje to wystąpienie błędu kompilacji, który mówi: obszar nie może zostać zamieniony na zmienną
wynagrodzenie = wynagrodzenie + 2000;
}
}
Jest to przykład zakresu metody. Tutaj utworzyłem zmienną „wynagrodzenie” w ramach FirstMethod(){….}. Dlatego jego zakres kończy się na końcu metody FirstMethod(). Tak więc użycie tej zmiennej w SecondMethod() spowoduje błąd, ponieważ zmienna „wynagrodzenie” jest poza zakresem.
Przykład 2:
klasa EgOfMethodScope2
{
prywatne int g;
public void setG(int g)
{
to.g = g;
}
}
Tutaj używamy słowa kluczowego „this”, aby odróżnić zakres lokalny od zakresu zmiennej klasy. Programiści używają tego słowa kluczowego do wskazywania bieżącego obiektu jako zmiennej referencyjnej. Tutaj programista przekazuje zmienną jako parametr do metody.
Zauważ, że zmienne lokalne nie będą istnieć po zakończeniu wykonywania metody. Istnieją inne formy zakresu lokalnego używane w metodzie Java, ale w określonej części w jej obrębie.
- Zakres pętli: zdarzają się sytuacje, w których deklarujemy zmienne wewnątrz pętli. Takie zmienne będą miały zakres pętli i można do nich uzyskać dostęp tylko z poziomu pętli.
Przykład:

klasa publiczna EgOfLoopScope {
List<String> listOfEmp = Arrays.asList ( „Karlos”, „Gaurav”, „Sue”, „Dee”);
public void iterateEmpName() {
Ciąg wszystkie = „”;
for (Nazwy ciągów: listOfEmp)
{ // Od tego miejsca zaczyna się zakres pętli
wszystkie = wszystkie + ” ” + nazwy;
} // zakres pętli kończy się tutaj
// napotkasz błąd w czasie kompilacji, mówiący: nazwa nie może zostać zamieniona na zmienną – jeśli spróbujesz uzyskać dostęp do zmiennej w następnym wierszu
String lastEmpName = nazwy;
}
}
W tej metodzie iterateEmpName() zmienna 'names' ma zasięg pętli (ponieważ jest to zmienna licznika) i jest dostępna w { i } instrukcji 'for'.
- Zakres wspornika: programiści mogą zdefiniować dodatkowy zakres w dowolnym miejscu programu. Programiści mogą zdefiniować ten dodatkowy zakres za pomocą nawiasów { i }.
Przykład:
klasa publiczna EgOfBracketScope {
public void EgAddOp() {
liczba całkowita tot = 0;
{ // Od tego miejsca zaczyna się nawias
liczba całkowita nr = 6;
suma = suma + nie;
} // zakres nawiasów kończy się tutaj
// Wygeneruje błąd w czasie kompilacji mówiący: liczba nie może być rozwiązana jako zmienna – jeśli zostanie użyta w następnym wierszu
nie- ;

}
}
Istotne punkty dotyczące zakresu zmiennej w Javie
- Podobnie jak inne języki programowania (C, C++ i C#), musimy użyć zestawu nawiasów klamrowych ( { i } ) do zdefiniowania zakresu zmiennej w Javie.
- Możemy uzyskać dostęp do zmiennej z dowolnej metody, jeśli zdefiniujemy ją w klasie poza zakresem metody.
- Aby użyć zmiennej po zakończeniu pętli, musimy ją zadeklarować przed lub tuż nad ciałem pętli.
- Ale nie możemy go zaimplementować ani uzyskać do niego dostępu bez konstruktora, metody Java i bloku.
- Zakres zmiennej statycznej znajduje się tylko w klasie.
- Zakres określa region w programie, z którego zmienne będą dostępne.
Ucz się kursów rozwoju oprogramowania online z najlepszych światowych uniwersytetów. Zdobywaj programy Executive PG, Advanced Certificate Programs lub Masters Programs, aby przyspieszyć swoją karierę.
Wniosek
W tym artykule pokazano, jak programiści używają zakresów Java do pisania różnych programów. Informuje również o obszarze w programie, w którym widoczna jest zmienna. Zarówno dostępność, jak i widoczność odgrywają istotną rolę w programowaniu ze względu na koncepcję zakresu. Każdy pojedynczy błąd w określaniu zakresu zmiennej może doprowadzić programistę do błędu w czasie kompilacji.
Jeśli chcesz poprawić swoje umiejętności w języku Java, musisz zdobyć te projekty Java. Jeśli chcesz dowiedzieć się więcej o Javie, tworzeniu pełnego stosu, zapoznaj się z programem Executive PG UpGrad i IIIT-B w zakresie programowania pełnego stosu, który jest przeznaczony dla pracujących profesjonalistów i oferuje ponad 500 godzin rygorystycznych szkoleń, ponad 9 projektów, i zadania, status absolwentów IIIT-B, praktyczne praktyczne projekty zwieńczenia i pomoc w pracy z najlepszymi firmami.
Co to jest zakres zmiennych w Javie?
Zakres zmiennej to miejsce w twoim programie, do którego można się odwoływać. Zakres zmiennej określa się za pomocą słowa kluczowego 'scope' w deklaracji zmiennej. Zmienna, do której można uzyskać dostęp w „dowolnym” zakresie, może być dostępna absolutnie w dowolnym miejscu programu. Zmienna, do której można uzyskać dostęp tylko w określonym zakresie, jest dostępna tylko w tym zakresie. Zakres może być funkcją, blokiem, metodą, klasą lub poza wszystkimi metodami, blokami i klasami.
Jakie są typy modyfikatorów dostępu w Javie?
W Javie istnieją cztery typy modyfikatorów dostępu: publiczny, chroniony, domyślny (pakietowy) i prywatny. Public sprawia, że zmienna, klasa lub funkcja jest dostępna z dowolnego miejsca, protected udostępnia ją klasie, w której jest zdefiniowana, oraz jej podklasom, default (pakiet) sprawia, że jest dostępna dla dowolnej klasy w tym samym pakiecie, a private sprawia, że jest dostępna tylko dla klasa, w której jest zdefiniowana.
Co to jest słowo kluczowe statyczne w Javie?
Słowo kluczowe static w klasie Java oznacza, że tak zadeklarowana klasa nie jest instancją klasy, ale jest klasą samą w sobie. Członkowie klasy danych statycznych są wspólne dla wszystkich instancji. Słowo kluczowe static służy do uzyskiwania dostępu do statycznych metod i pól klasy. W Javie słowo kluczowe static służy do uzyskiwania dostępu do statycznych metod i pól klasy. Aby uzyskać dostęp do statycznych metod i pól klasy, należy użyć nazwy klasy, kropki (.) oraz statycznej metody lub nazwy pola.