Ammeraal, L. (1998) Leerboek Java

Schoonhoven: Academic Service, ISBN 90-395-1029-6

Om de programma's van dit boek te verkrijgen, kunt u de file leerjava.zip ophalen door hier te klikken.

Inhoud

1 Basiselementen
1.1 Java: voordelen en beschikbaarheid
1.2 Ons allereerste Java-programma
1.2.1 Een rekensom
1.2.2 Het gebruik van de Java-compiler
1.2.3 Commentaar
1.2.4 De programmastructuur
1.2.5 Statements en variabelen
1.2.6 Het wijzigen van programmavariabelen
1.2.7 Namen van variabelen en gereserveerde woorden

1.3 Karakters
1.4 If-statement en invoer
1.4.1 Een karakter inlezen
1.4.2 Het gebruik van try en catch
1.4.3 Het if-statement
1.4.4 De begrippen blok en scope

1.5 Eenvoudige expressies
1.5.1 Aritmetische operatoren
1.5.2 Aritmetische types
1.5.3 Deling door nul en nogmaals try en catch
1.5.4 Toekenningen gecombineerd met andere operaties
1.5.5 Het vergelijken van getallen
1.5.6 Expressies en statements

1.6 Nog meer operatoren
1.6.1 De conditionele expressie
1.6.2 Bitwerkingen
1.6.3 Hexadecimale notatie
1.6.4 Bits selecteren, op 1 zetten of inverteren
1.6.5 Alle bits inverteren
1.6.6 Schuiven
1.6.7 Meer combinaties met assignments
1.6.8 Prioriteit van operatoren

1.7 Wat ingewikkelder statements
1.7.1 Het while-statement
1.7.2 Het do-while-statement
1.7.3 Het for-statement
1.7.4 Samengestelde statements
1.7.5 Het lege statement
1.7.6 Bijzonderheden van lussen
1.7.7 Het break- en het continue-statement
1.7.8 Het switch-statement

1.8 Inleiding objectgeoriënteerd programmeren
1.9 Eenvoudige invoer en uitvoer
1.9.1 Het gebruik van readLine
1.9.2 Het gebruik van onze eigen klasse Input
1.9.3 Het lezen van karakters
1.9.4 Uitvoer van getallen met behulp van een eigen klasse NumStr

1.10 Klassen en methoden
1.10.1 Het gebruik van een eenvoudige klasse voor breuken
1.10.2 Constructoren
1.10.3 Methoden met parameters
1.10.4 De complete klasse Breuk
1.10.5 Een waarde afleveren met return
1.10.6 Het attribuut static, gebruikt voor methoden
1.10.7 Statische methoden: geen speciale klasse vereist
1.10.8 Beginwaarden van variabelen
1.10.9 Overloading
1.10.10 Value-parameteroverdracht

Opgaven

2 Arrays, strings en klassen
2.1 Arrays
2.1.1 Notatie en gebruik
2.1.2 Initialiseren, nullpointer
2.1.3 Het referentiekarakter van een array
2.1.4 Een array kopiëren met System.arraycopy

2.2 Inleiding tot de klasse String
2.2.1 Declaratie, toekenning en lengte
2.2.2 Strings vergelijken
2.2.3 Strings en referenties
2.2.4 Arrays van strings; programma-argumenten

2.3 Het formatteren van getallen
2.3.1 Naar String converteren met String.valueOf
2.3.2 Naar String converteren met DecimalFormat
2.3.3 Een handige klasse om getallen te formatteren
2.3.4 De veldbreedte bij niet-gehele getallen
2.3.5 Programmavoorbeelden

2.4 Meer over strings
2.4.1 Nuttige String-constructoren en -methoden
2.4.2 Recursie
2.4.3 De klasse StringBuffer

2.5 Overerving
2.5.1 Super- en subklassen
2.5.2 Het begrip overriding
2.5.3 Het gebruik van instanceof
2.5.4 Het woord super
2.5.5 Overriding en de attributen private, protected en public

