Java programozás 8. – Blokkok

Blokkok, avagy utasítások egy csokorban

Blokknak nevezzük azokat a programrészeket, melyeket egy speciális határolóval összekapcsolunk. A blokk jele a { és } jel. Ezek a jelek mindig párban állnak, jelzik a blokk elejét és végét. Blokkot nyitni a programban szinte bárhol lehet, ahol utasításokat kell csoportba foglalnunk. De blokkok tartoznak kötelező jelleggel az osztályokhoz és metódusokhoz is. Az osztály és metódus blokkokra most külön nem térnék ki, ezeket csak használjuk a mintakódok alapján. Példa a blokkokra:

{
  utasítás1;
  utasítás2;
  ...
  ...
  utasításN;
}

A fenti példában a kiemelt blokk határolók közé foglalt utasításokat a program mindig együtt fogja végrehajtani. Amint a program ehhez a ponthoz ér a program futása közben, elkezdi soronként feldolgozni őket. Ilyen blokkot, ami semmihez nem kapcsolódik, a programokban ritkán használunk, ezek legtöbbször valamilyen feltételvizsgálathoz vagy ciklusokhoz kapcsolódnak.

A blokknak nem csak az a szerepe, hogy összefogja az utasításokat, hanem úgynevezett hatókört is meghatároz. Ha egy blokkon belül deklarálunk egy változót, akkor az a változó csak és kizárólag azon a blokkon belül létezik. Értelemszerűen a blokk előtt nem létezhet, hiszen ott még a deklaráció sem történt meg, de a blokk után sem értelmezhető, hiszen a változó a csak blokkon belül használható. Álljon itt egy elméleti példa erre az esetre:

{
  int i = 10;
  i = i + 5;
}
i = i + 5;

A kiemelt sorra a fordító hibát fog jelezni, mert a változót a blokkon belül deklaráltuk, a blokk után nem létezik. Ehhez hozzátartozik az, hogy a blokk után újra deklarálhatok egy ugyanilyen változót, a kettő nem fog ütközni, hiszen az előző élettartama a blokk után véget ér, és a változó nevét újra felhasználhatom.

A blokkok nem csak több utasítást foghatnak össze, akár egyetlen utasítást is blokkba lehet foglalni, de olyan is előfordulhat, hogy a blokk üres.

Kötelező blokkok

Attól függetlenül, hogy egy utasítást nem kötelező blokkba tenni, én mindenkinek azt ajánlom, hogy egyetlen utasítást is tegyenek { } jelekkel határolt blokkba. Ez azért fontos, mert a későbbiekben lehet, hogy az utasítás mellé szükség lesz egy másikra is, amit ha csak az előző utasítás után írunk az már nem lesz megfelelő. Abban az esetben engedett csak meg a rövidítés, amikor egyértelmű, hogy a későbbiekben biztosan nem lesz bővítés.

Példák

Végezetül minden különösebb nélkül álljon itt pár példa feltételvizsgálathoz és ciklushoz kapcsolt blokkokra, kiemelve a blokkokat. Az utolsó példa blokkja üres lesz, ezt a kódrészt nem magyaráznám el különösebben, a fájlkezelésnél majd találkozunk vele.

int szam = 25;
if( szam % 2 == 0 )
{
  System.out.println("A szam paros.");
}

—–

int j = 0;
for( int i = 0; i < 20; i++ )
{
 j = i * 2;
 System.out.println(j);
}

—–

int i = 10; while( i > 0 )
{
  i--;
  System.out.println(i + 1);
}

—–

try
{
  ...
  ...
}
catch( IOException e ) { }

Következő lecke: Feltételvizsgálatok

One Reply to “Java programozás 8. – Blokkok”

  1. Pingback: Java programozás 7. – Logikai műveletek, logikai kifejezések

Vélemény, hozzászólás?

Az e-mail címet nem tesszük közzé. A kötelező mezőket * karakterrel jelöltük

*

Ez az oldal az Akismet szolgáltatást használja a spam csökkentésére. Ismerje meg a hozzászólás adatainak feldolgozását .