Mi az a változó, amelyet egy esetben deklaráltak, és a Java -ban kívül használják?
Jun 06, 2025| Hé! Kapcsoló -beszállítóként mindenféle kapcsolóval foglalkoztam, mint például aHárom fázisú cocitementer kapacitív érintés nélküli kapcsoló,Kiegészítő kombinációs kapcsoló, ésOsztott fáziskompenzáció nem érintkezési kapcsoló- De ma szeretnék beszélgetni valami a Java programozási világban - egy változó hatókörét, amelyet a belsejében deklaráltügyés kint használták.
Először is, gyorsan menjünk át akapcsolóAz állítás Java -ban található. AkapcsolóAz utasítás egy többirányú ág nyilatkozat, amely egyszerű módot kínál a végrehajtásnak a kód különböző részeire történő elküldésére egy kifejezés értéke alapján. Olyan, mint egy forgalomirányító, egy bizonyos feltételtől függően irányítva a program áramlását.
Most, amikor a belsejében bejelentett változókról beszélünkügyBlokk, a dolgok kissé trükkösek lehetnek. A Java -ban egy változó hatókörje a program része, ahol a változó hozzáférhető. Általában egy blokk belsejében deklarált változó (mint például a benneügynyilatkozatok) van egy helyi hatókörük ehhez a blokkhoz.
Nézzünk meg egy egyszerű példát:
nyilvános osztályú SwitchVariablescope {nyilvános statikus void main (String [] args) {int choice = 2; kapcsoló (választás) {1. eset: int localVar = 10; System.out.println ("Érték az 1. esetben:" + localvar); szünet; 2. eset: System.out.println ("A 2. eset kiválasztva"); szünet; Alapértelmezés: System.out.println ("nincs egyezés"); } // A következő sor összeállítási hibát okoz // system.out.println (localvar); }}
Ebben a példában a változólocalvara1. esettömb. A hatókör erre korlátozódik1. esetCsak blokk. Ha megpróbálunk hozzáférni ahhoz a blokkon kívül, mint például afő-Módszer, a Java összeállítási hibát dob. Ennek oka az, hogy amint a program kilép a1. esetblokk, a változó már nem létezik az aktuális hatókörben.
De mi van, ha az egyikben bejelentett változót akarunk használniügykülönbözőügynyilatkozatok vagy akár akapcsolónyilatkozat? Nos, nem tudjuk közvetlenül megtenni, ha a változót a belsejében deklaráljákügytömb. Van azonban néhány megoldás.
Az egyik módja a változó deklarálása akapcsolónyilatkozat. Ilyen módon szélesebb körű, és akapcsolóÉs rajta kívül is. Így lehet megtenni:
nyilvános osztályú SwitchVariablescopeWorkAround {nyilvános statikus void main (String [] args) {int choice = 2; int localvar; kapcsoló (választás) {1. eset: localvar = 10; System.out.println ("Érték az 1. esetben:" + localvar); szünet; 2. eset: Localvar = 20; System.out.println ("Érték a 2. esetben:" + localvar); szünet; Alapértelmezés: localvar = -1; System.out.println ("Nincs egyezés, érték beállítva:" + localvar); } System.out.println ("érték külső kapcsoló:" + localvar); }}
Ebben a frissített kódban a változólocalvarakapcsolónyilatkozat. Mindegyik belsejébenügyblokk, különféle értékeket rendelhetünk hozzá, és akapcsolónyilatkozat. Ez nagyobb rugalmasságot biztosít számunkra a változó használatában.
Egy másik megközelítés egy tömb vagy gyűjtemény használata a különféle értékek tárolására, amelyek relevánsakügynyilatkozatok. Például:
Import Java.util.arraylist; Import Java.util.list; nyilvános osztályú SwitchVariablescopeCollection {nyilvános statikus void main (String [] args) {int choice = 2; Lista <Integer> értékek = új ArrayList <> (); kapcsoló (választás) {1. eset: értékek.add (10); System.out.println ("hozzáadott érték az 1. esetben:" + értékek.get (0)); szünet; 2. eset: értékek.Add (20); System.out.println ("hozzáadott érték a 2. esetben:" + értékek.get (0)); szünet; Alapértelmezés: értékek.Add (-1); System.out.println ("Nincs egyezés, hozzáadottérték:" + értékek.get (0)); } System.out.println ("Érték a lista külső kapcsolójában:" + értékek.get (0)); }}
Itt egyTömblistaA különböző értékekkel kapcsolatos értékek tárolásaügynyilatkozatok. A listának van egy hatókörje, amely magában foglalja a teljesfő-módszer, így hozzáférhetünk hozzá mind akapcsolónyilatkozat.
Most miért érti a változók hatókörét akapcsolóFontos nyilatkozat? Nos, segít a tiszta és hibamentes kód írásában. Ha nem figyelünk a változó hatókörre, akkor váratlan viselkedési vagy összeállítási hibákkal járhatunk. Például, ha véletlenül megpróbálunk hozzáférni egy változót a hatókörén kívül, akkor a programunk nem fog összeállítani. És ha a változókat nem hatékony módon deklaráljuk, ez memória problémáihoz vagy nehezen deklugálható kódhoz vezethet.
Kapcsoló -beszállítóként tudom, mennyire fontos megérteni azokkal a termékekkel, amelyekkel foglalkozom. Hasonlóképpen, a programozásban a változók hatókörének megértése akapcsolóAz állítás elengedhetetlen a kiváló minőségű kódok írásához.
Ha a programozással foglalkozik, és többet szeretne megtudni a Java -ról, vagy bármilyen kérdése van a változók körével kapcsolatban, nyugodtan lépjen fel. És ha a kiváló minőségű kapcsolók piacán vagy, mint aHárom fázisú cocitementer kapacitív érintés nélküli kapcsoló,Kiegészítő kombinációs kapcsoló, vagyOsztott fáziskompenzáció nem érintkezési kapcsoló, ne habozzon kapcsolatba lépni velünk a vásárlási tárgyalásokra. Azért vagyunk itt, hogy segítsünk megtalálni az Ön igényeinek legjobb megoldásait.
Hivatkozások:


- Java nyelvi specifikáció
- Head First Java Kathy Sierra és Bert Bates által

