KB » Computer » Java programmeren

Java programmeren

    Tweeten

Introductie


Compiler en linker


Declaraties

Variabelen

Constantes

Ik heb het hier alleen over symbolische constantes (i.t.t. tot literal constants, constante waardes die in het programma voorkomen). Deze kan je op 2 manieren declareren.

De 1e is met een #define
De algemene structuur is: #define CONSTNAAM waarde
Voorbeeld: #define PI 3.14

De 2e is met het keyword const
De algemene structuur is: const type constnaam = waarde
Voorbeeld: const int teller = 100


Operators

Complexe operators

Conditional operator

De syntax is exp1 ? exp2 : exp3

Als exp1 waar is heeft het geheel de waarde van exp2, anders die van exp3

Zo zou je bv. kunnen kijken welke van 2 variabelen de laagste waarde heeft, en die dan aan een derde kunnen toekennen: c = (a < b)? a : b;
Dit is equivalent aan if (a < b) c = a; else c = b;

Komma operator


Functies

Definitie en prototype

Voor je een functie definieert, moet je hem declareren. Dat heet een prototype.

Het prototype ziet er precies zo uit als de 1e regel van de functiedefinitie, met 1 verschil: er staan een ';' aan het eind.

Vbd.: int multiply(int x, int y);

Resultaat van een functie

Als je wilt dat de functie een resultaat teruggeeft zet je het type daarvan voor de naam van de functie (zoals de 1e 'int' hierboven).

In de functie moet in dat geval een return expr staan, waarbij de expressie hetzelfde type heeft.

De uitwerking van een functie kan natuurlijk ook zijn dat hij bv. iets afdrukt. In dat geval kan je als resultaattype void gebruiken.

Tip: je kan het beste maar 1 return in een functie gebruiken.

De functie main hoeft niet perse aan het begin van het programma te staan, maar het is wel gebruikelijk.

Parameters en argumenten

Parameters zijn de dingen die tussen haakjes in de functie definitie of prototype staan.

Argumenten zijn de waardes die je daadwerkelijk meegeeft als je een functie aanroept.


Control statements

Het for statement is het beste als je in de loop een teller moet veranderen (of iets soortgelijks) en vooraf iets moet initialiseren.

De do... while is handig als je een statement minimaal 1 keer moet uitvoeren.

Je kan de loops wel binnen elkaar gebruiken, maar niet overlappen. Dus dat je loop1 begint, binnen loop1 ook loop2 begint, dan loop1 eindigt, en dan pas loop2 eindigt.

For statement

for (initialisatie; conditie; increment) statement;

Eerst wordt de initialisatie uitgevoerd. Vervolgens wordt de conditie getest. Als ie waar is wordt het statement uitgevoerd, en wordt tenslotte increment uitgevoerd. Daarna wordt de conditie opnieuw getest, etc.

Vbd.: het afdrukken van de getallen 1 t/m 10:

for (cnt = 1; cnt <= 10; cnt++) printf("%d\n", cnt);

While statement

while (conditie) statement;

Het while statement is in feit een simpele vorm van het for statement.

Het do... while statement

do statement while (conditie)

In deze constructie wordt in tegenstelling tot de andere 2 het statement minimaal 1 keer uitgevoerd.


Invoer en uitvoer

De belangrijkste functies zijn printf (print formatted) en puts (put string) voor uitvoer, en scanf (scan formatted) en gets (get string) voor invoer.

Om deze functies te gebruiken moet je aan het begin van je programma de regel
#include stdio.h
opnemen. Dit is het bestand met de prototypes van deze functies.

Format specifiers

In printf en scanf is de 1e parameter een string met format specifiers. In deze string is van elke volgende parameter het type vermeld.

De format specifier begint met %, en je hebt de volgende mogelijkheden:

Puts

Deze functie drukt gewoon een string af, met een newline aan het eind.

Gets

Printf

Voorbeeld: printf("Het product van %d en %d is: %ld\n", x, y, x*y);

Scanf

In tegenstelling tot printf moeten de 2e en volgende parameters niet bestaan uit variabelen (of expressies), maar uit adressen van de variabelen waarin de invoer moet worden opgeslagen.

Voorbeeld: scanf(Voer 2 getallen in om met elkaar te vermenigvuldigen: %d %d", &x, &y);

De scheiding tussen verschillende in te voeren waardes moet bestaan uit "white space". Alles waar geen tekens staan is white space, dus het gaat spaties maar ook newlines.

2 in te voeren waardes kan je dus scheiden door een willekeurig aantal spaties, maar je kan ze ook op verschillende regels zetten, desnoods met een aantal lege ertussen.


Arrays

Declaratie

Initialisatie


Pointers


Aandachtspunten


Troubleshooting

Syntax

In geval van syntaxfouten, kan je het beste eerst checken of alle haakjes (zowel de gewone, als de curly braces (zoals '}') in balans zijn.

Een andere, veel voorkomende, fout is het ontbreken van een ';' (semicolon, puntkomma) aan het eind van een statement.

Verder kan je checken of alle variabelen gedeclareerd zijn. Daarbij moet je bedenken dat C(++) case sensitive is!!!



    Tweeten

© Henk Dalmolen
Reageer via E-mail (dalmolen@xs4all.nl)

Deze pagina is voor het laatst gewijzigd op: 31-01-23 17:29:28