Deze les
Loops
While loop
Do while loop
For loop
Programmeren in Java les 3 W. Oele
4 september 2015
W. Oele Programmeren in Java les 3
Methodes
Huiswerk
Deze les
Loops
While loop
Do while loop
Deze les
korte herhaling vorige week loops methodes
W. Oele Programmeren in Java les 3
For loop
Methodes
Huiswerk
Deze les
Loops
While loop
Do while loop
For loop
Methodes
Variabelen
Soorten variabelen in Java: integer: een geheel getal, bijv. 1,2,3,4 float: een gebroken getal, bijv. 3.1415 double: een gebroken getal, bijv. 3.14159274932084 char: een character, bijv. a,b,c,enz boolean: heeft de waarde true of false
W. Oele Programmeren in Java les 3
Huiswerk
Deze les
Loops
While loop
Do while loop
For loop
Methodes
Huiswerk
Werken met variabelen
Twee stappen: declareren: kenbaar maken dat je een variabele wilt gebruiken initializeren: de variabelen een waarde geven wijzigen: aan de variabele een nieuwe waarde toekennen lezen: de waarde van een variabele gebruiken
W. Oele Programmeren in Java les 3
Deze les
Loops
While loop
Do while loop
Declareren en initializeren
In de main methode: declareren: int x; initializeren: x=5; Meerdere variabelen: declareren: int x,y,z; initializeren: x=5,y=10,z=30.342;
W. Oele Programmeren in Java les 3
For loop
Methodes
Huiswerk
Deze les
Loops
While loop
Do while loop
Variabelen gebruiken
Standaard operaties: optellen: x=y+z; aftrekken: y=x-z+y; delen: x=z/3; vermenigvuldigen: x=x*y*z;
W. Oele Programmeren in Java les 3
For loop
Methodes
Huiswerk
Deze les
Loops
While loop
Do while loop
For loop
Methodes
De = operator
De expressie x=x+1; is in Java toegestaan, terwijl dit wiskundig onjuist is. . .
Tip: Spreek het ”=” teken uit als ”wordt”. . .
W. Oele Programmeren in Java les 3
Huiswerk
Deze les
Loops
While loop
Do while loop
For loop
Methodes
Variabelen printen
Gebruik een simpele println();: int x=34,y=65; System.out.println("De waarde van x: "+x+". De waarde van y: "+y); Uitvoer: De waarde van x: 34. De waarde van y: 65
W. Oele Programmeren in Java les 3
Huiswerk
Deze les
Loops
While loop
Do while loop
For loop
Methodes
Integers afkappen Wat nu? int x=3,y=2,z; z=x/y; System.out.println("De waarde van z: "+z); integers worden niet afgerond integers worden afgekapt: alles na de komma verdwijnt! De waarde is 1.5, de uitvoer wordt dus: De waarde van z: 1
W. Oele Programmeren in Java les 3
Huiswerk
Deze les
Loops
While loop
Do while loop
For loop
Methodes
Strings
een String is een lijstje characters, bijv. ”hallo” in Java is een String geen ingebakken datatype strings zijn objecten op strings kan men operaties uitvoeren door methodes aan te roepen
W. Oele Programmeren in Java les 3
Huiswerk
Deze les
Loops
While loop
Do while loop
For loop
Strings en variabelen
public class application { public static void main(String[] args) { int a=5; String s=’’hallo allemaal’’; ......... float x=2.54; ......... }
W. Oele Programmeren in Java les 3
Methodes
Huiswerk
Deze les
Loops
While loop
Do while loop
In het geheugen
a
⇒
5
s
⇒
hallo allemaal
x
⇒
2.54
W. Oele Programmeren in Java les 3
For loop
Methodes
Huiswerk
Deze les
Loops
While loop
Do while loop
Strings manipuleren
.......... String s="hallo allemaal"; s=s.replace(’a’,’o’); System.out.println(s); ........... Uitvoer: hollo ollemool
W. Oele Programmeren in Java les 3
For loop
Methodes
Huiswerk
Deze les
Loops
While loop
Do while loop
For loop
Methodes
String methodes Naast de replace methode bestaan er een groot aantal andere methodes om strings te manipuleren: characters wissen characters naar lowercase / uppercase volgorde omdraaien zoeken naar een character aantal characters tellen aantal voorkomens van een character tellen etc. zie boek!
W. Oele Programmeren in Java les 3
Huiswerk
Deze les
Loops
While loop
Do while loop
Strings en variabelen converteren
een string is een lijstje characters een float is een variabele Mag dit? float x; String s=’’3.1415’’ x=s;
W. Oele Programmeren in Java les 3
For loop
Methodes
Huiswerk
Deze les
Loops
While loop
Do while loop
For loop
Methodes
Huiswerk
Strings en variabelen converteren
een string is een lijstje characters een float is een variabele Mag dit? float x; String s=’’3.1415’’ x=s; Nee! Voor een computer is ”3.1415” een lijstje van 6 characters en dus geen float.
W. Oele Programmeren in Java les 3
Deze les
Loops
While loop
Do while loop
For loop
Methodes
Variabelen naar strings converteren
Met de methode valueof kan men een variabele naar een string converteren. Voorbeeld: int x=345; String s=String.valueof(x);
W. Oele Programmeren in Java les 3
Huiswerk
Deze les
Loops
While loop
Do while loop
For loop
Methodes
Strings naar variabelen converteren
String x=’’1234’’; int x=Integer.parseInt(x); x=x+1; System.out.println(’’de waarde van x: ’’+x); Uitvoer: de waare van x: 1235
W. Oele Programmeren in Java les 3
Huiswerk
Deze les
Loops
While loop
Do while loop
De if constructie
gebruik: conditionele uitvoer van statements reageren op input reageren op andere programma’ s
W. Oele Programmeren in Java les 3
For loop
Methodes
Huiswerk
Deze les
Loops
While loop
Do while loop
For loop
Methodes
Voorbeeld
int x=5,y=10; ..... ..... if((x*y)>40) { System.out.println(’’x is groter dan 40’’); } ..... .....
W. Oele Programmeren in Java les 3
Huiswerk
Deze les
Loops
While loop
Do while loop
algemeen
if( logische expressie ) { statements}
W. Oele Programmeren in Java les 3
For loop
Methodes
Huiswerk
Deze les
Loops
While loop
Do while loop
For loop
Methodes
Huiswerk
De if else constructie
int x=5,y=10; ..... ..... if((x*y)>40) { System.out.println(’’x maal y is groter dan 40’’); } else { System.out.println(’’x maal y is kleiner of gelijk aan 40’ } ..... ..... W. Oele Programmeren in Java les 3
Deze les
Loops
While loop
Do while loop
algemeen
if( logische expressie ) { statements} else {statements}
W. Oele Programmeren in Java les 3
For loop
Methodes
Huiswerk
Deze les
Loops
While loop
Do while loop
For loop
Methodes
Huiswerk
De if else if constructie
int x=5,y=10; ..... ..... if(x>1&&y>50) { doe_iets; } else if(x>1&&y<50) { System.out.println(’’x is groter dan 1 en y is kleiner dan } else { ..... W. Oele} Programmeren in Java les 3
Deze les
Loops
While loop
algemeen
if( logische expressie ) { statements} else if(logische expressie) {statements} else {statements}
W. Oele Programmeren in Java les 3
Do while loop
For loop
Methodes
Huiswerk
Deze les
Loops
While loop
Do while loop
Veel voorkomende constructies
post increment: pre increment: post decrement: pre decrement:
W. Oele Programmeren in Java les 3
x=x+1; x=x+1; x=x-1; x=x-1;
x++; ++x; x--; --x;
x=x+2; x=x*2;
x+=2; x*=2;
For loop
Methodes
Huiswerk
Deze les
Loops
While loop
Do while loop
For loop
Pre en post increment
int x,y=10; x=y++; System.out.println("de waarde van x: "+x); Uitvoer?
W. Oele Programmeren in Java les 3
Methodes
Huiswerk
Deze les
Loops
While loop
Do while loop
For loop
Pre en post increment
int x,y=10; x=y++; System.out.println("de waarde van x: "+x); Uitvoer? De waarde van x: 10 Post increment: eerst uitrekenen, dan ophogen
W. Oele Programmeren in Java les 3
Methodes
Huiswerk
Deze les
Loops
While loop
Do while loop
For loop
Pre en post increment
int x,y=10; x=++y; System.out.println("de waarde van x: "+x); Uitvoer?
W. Oele Programmeren in Java les 3
Methodes
Huiswerk
Deze les
Loops
While loop
Do while loop
For loop
Pre en post increment
int x,y=10; x=++y; System.out.println("de waarde van x: "+x); Uitvoer? De waarde van x: 11 Pre increment: eerst ophogen, dan uitrekenen
W. Oele Programmeren in Java les 3
Methodes
Huiswerk
Deze les
Loops
While loop
Do while loop
For loop
Methodes
Huiswerk
Loops
Maken het mogelijk stukjes code een bepaald aantal malen te herhalen drie soorten: while. . . do do. . . while for
kunnen met het break statement worden doorbroken.
W. Oele Programmeren in Java les 3
Deze les
Loops
While loop
Do while loop
For loop
While loop: flow of control
conditie voldaan while blok
W. Oele Programmeren in Java les 3
niet voldaan
Methodes
Huiswerk
Deze les
Loops
While loop
Do while loop
While loop: algemene schrijfwijze
...... while(conditie) { body van while loop } ......
W. Oele Programmeren in Java les 3
For loop
Methodes
Huiswerk
Deze les
Loops
While loop
Do while loop
For loop
Methodes
While loop: voorbeeld
int i=20; while(i<40) { System.out.println("De waarde van i: "+i); i++; }
W. Oele Programmeren in Java les 3
Huiswerk
Deze les
Loops
While loop
Do while loop
For loop
Methodes
While loop: voorbeeld
int i=40; while(i>20) { System.out.println("De waarde van i: "+i); i--; }
W. Oele Programmeren in Java les 3
Huiswerk
Deze les
Loops
While loop
Do while loop
For loop
Methodes
Do while loop
is bijna hetzelfde als de while loop, maar: evaluatie van de conditie wordt aan het einde van de loop uitgevoerd, derhalve: wordt tenminste ´e´en maal uitgevoerd, ongeacht de conditie
W. Oele Programmeren in Java les 3
Huiswerk
Deze les
Loops
While loop
Do while loop
For loop
Do while loop: flow of control
do blok
conditie voldaan
W. Oele Programmeren in Java les 3
niet voldaan
Methodes
Huiswerk
Deze les
Loops
While loop
Do while loop
Do while loop: Algemene schrijfwijze
do { ...... statements; ...... } while(conditie)
W. Oele Programmeren in Java les 3
For loop
Methodes
Huiswerk
Deze les
Loops
While loop
Do while loop
For loop
Methodes
Do while loop: voorbeeld
int i=0; do { System.out.println("De waarde van i: "+i); i++; } while(i<20)
W. Oele Programmeren in Java les 3
Huiswerk
Deze les
Loops
While loop
Do while loop
For loop
Methodes
While en do while loop: flow of control
do blok conditie voldaan
niet voldaan conditie
while blok voldaan
W. Oele Programmeren in Java les 3
niet voldaan
Huiswerk
Deze les
Loops
While loop
Do while loop
For loop
Methodes
For loop
veel gebruikt voor loops, waarvan van tevoren bekend is hoe vaak iets moet worden uitgevoerd
W. Oele Programmeren in Java les 3
Huiswerk
Deze les
Loops
While loop
Do while loop
For loop
For loop: flow of control
initialisatie
conditie voldaan for blok update
W. Oele Programmeren in Java les 3
niet voldaan
Methodes
Huiswerk
Deze les
Loops
While loop
Do while loop
For loop
Methodes
Huiswerk
For loop: algemene schrijfwijze Algemene schrijfwijze:
for(start expressie;voorwaarde expressie;update expressie) { body van for loop } start expressie: met welke waarde moet de loop beginnen? voorwaarde expressie: is aan de voorwaarde voldaan? update expressie: verander een variabele (gewoonlijk ophogen)
W. Oele Programmeren in Java les 3
Deze les
Loops
While loop
Do while loop
For loop
Methodes
Huiswerk
For loop: werking
1
evalueer de start expressie (variabelen aanmaken/initializeren)
2
evalueer de voorwaarde expressie
3
voorwaarde voldaan? voer de loop body uit, anders stop
4
evalueer de update expressie
5
terug naar stap 2
W. Oele Programmeren in Java les 3
Deze les
Loops
While loop
Do while loop
For loop
Methodes
For loop: voorbeeld
int i; for(i=0;i<10;i=i+1) { System.out.println("De waarde van i: "+i); }
Declaratie en initialisatie van de loop variabele op twee regels.
W. Oele Programmeren in Java les 3
Huiswerk
Deze les
Loops
While loop
Do while loop
For loop
Methodes
For loop: voorbeeld
for(int i=0;i<10;i=i+1) { System.out.println("De waarde van i: "+i); }
Declaratie en initialisatie van de loop variabele op in ´e´en keer.
W. Oele Programmeren in Java les 3
Huiswerk
Deze les
Loops
While loop
Do while loop
For loop
Methodes
For loop: voorbeeld
for(int i=0;i<10;i++) { System.out.println("De waarde van i: "+i); }
Post increment
W. Oele Programmeren in Java les 3
Huiswerk
Deze les
Loops
While loop
Do while loop
For loop: nesting
int x=0; for(int i=0;i<20;i++) { for(int j=0;j<100;j++) { x=x+i+j; System.out.println(x); } }
W. Oele Programmeren in Java les 3
For loop
Methodes
Huiswerk
Deze les
Loops
While loop
Do while loop
For loop
Methodes
Het break statement Met het keyword break; kan men uit een loop breken: for(int i=0;i<200;i++) { System.out.println(i); if(i>50) { break; } } hoe vaak wordt deze loop uitgevoerd?
W. Oele Programmeren in Java les 3
Huiswerk
Deze les
Loops
While loop
Do while loop
For loop
Methodes
Het break statement Met het keyword break; kan men uit een loop breken: for(int i=0;i<200;i++) { System.out.println(i); if(i>50) { break; } } hoe vaak wordt deze loop uitgevoerd? antwoord: 52 keer. . . W. Oele Programmeren in Java les 3
Huiswerk
Deze les
Loops
While loop
Do while loop
For loop
Methodes
Methodes De methode: is een soort bundeling van statements heeft een naam die je zelf kunt kiezen heeft parameters of argumenten heeft een returntype kan men overal in een klasse neerzetten is voorlopig als public gedeclareerd heeft een body en een signatuur kan andere methodes uit dezelfde klasse aanroepen
W. Oele Programmeren in Java les 3
Huiswerk
Deze les
Loops
While loop
Do while loop
Methodes in andere talen
Java C/C++ Vroegere talen Vroegere talen
W. Oele Programmeren in Java les 3
methode functie procedure (sub)routine
For loop
Methodes
Huiswerk
Deze les
Loops
While loop
Do while loop
Voorbeeld ......... public int maximum(int x, int y) { if(x>y) { return x; } else if(x
For loop
Methodes
Huiswerk
Deze les
Loops
While loop
Do while loop
For loop
Methodes gebruiken public class voorbeeld { public static void main(String[] args) { boolean result; result=gokje(5); System.out.println("Resultaat: "+result); } public static boolean gokje(int x) { if(x==7) return true; return false; } } W. Oele Programmeren in Java les 3
Methodes
Huiswerk
Deze les
Loops
While loop
Do while loop
For loop
Methodes
algemene schrijfwijze
public static returntype methodenaam(parameters) { methode body }
W. Oele Programmeren in Java les 3
Huiswerk
Deze les
Loops
While loop
Do while loop
For loop
Methodes
Body en signatuur
De signatuur van een methode: returntype naam parameters Kortom: de signatuur is alles, behalve de body van een methode
W. Oele Programmeren in Java les 3
Huiswerk
Deze les
Loops
While loop
Do while loop
For loop
Methodes
Void methodes Een void methode geeft niets terug: public static void printdegrootste(int x,int y) { if(x>y) { System.out.println(x); } else if(x
Huiswerk
Deze les
Loops
While loop
Do while loop
Recursie
Een methode kan zichzelf aanroepen: public static int faculty(int x) { if(x==0)return 1; else return (x*faculty(x-1)); }
W. Oele Programmeren in Java les 3
For loop
Methodes
Huiswerk
Deze les
Loops
Recursie
W. Oele Programmeren in Java les 3
While loop
Do while loop
For loop
Methodes
Huiswerk
Deze les
Loops
Recursie?
W. Oele Programmeren in Java les 3
While loop
Do while loop
For loop
Methodes
Huiswerk
Deze les
Loops
While loop
Do while loop
Eindige methode? public static void Foo(int x) { while(x!=1) { if(x%2==0) { x/=2; } else { x=((3*x)+1); } } return; } W. Oele Programmeren in Java les 3
For loop
Methodes
Huiswerk
Deze les
Loops
While loop
Do while loop
Algemene structuur public class voorbeeld { public static void main(String[] args) { variabelen if-else constructies loops statements } public static void methode() { variabelen if-else constructies loops statements } } W. Oele Programmeren in Java les 3
For loop
Methodes
Huiswerk
Deze les
Loops
While loop
Do while loop
For loop
Methodes
Huiswerk
lezen over loops en methodes (t/m blz. 118 dus!) oefenen. . . maken practicumopdracht 3 (zie site) oefenen en experimenteren met kleine programma’ s
W. Oele Programmeren in Java les 3
Huiswerk