Koji je opseg varijable proglašene u slučaju i koristi se vani u Javi?
Jun 06, 2025| Hej tamo! Kao dobavljač prekidača bavio sam se svim vrstama prekidača, poputTrofazni komplementarni kapacitivni beskontaktni prekidač,Komplementarni kombinirani prekidač, iSplit fazni kompenzacija bez kontakt prekidača. Ali danas želim razgovarati o nečemu u programiranju Java - opseg varijable proglašene unutar aslučaji koristi se vani.
Prvo, hajde da brzo pređemoprebacitiIzjava je u Javi. AprebacitiIzjava je višestrana podružnica koja pruža jednostavan način za otpremu izvršenja u različite dijelove koda na temelju vrijednosti izraza. To je nekako poput kontrolera saobraćaja, usmjeravajući protok vašeg programa ovisno o određenom stanju.
Sada, kad razgovaramo o varijablama proglašenim unutar aslučajBlok, stvari mogu dobiti malo škakljivo. U Javi je opseg varijable dio programa u kojem se može pristupiti varijabla. Općenito, varijabla proglašena unutar bloka (poput onih uslučajizjave) ima lokalni opseg u taj blok.
Pogledajmo jednostavan primjer:
prekidač javne klaseBlescOpes {javni statički void glavni (string [] args) {int izbor = 2; prekidač (izbor) {Case 1: Int Localvar = 10; Sistem.out.println ("Vrijednost u slučaju 1:" + localvar); prekid; Slučaj 2: System.out.println ("odabran je slučaj 2"); prekid; Zadano: System.out.println ("Nema podudaranja"); } // Sljedeća linija uzrokuje grešku sa kompilacijom // System.out.println (Localvar); }}
U ovom primjeru, varijablaLocalvarproglašava se unutarSlučaj 1Blok. Njen opseg je ograničen na toSlučaj 1Samo blokiranje. Ako pokušamo pristupiti izvan tog bloka, kao na krajuglavniMetoda, Java će bacati grešku sa kompilacijom. To je zato što jednom izlazi iz programaSlučaj 1Blok, varijabla više ne postoji u trenutnom opsegu.
Ali šta ako želimo koristiti varijablu deklarirana u jednomslučajpreko različitihslučajizjave ili čak izvanprebacitiIzjava? Pa, ne možemo direktno učiniti ako se varijabla proglašava unutar aslučajBlok. Međutim, postoji nekoliko obroka.
Jedan od načina je da se proglasi varijabla izvanprebacitiIzjava. Na ovaj način ima širi opseg i može se pristupiti iz unutarprebacitiI takođe izvan nje. Evo kako se to može učiniti:
prekidač javne klaseBalesCoweWorkAround {javni statički void glavni (string [] args) {int izbor = 2; Int Localvar; prekidač (izbor) {Case 1: Localvar = 10; Sistem.out.println ("Vrijednost u slučaju 1:" + localvar); prekid; Slučaj 2: Localvar = 20; Sistem.out.println ("Vrijednost u slučaju 2:" + localvar); prekid; Zadano: Localvar = -1; Sistem.out.println ("Nema podudaranja, vrijednost postavljena na:" + localvar); } System.out.println ("Vrijednost vanjskog prekidača:" + localvar); }}
U ovom ažuriranom kodu, varijablaLocalvarproglašava se izvanprebacitiIzjava. Unutar svakogslučajblok, možemo ga dodijeliti različite vrijednosti, a mi također možemo pristupiti izvanprebacitiIzjava. To nam daje veću fleksibilnost u korištenju varijable.
Drugi pristup je upotreba niza ili kolekcije za pohranu vrijednosti koje su relevantne za različiteslučajizjave. Na primjer:
Uvoz java.util.arraylist; Uvoz java.util.list; prekidač javne klaseBlesCopeCollection {javna statička void glavna (string [] args) {int izbor = 2; Lista <Integer> Vrijednosti = Novi ArrayList <> (); prekidač (izbor) {Case 1: vrijednosti.add (10); Sistem.out.println ("Dodana vrijednost u slučaju 1:" + vrijednosti.get (0)); prekid; Slučaj 2: vrijednosti.addd (20); Sistem.out.println ("Dodana vrijednost u slučaju 2:" + vrijednosti.get (0)); prekid; Zadano: vrijednosti.add (-1); Sistem.out.println ("Nema podudaranja, dodana vrijednost:" + vrijednosti.get (0)); } System.out.println ("Vrijednost na popisu vanjskog prekidača:" + vrijednosti.get (0)); }}
Evo, koristimo anArrayListpohraniti vrijednosti vezane za različiteslučajizjave. Lista ima opseg koji uključuje čitavuglavniMetoda, tako da možemo pristupiti tome i unutar i izvanprebacitiIzjava.
Zato zašto razumijevanje opsega varijabli u aprebacitiIzjava važna? Pa, pomaže u pisanju čistog i besplatnog koda. Ako ne obraćamo pažnju na promjenjivu opsegu, možda bismo završili s neočekivanim ponašanjem ili pogreškama kompilacije. Na primjer, ako slučajno pokušamo pristupiti varijabli izvan njenog djelokruga, naš program neće sastaviti. A ako proglasimo varijable na neefikasan način, to može dovesti do problema sa memorijom ili tvrdog koda za uklanjanje pogrešaka.
Kao dobavljač prekidača znam koliko je važno razumjeti INS-a i izlaske proizvoda koji imam posla. Slično tome, u programiranju, razumijevanje opsega varijabli u aprebacitiIzjava je ključna za pisanje visokokvalitetnog koda.
Ako ste u programiranju i želite saznati više o Javi ili imate bilo kakvih pitanja u vezi s opsegom varijabli, slobodno posegnuti. A ako ste na tržištu za visokokvalitetne prekidače poputTrofazni komplementarni kapacitivni beskontaktni prekidač,Komplementarni kombinirani prekidač, iliSplit fazni kompenzacija bez kontakt prekidača, ne ustručavajte se kontaktirati nas za pregovore o kupovini. Ovdje smo da vam pomognemo da pronađete najbolja rješenja za vaše potrebe.
Reference:


- Specifikacija jezika Java
- Glava Prva Java Kathy Sierra i Bert Bates