2.6 Abstracte klassen en abstracte methoden
2.7 De klasse Number met zijn extensies
2.7.1 Subklassen van Number, waaronder Integer
2.7.2 Een eenvoudig voorbeeld van polymorfisme
2.7.3 Constructoren, methoden en constanten van Integer

2.8 Het woord final
2.9 Klassevariabelen: nogmaals static
2.10 Parameteroverdracht; een array sorteren
2.10.1 Een voorbeeld: twee waarden verwisselen
2.10.2 Het sorteren van een array; een tijdmeting

2.11 Interfaces
2.11.1 Interface vergeleken met abstracte klasse
2.11.2 Een interface als parameter voor een methode
2.11.3 Wanneer interface in plaats van abstracte klasse?
2.11.4 Wanneer abstracte klasse in plaats van interface?

2.12 De variabele classpath; packages
2.12.1 Het zoeken naar klassen
2.12.2 Een voorbeeld met classpath
2.12.3 Packages
2.12.4 Importstatements
2.12.5 Samengestelde packagenamen
2.12.6 Standaardpackages
2.12.7 Packages en het attribuut public
2.12.8 Het attribuut protected; protectieniveaus
2.12.9 Overriding, protectieniveau en functiewaarde

2.13 Invoer van karakters en getallen
2.13.1 Een eigen klasse Input met drie constructoren
2.13.2 Een voorbeeldprogramma
2.13.3 De klasse Input: programmatekst
2.13.4 Lezen ongedaan maken met unread
2.13.5 Statische methoden van de klasse Character

2.14 Documentatie: online-help en javadoc
Opgaven

3 Grafische applicaties
3.1 Een eenvoudig grafisch programma
3.1.1 De Abstract Window Toolkit 143 3.1.2 Het begrip Frame
3.1.3 Een windowlistener
3.1.4 Uitvoer via paint in plaats van getGraphics
3.1.5 Het plaatsen van main in de frame-klasse
3.1.6 Acties onderbrengen in de constructor van onze frame-klasse

3.2 Het afhandelen van window-events
3.2.1 De Frame-subklasse als windowlistener
3.2.2 De standaardklasse WindowAdapter
3.2.3 Een klasse binnen een klasse
3.2.4 Een anonieme klasse

3.3 De pixels van de tekenrechthoek
3.3.1 Het tekenen van een lijn; de tekenrechthoek
3.3.2 Oplossing met getInsets

3.4 Component-klassen, waaronder Canvas
3.4.1 Een hiërarchie van componenten
3.4.2 Het gebruik van een canvas
3.4.3 Een algemeen bruikbare hulpfile voor de frameklasse

3.5 Rechthoeken, ellipsen en bogen
3.6 Veelhoeken en verwante onderwerpen
3.7 Lettertypes
3.7.1 Het gebruik van setFont
3.7.2 Maten van grafische tekst opvragen met FontMetrics

3.8 Een gif-file importeren
3.9 Animatie en de klasse Thread
3.10 De muis, de XOR-mode en de klasse Vector
3.10.1 Interactief tekenen
3.10.2 Het indrukken van een muisknop
3.10.3 De standaardklasse Vector
3.10.4 Het verslepen van de muis
3.10.5 Linker- en rechtermuisknop; dubbelklikken

3.11 Tekstvelden, labels, knoppen en panels
3.11.1 Meer componenten
3.11.2 Opmaak met FlowLayout
3.11.3 De interface ActionListener
3.11.4 Opmaak met BorderLayout
3.11.5 Een voorbeeld met meer knoppen
3.11.6 Een eenvoudig hoorbare signaal (beep)

3.12 Een foutmelding in een dialoogvenster
3.13 Menu's
3.14 Karakters lezen van file en van toetsenbord
3.14.1 Elementaire file-invoer
3.14.2 Een primitieve manier om ingetikte karakters te lezen

Opgaven

4 Applets
4.1 Een heel eenvoudige applet
4.1.1 Applets en web-pagina's
4.1.2 De appletviewer
4.1.3 Iets over HTML

4.2 De Applet-methoden init, destroy, start en stop
4.3 Grafische uitvoer en enkele componenten
4.3.1 Lijn, rechthoek en tekst
4.3.2 Opmaak zonder standaard-layoutmanager
4.3.3 Een canvas en een panel
4.3.4 Een applet die tegelijk applicatie is

