Szia
Mire valók a vezérlési szerkezetek?
Vezérlési szerkezetnek nevezünk egy olyan programnyelvi konstrukciót, ami az összetevői végrehajtási sorrendjét adja meg. A vezérlési szerkezetek elemei elemi utasítások, vagy további szerkezetek lehetnek, kialakítva a programrész vezérlési felépítését. Alapvető vezérlési szerkezeteink a szekvencia, az elágazás és a ciklus.
Mi történik a következő sorban és mi célt szolgál? StringBuffer b = new StringBuffer();
Egy StringBuffer példányt hoznak létre. A StringBuffer gyakorlatilag olyan mint egy String, csak annyi a különbség, hogy a StringBuffer tartalma módosítható, míg a String tartalma a létrehozás után már nem.
Mire kérdez rá a feltétel? while (c != 'g') {}
Arra, hogy a c változó értéke nem egyenlő-e a 'g' karakterrel.
Mit hajt végre a következő utasítás? b.append(c);
Valószínűsítem, hogy a StringBuffer b változót jelenti itt a b, hisz szinte egymás utáni kérdések. A válasz az, hogy a b, StringBuffer típusú változó tartalmához hozzáfűzi a c változó értékét, ami valószínűleg egy karakter.
Mi fog szerepelni az értékadás jobb oldalán? c = a.charAt(++i);
Az 'a' változóban eltárolt szöveg i+1-edik indexén lévő karakter, mivel pre increment történik. Ha azt írom, hogy ++i, akkor az i értékének megnövelése előbb történik (pre increment), majd csak utána hajtódik végre az utasítás, amiben van. Ha pedig azt írom, hogy i++, akkor előbb végrehajtódik az utasítás, amiben benne van, majd csak azután nő az i értéke (post increment).
Milyen helyi értékre vonatkozik ez a mutató?
Előfordulhat, hogy a kérdésekhez kaptál egy kis kódrészletet, amiből egyértelműen kiolvasható, hogy adott pillanatban mi az i értéke, és az alapján megadható a válasz. Viszont kis érdekességként adok egy linket, ahol a digit/helyiérték elnevezés használatát fejtegetik.
http://www.informatika-programozas.hu/informatika_java_programozas_gyakorlat_digit.html
Remélem ezzel sikerült a kérdéseidet valamilyen szinten megválaszolnom. Ha segített a válaszom, kérlek jelöld meg megoldásként. Amennyiben pedig további kérdéseid lennének, kérdezz nyugodtan.