Presentatie H18

advertisement
LauwersCollege Buitenpost
Hoofdstuk 18: Java
Soorten Java-programma’s
• Java Applet
programma dat op een website zichtbaar is
• Java Application
programma dat zelfstandig werkt
Javascript is geen Java!
• Javascript
Scripttaal ingebed in html-code, ondersteunt
opbouw van webpagina’s
LauwersCollege Buitenpost
Voorbeeld van een Java-programma
import java.awt.Graphics;
import java.applet.Applet;
methodeheader
methodeaanroep
public class Hallo extends Applet
{
public void paint (Graphics g)
{
g.drawString("Hallo!", 20, 20);
}
}
accolades begrenzen
klasse en methode
één klasse
met één
methode
met één
opdracht
LauwersCollege Buitenpost
Klasse- en methode-header
public:
mag door andere
applets worden
gebruikt
naam Hallo:
zelfbedacht
de klasse is
een uitbreiding
van de libraryklasse Applet
import java.awt.Graphics;
import java.applet.Applet;
public class Hallo extends Applet
{
public void paint (Graphics g)
{
g.drawString("Hallo!", 20, 20);
}
}
void = leeg
De methode geeft geen
getal of string als resultaat
LauwersCollege Buitenpost
Opdracht: methode-aanroep
opdracht:
aanroep van
een methode
object waarop
de methode werkt
import java.awt.Graphics;
import java.applet.Applet;
public class Hallo extends Applet
{
public void paint (Graphics g)
{
g.drawString("Hallo!", 20, 20);
}
}
punt tussen
object en methode
naam van de
methode
drie parameters
LauwersCollege Buitenpost
Klasse-bibliotheken
import java.awt
. Graphics;
import java.applet . Applet;
libraryklassen
moet je importeren
met vermelding van
het package waar
ze in zitten
public class Hallo extends Applet
{
public void paint (Graphics g)
{
g.drawString("Hallo!", 20, 20);
}
}
je mag libraryklassen gebruiken
LauwersCollege Buitenpost
Website met een applet
HTML-tag
<APPLET>
<HTML>
Dit is een applet: <BR>
<APPLET code = Hallo.class
</APPLET>
</HTML>
bytecode die het resultaat is
van het compileren van Hallo.java
width=100 height=50>
het bestand Hallo.class moet in
dezelfde map staan als het
html-document
LauwersCollege Buitenpost
Parameters doorgeven aan applets vanuit HTML
altijd een
public class Groet extends Applet
String als
{
resultaat
public void paint(Graphics g)
{ String persoon, groet;
persoon=this. getParameter("voornaam");
groet = "Hallo " + persoon + "!";
g.drawString(groet, 50, 20);
}
}
<APPLET code=Groet.class width=100 height=100>
<PARAM name="voornaam" value="Jeroen">
</APPLET>
dit krijg je als resultaat
bij aanroep van
getParameter("voornaam"
LauwersCollege Buitenpost
Methoden uit Graphics
x
 drawString(String,x,y)
 drawLine(x1,y1,x2,y2)
y
hallo
 drawRect(x,y,l,b)
 drawOval(x,y,l,b)
 fillRect(x,y,l,b)
 fillOval(x,y,l,b)
 setColor(k)
bepaalt de kleur van
later getekende figuren
LauwersCollege Buitenpost
Variabelen
int breedte, hoogte;
String s;
breedte = 200;
hoogte = 100;
s = "hallo";
g.fillRect(10, 0, breedte, hoogte);
g.drawstring(s,10,200);
declaratie:
aankondigen van
variabelen
en hun type
toekenningsopdrachten:
variabelen krijgen
een waarde
gebruik van
variabelen
LauwersCollege Buitenpost
Commentaar
• Commentaar zet je tussen de programmaregels
• Het dient om de code te verduidelijken
• Twee vormen:
– van /* tot */
– van // tot einde regel
public class Groet extends Applet
{
public void paint(Graphics g)
{ String persoon, groet;
/* haalt de inhoud van de variabele persoon uit
het html-document */
persoon=this. getParameter("voornaam");
groet = "Hallo " + persoon + "!";
g.drawString(groet, 50, 20);
}
}
dit is
commentaar
LauwersCollege Buitenpost
Typen van variabelen
Gehele getallen:
• byte
127
• short
32767
• int
 2 miljard
• long
 9 * 1018
Kommagetallen:
 float
8 cijfers,  1038
 double
15 cijfers,  10308
Letters of woorden:
 char
1 teken
 String
1 of meer tekens
Boolese variabelen:
 boolean true of false
LauwersCollege Buitenpost
Operatoren
Beide argumenten int
 resultaatwaarde int
type-conversie
 Minstens één double
 resultaatwaarde double
type-conversie
 bij + operator geldt:
Minstens één String
 resultaatwaarde String
2+5=7
3 * 4 = 12
5/2=3
24 % 5 = 4 (rest!)
(double)5/2 = 2.5
0.5 * 7 = 3.5
(int)0.5*7 = 4
int b = 7;
"nr" + b = "nr7"
LauwersCollege Buitenpost
Boolean expressies
• Vergelijken van waarden
x <= y
x ==y
x != y
is x kleiner of gelijk aan y?
is x gelijk aan y ?
is x ongelijk aan y ?
x=5 betekent
x wordt 5
• Combineren van boolean expressies
met logische operatoren
 &&
 ||
and
or
(x<0) && (y>0)
(x==0) || (y==0)
 !
not
! (x==0)
George Boole
(1815-1864)
LauwersCollege Buitenpost
Constanten
 Kleuren
black, blue , cyan , darkGray, gray,
green , lightGray, magenta , orange,
pink , red , white , yellow


Wiskundige constanten
Stijlen bij lettertypen
bold, italic, plain
Denk er om dat Java hoodlettergevoelig is. Math.pi geeft
een foutmelding!
Color.blue
Math.PI en Math.E
Font.bold
LauwersCollege Buitenpost
Objecten maken met de constructor-methode
Als je iets anders dan een getal of string declareert dan gebruik
je het woord new bij de toekenning; dat wordt de constructormethode genoemd.
constructor
declaratie
Button b;
b = new Button("OK");
Aanroep van constructor-methode:
• maakt nieuw object in het geheugen
• bewerkt dat object alvast
• plaatst het niet automatisch op het applet
LauwersCollege Buitenpost
klasse Font
• Declaratie
Font f;
naam van
het font
stijl
• Aanmaak object
f = new Font( "Arial", Font.bold, 12 );
• Gebruik van het object
g.setFont ( f );
grootte
LauwersCollege Buitenpost
klasse Color
• Declaratie
Color c;
rood groen
• Aanmaak object
c = new Color( 178, 255, 152 );
• Gebruik van het object
g.setColor ( c );
blauw
LauwersCollege Buitenpost
for-opdracht
initialisatie
(beginwaarde)
voorwaarde om
door te gaan
volgende
waarde
for ( int t=0 ; t<20 ; t++ )
{
String s = String.valueOf(t*7);
g.drawString(s, 10 , t*20 );
}
maakt van de waarde
van t*7 een string
LauwersCollege Buitenpost
While-opdracht
public void paint (Graphics g)
{
wordt herhaald
int t=1;
zolang k kleiner
double k=1000;
dan 2000 is
while ( k<2000 )
{
k = k * 1.05;
String ks = String.valueOf(k);
g.drawString(ks, 10, 20*t );
t = t+1;
}
k wijzigt in de body
}
LauwersCollege Buitenpost
Exceptions
Exception:
• Uitzonderlijke toestand die door een methode wordt
opgeworpen, namelijk als er een fout optreedt
in het
try-gedeelte
• De situatie moet door de aanroeper van de methode
worden opgevangen. Er moet worden aangegeven wat
er moet gebeuren als er een fout optreedt.
dat staat in het
catch-gedeelte
LauwersCollege Buitenpost
Try-catch
try
{
kan een Exception
opwerpen (foutmelding)
s = invoer . getText ( );
n = Integer.parseInt (s);
uitvoer . setText ( "kwadraat is " + n*n );
}
Maakt van de string s
een getal (integer)
catch ( Exception e )
{
uitvoer . setText ( s + " is geen getal" );
}
Doe dit als er
een fout optreedt
Probeer deze
opdrachten eerst
uit te voeren
LauwersCollege Buitenpost
API
Als je iets over een methode wilt weten kun je de API raadplegen,
via internet of de java-documentatie
Download