4.4 Een applet met een frame
4.4.1 Nogmaals een menu
4.4.2 Voorkomen dat het frame meer dan eens verschijnt
4.4.3 Animatie met dubbele buffering en regelbare snelheid
4.4.4 Van de applicatie een applet maken

4.5 Geluid afspelen door middel van au-files
4.6 Geluid herhalen: sleep, Runnable en Thread
4.6.1 Een aparte klasse die Runnable implementeert
4.6.2 Het implementeren van Runnable door de appletklasse zelf
4.6.3 Is het wel nodig een thread te gebruiken?
4.6.4 Een subklasse van Thread in plaats van de interface Runnable

4.7 Bewegende beelden met gif-files
4.7.1 Gif-files en appletparameters
4.7.2 Aanroep van paint in een eigen methode update

4.8 Een file lezen met een applet
4.9 Overgaan op een andere web-pagina; jar-files
4.9.1 Plaatjes, muiscursor en web-pagina's
4.9.2 Applets sneller maken met jar-files

4.10 Andere layoutmanagers
4.10.1 Opmaak met GridLayout
4.10.2 Opmaak met GridBagLayout
4.10.3 Opmaak met CardLayout

Opgaven

5 Meer GUI-componenten
5.1 De methode getPreferredSize
5.2 De klassen Checkbox en CheckboxGroup
5.2.1 Hokjes aanvinken met Checkbox
5.2.2 De klasse CheckboxGroup voor radioknoppen

5.3 De klassen Choice en List
5.3.1 Een keuze maken met Choice
5.3.2 Meer mogelijkheden: List

5.4 De klasse TextArea en schuifbalken
5.4.1 De klasse TextArea voor editor-faciliteiten
5.4.2 De klasse Scrollbar: doe het zelf
5.4.3 De klasse ScrollPane: een kant-en-klare oplossing?
5.4.4 Losse schuifbalken: toch weer Scrollbar gebruiken

5.5 Popup-menu's
5.6 Uitvoer naar de printer
Opgaven

6 Files, datastructuren etc.
6.1 File-faciliteiten
6.2 Tekst I/O met een Reader en een Writer
6.2.1 Tekstuitvoer met een Writer
6.2.2 Tekstinvoer met een Reader

6.3 Zelf een zip-file schrijven en lezen
6.3.1 Een zip-file schrijven
6.3.2 Nogmaals exceptie-afhandeling: het throw-statement
6.3.3 Een zip-file lezen

6.4 Invoer en uitvoer van hele objecten
6.5 Het kopiëren van objecten
6.5.1 Een copy-constructor
6.5.2 De methode clone
6.5.3 Ondiepe en diepe kopieën

6.6 De klasse Class en reflectie
6.7 Vector, Enumeration, Stack en BitSet
6.7.1 Arrays en de klasse Vector
6.7.2 De klasse Stack
6.7.3 De interface Enumeration
6.7.4 Verzamelingen en de klasse BitSet

6.8 De klasse Hashtable
6.8.1 Principe van gebruik
6.8.2 Objecten van zelfgedefinieerde klassen als keys

6.9 De klasse Properties
6.9.1 Properties als subklasse van Hashtable
6.9.2 De statische methode getProperties van de klasse System

6.10 Datum en (reken-)tijd
6.11 Meer over arrays
6.12 Arrays als parameters en return-waarden
6.13 Polymorfe arrays
6.14 Het rekenen met erg grote getallen
6.14.1 De klasse BigInteger
6.14.2 De klasse BigDecimal
6.14.3 Berekening van de wiskundige constante pi

6.15 Een algemene klasse om te sorteren
6.15.1 Het begrip functie-object
6.15.2 Een algemene klasse om te sorteren

6.16 Een gelinkte lijst
6.16.1 Een heel eenvoudige gelinkte lijst
6.16.2 Een polymorfe lijst
6.16.3 Een mooiere versie

6.17 Een binaire zoekboom
Opgaven

Literatuur

Index



Back to list of recent books by the same author