| Bevezetés a programozásba | 1 |
| A számítógép és a szoftver | 3 |
| Objektum, adat, program | 3 |
| Programozási nyelv | 5 |
| A program szerkesztése, fordítása, futtatása | 11 |
| A szoftverek osztályozása | 14 |
| Szoftverkrízis | 15 |
| A szoftver minőségének jellemzői | 17 |
| Moduláris programozás | 18 |
| Módszertanok | 20 |
| Tesztkérdések | 21 |
| Adat, algoritmus | 23 |
| Az algoritmus fogalma | 23 |
| Változó, típus | 25 |
| Tevékenységdiagram | 27 |
| Pszeudokód | 33 |
| Az algoritmus tulajdonságai | 39 |
| Tesztkérdések | 40 |
| Feladatok | 41 |
| A szoftver fejlesztése | 43 |
| A szoftverfejlesztés alkotómunka | 43 |
| Az Egységesített Eljárás | 44 |
| Követelményfeltárás | 50 |
| Analízis | 50 |
| Tervezés | 51 |
| Implementálás (kódolás) | 51 |
| Tesztelés | 52 |
| Dokumentálás | 53 |
| Tesztkérdések | 54 |
| Objektumorientált paradigma | 55 |
| Mitől objektumorientált egy program? | 57 |
| A valós világ modellezése | 57 |
| Az objektumorientált program főbb jellemzői | 59 |
| Tesztkérdések | 66 |
| Objektum, osztály | 67 |
| Az objektum | 67 |
| Az objektum állapota | 69 |
| Az objektum azonossága | 70 |
| Osztály, példány | 70 |
| Kliens üzen a szervernek | 70 |
| Objektum létrehozása, inicializálása | 73 |
| Példányváltozó, példánymetódus | 74 |
| Osztályváltozó, osztálymetódus | 79 |
| Bezárás, az információ elrejtése | 81 |
| A kód újrafelhasználása | 82 |
| Objektumok, osztályok sztereotípusai | 83 |
| Tesztkérdések | 84 |
| Feladatok | 84 |
| Társítási kapcsolatok | 85 |
| Objektumok közötti társítási kapcsolatok | 85 |
| Osztályok közötti társítási kapcsolatok | 89 |
| A társítási kapcsolat megvalósítása | 94 |
| Tesztkérdések | 98 |
| Feladatok | 99 |
| Öröklődés | 101 |
| Az öröklődés fogalma, szabályai | 101 |
| Az utód osztály példányának adatai és a küldhető üzenetek | 105 |
| Egyszeres, többszörös öröklődés | 106 |
| Az interfész fogalma | 106 |
| Láthatóság (hozzáférési mód, védelem) | 108 |
| Tesztkérdések | 110 |
| Egyszerű OO terv - Esettanulmány | 111 |
| A fogalmak tisztázása | 111 |
| Gyuszi játéka - fejlesztési dokumentáció | 120 |
| Tesztkérdések | 129 |
| Java környezet | |
| Fejlesztési környezet - első programunk | 133 |
| A JBuilder letöltése, indítása | 134 |
| A könyv melléklete | 134 |
| A JBuilder alkalmazás böngészője | 136 |
| JBuilder-projekt fordítása, futtatása | 139 |
| Önálló program fordítása, futtatása | 140 |
| A javalib könyvtár konfigurálása | 144 |
| A javaprog projekt létrehozása | 146 |
| Mintaprogram - hurrá | 149 |
| A JBuilder szövegszerkesztője | 151 |
| JDK - Java Fejlesztői Készlet | 153 |
| Az API csomagstruktúrája | 159 |
| Fordítás és futtatás több osztály esetén | 161 |
| Integrált fejlesztői környezetek | 163 |
| Tesztkérdések | 165 |
| Feladatok | 167 |
| A Java nyelvről | 169 |
| Az OO programozási nyelvek térhódítása | 169 |
| A Java nyelv története | 172 |
| Az Internet, A World Wide Web és a Java | 173 |
| A Java nyelv jellemzői | 176 |
| Tesztkérdések | 177 |
| Java programozási alapok | 179 |
| Alapfogalmak | 181 |
| Mintaprogram - krumpli | 181 |
| ASCII és unikód karakterek | 183 |
| A program alkotóelemei | 185 |
| Változó, típus | 192 |
| Primitív típusok | 195 |
| A forrásprogram szerkezete | 197 |
| Metódushívás (üzenet) | 201 |
| Értékadó utasítás | 203 |
| Adatok bevitele a konzolról | 204 |
| Megjelenítés a konzolon | 206 |
| Tesztkérdések | 209 |
| Feladatok | 211 |
| Kifejezések, értékadás | 213 |
| A kifejezés alkotóelemei | 213 |
| Operátorok | 215 |
| Típuskonverziók | 221 |
| Értékadás, értékadási kompatibilitás | 223 |
| Kifejezések kiértékelése - példák | 226 |
| Feltétel | 227 |
| Paraméterátadás, túlterhelt metódusok | 229 |
| java.lang.Math osztály | 231 |
| Tesztkérdések | 233 |
| Feladatok | 235 |
| Szelekcik | 237 |
| Egyágú szelekció - if | 237 |
| Kétágú szelekció - if...else | 240 |
| Egymásba ágyazott szelekciók | 241 |
| Többágú szelekciók - else if és switch | 243 |
| Független feltételek vizsgálata | 247 |
| Tesztkérdések | 248 |
| Feladatok | 250 |
| Iterációk | 251 |
| Elöltesztelő ciklus - while | 251 |
| Hátultesztelő ciklus - do while | 253 |
| Léptető ciklus - for | 256 |
| Ciklusok egymásba ágyazása, kiugrás a ciklusból | 260 |
| Adatok feldolgozása végjelig | 264 |
| Megszámlálás | 266 |
| Összegzés, átlagszámítás | 267 |
| Minimum- és maximumkiválasztás | 268 |
| Menükészítés | 270 |
| Tesztkérdések | 271 |
| Feladatok | 272 |
| Metódusok írása | 277 |
| A metódus fogalma, szintaktikája | 277 |
| Paraméterátadás | 283 |
| Visszatérés a metódusból | 285 |
| Metódusok túlterhelése | 286 |
| Lokális változók | 289 |
| Néhány példa | 290 |
| Hogyan tervezzük meg metódusainkat? | 292 |
| Tesztkérdések | 294 |
| Feladatok | 296 |
| Osztályok használata, készítése | 299 |
| Objektumok, karakterláncok, csomagolók | 301 |
| A fejezet osztályainak rendszerezése | 301 |
| Primitív típus - referenciatípus | 304 |
| Objektum létrehozása, deklarálása | 304 |
| Értékadás az objektumok körében | 305 |
| Az objektumok élete, automatikus szemétgyűjtés | 308 |
| String osztály | 309 |
| StringBuffer osztály | 316 |
| Objektum átadása paraméterként | 322 |
| Primitív típusok csomagolása | 325 |
| StringTokenizer osztály | 329 |
| Tesztkérdések | 332 |
| Feladatok | 333 |
| Osztály készítése | 337 |
| OO paradigma - emlékeztető | 337 |
| Első mintaprogram - raktárprogram | 339 |
| Második mintaprogram - Bank és "jószerencse" | 345 |
| Az osztály felépítése, az osztály deklarációi | 351 |
| Osztálytag, példánytag | 353 |
| Azonosító, hivatkozási kör, takarás | 357 |
| Változók alapértelmezés szerinti kezdeti értékei | 357 |
| A this objektumreferencia | 357 |
| Konstruktorok | 358 |
| Inicializálók | 360 |
| Tesztkérdések | 363 |
| Feladatok | 364 |
| Konténerek | 367 |
| Tömbök | 369 |
| A tömb általános fogalma | 369 |
| Egydimenziós tömb | 372 |
| A tömb szekvenciális feldolgozása | 377 |
| Gyűjtés | 379 |
| Kétdimenziós tömb | 385 |
| Többdimenziós tömb | 390 |
| A tömb átadása paraméterként | 392 |
| A program paraméterei | 395 |
| Feladat - Szavazatkiértékelés | 395 |
| Tesztkérdések | 399 |
| Feladatok | 399 |
| Rendezés, keresés, karbantartás | 405 |
| Rendezés | 406 |
| Keresés | 408 |
| Karbantartás | 411 |
| Primitív elemek rendezése, keresése | 415 |
| String objektumok rendezése, keresése | 420 |
| Saját osztályú objektumok rendezése, keresése | 423 |
| Szövegek rendezett karbantartása | 429 |
| Tesztkérdések | 433 |
| Feladatok | 434 |
| A Vector és a Collections osztály | 437 |
| A konténer funkció általában | 437 |
| Vector osztály | 439 |
| Az equals metódus szerepe | 446 |
| A konténer elhagyása az UML diagramról | 452 |
| Interfészek - Collections, List, Comparable | 452 |
| Collections osztály | 456 |
| Feladat - Nobel díjasok | 463 |
| Feladat - Városok | 467 |
| Feladat - Autóeladás | 470 |
| Tesztkérdések | 475 |
| Feladat | 476 |
| Függelék | 479 |
| A tesztkérdések megoldásai | 481 |
| Irodalomjegyzék | 483 |
| Tárgymutató | 485 |