De presentatie wordt gedownload. Even geduld aub

De presentatie wordt gedownload. Even geduld aub

Inleiding Informatica Prof. Dr. O. De Troyer Hoofdstuk 3: Werken met numerieke gegevens.

Verwante presentaties


Presentatie over: "Inleiding Informatica Prof. Dr. O. De Troyer Hoofdstuk 3: Werken met numerieke gegevens."— Transcript van de presentatie:

1 Inleiding Informatica Prof. Dr. O. De Troyer Hoofdstuk 3: Werken met numerieke gegevens

2 Inleiding Informatica Prof. Dr. O. De Troyer 2 Gehele getallen Geen voorgedefinieerde klasse maar ingebouwd data type int –Gehele getallen –Voorziet in een basis van rekenkundige operaties +, -, *, /,, % (rest bij gehele deling) Vb: 5 + 12 -9 * 4 * 3 –Afdrukken door print en println System.out.println( 14) ; System.out.println( 89 * 67) ;

3 Inleiding Informatica Prof. Dr. O. De Troyer 3 Data typen Zijn geen klassen Hebben geen methoden of instantie variabelen Er is geen constructor nodig

4 Inleiding Informatica Prof. Dr. O. De Troyer 4 Primitieve data typen Zijn ingebouwd in de programmeertaal

5 Inleiding Informatica Prof. Dr. O. De Troyer 5 Data typen & Variabelen Kunnen direct aan een variabele toegekend worden int i ; i = 3; 3 i

6 Inleiding Informatica Prof. Dr. O. De Troyer 6 Data typen Referentie variabele versus data type variabele lijn “youhouu” een object x 5 data type variabele dienen vóór het gebruik een waarde te krijgen int x ; x = 5; x ? x 5

7 Inleiding Informatica Prof. Dr. O. De Troyer 7 Data typen Kunnen geen ontvanger zijn (zijn geen objecten) Kunnen wel gebruikt worden als argument van een methode mijnAuto.rijden(90) Kunnen wel gebruikt worden als “return” waarde van een methode

8 Inleiding Informatica Prof. Dr. O. De Troyer 8 Literals 2 * ( x + y) - ( z / 73) literals hun naam is een representatie van hun waarde

9 Inleiding Informatica Prof. Dr. O. De Troyer 9 Constanten Variabelen waarvan de waarde niet wijzigt Aangeduid door sleutelwoord final final int gridGrootte = 10 ; Constanten te verkiezen boven literals plaats = 10 * afstand ; Beter: final int gridGrootte = 10 ; plaats = gridGrootte * afstand ;

10 Inleiding Informatica Prof. Dr. O. De Troyer 10 Voorrangsregels en haken 5 + 3 * 2 8 * 2 of 5 + 6 ? Eerst * en / dan + en - Haakjes gebruiken maakt alles duidelijker en voorkomt fouten (5 + 3) * 2 5 + (3 * 2)

11 Inleiding Informatica Prof. Dr. O. De Troyer 11 Afkortingen salaris = salaris * 1.20 ;// 20% opslag Verkorte notatie salaris *= 1.20 ; x = x + 5 ; Verkorte notatie x += 5 ; Idem -= /= %= Voorkomt fouten: i = j + 1; i.p.v. i = i + 1;

12 Inleiding Informatica Prof. Dr. O. De Troyer 12 Afkortingen (2) Meervoudige toekenning x = y = z = 0 ; Verkorte notatie voor x = 0 ; y = 0 ; z = 0 ;

13 Inleiding Informatica Prof. Dr. O. De Troyer 13 Afkortingen (3) x = x + 1 ; of x += 1 ; Of x ++ ; Idem x -- ; Fout: 6 ++ ; 6 is een literal; kan men niet wijzigen (x + y)++; x + y is een uitdrukking, geen veranderlijke; kan men niet wijzigen

14 Inleiding Informatica Prof. Dr. O. De Troyer 14 Afkortingen (4) Opgelet in expressies! ++ variabele telt 1 op bij de waarde en geeft resultaat terug variabele ++ geeft waarde terug en telt er dan 1 bij op -- variabele trekt 1af van de waarde en geeft resultaat terug variabele -- geeft waarde terug en trekt er dan 1 van af Voorbeeld telkens kost == 100 ++kost -> 101 waarde kost = 101 kost ++ -> 100 waarde kost = 101 --kost -> 99 waarde kost = 99 kost -- -> 100 waarde kost = 99

15 Inleiding Informatica Prof. Dr. O. De Troyer 15 Opgelet string1 + string2 Is een afkorting voor string1.concat(string2)

16 Inleiding Informatica Prof. Dr. O. De Troyer 16 Andere data typen voor gehele getallen int voor gehele getallen tussen - 2 147 483 647 en 2 147 483 647 (2 31 ) –Gebruikt 32 bits long voor gehele getallen tussen -2 63 en 2 63 (meer dan 10 18 ) –Gebruikt 64 bits short voor gehele getallen tussen -32 767 en 32 767 –Gebruikt 16 bits byte voor gehele getallen tussen -127 en 127 –Gebruikt 8 bits

17 Inleiding Informatica Prof. Dr. O. De Troyer 17 Data typen voor gehele getallen Meer bits nodig  meer computer geheugen nodig Mengen van typen byte  short  int  long  long l1, l2; int i1 = 55, i2 ; short s ; byte b =10; l1 = 98 ; l2 = i1 ; l1 = 2 * i1 ; i2 = l2 ; s = b ; s = i2 ; l2 = s ; b = i2 ; b = l1 ;

18 Inleiding Informatica Prof. Dr. O. De Troyer 18 Converteren van typen Voorbeeld: long x ; int i ; x = 10 ; i = x ; ----> niet toegelaten! Maar waarde van x is klein genoeg voor int! Oplossing i = (int) x ; Dwingt een omzetting (van de waarde van x) naar int af. x blijft van het type long! Dwingt een omzetting (van de waarde van x) naar int af. x blijft van het type long!

19 Inleiding Informatica Prof. Dr. O. De Troyer 19 Reële getallen float voor reële getallen met 7 cijfers van precisie –Getallen tussen 1.4012985 x 10 -45 en 3.4028235 x 10 38 double voor reële getallen met 15 cijfers van precisie –Getallen tussen 2.22507385072014 x 10 -308 en 1.79769313486231570 x 10 308 Niet alle getallen; enkel deze met resp. 7, 15 cijfers of precisie –Bv. niet 1 234 567 089 maar 1 234 567 000

20 Inleiding Informatica Prof. Dr. O. De Troyer 20 Reële getallen - notatie Wetenschappelijke notatie –3.4028235 x 10 38 wordt 3.4028235E38 Om onderscheid te maken tussen float en double en andere int literals –float : 3.4028235E38f 3.14115f 38f –double : 3.4028235E38d 3.14115d 38d

21 Inleiding Informatica Prof. Dr. O. De Troyer 21 Voorbeeld double oppervlakte, straal, pi = 3.14159d; straal = 12.0 ; oppervlakte = pi * straal * straal ; int j = 1222333444; float x = 1222333444.0f; System.out.println(“j =“ + j); System.out.println(“x =“ + x); j += 1; x += 1.0 ; System.out.println(“j =“ + j); System.out.println(“x =“ + x); j = 1222333444; x = 1.222333444E9; j = 1222333445; x = 1.222333444E9; Enkel 7 cijfers precisie!

22 Inleiding Informatica Prof. Dr. O. De Troyer 22 Mixen van float en double float  double  int  float/double  long  float/double maar kan verlies aan precisie betekenen  Hier ook conversie mogelijk: (int) (float)...

23 Inleiding Informatica Prof. Dr. O. De Troyer 23 De klasse Math Math is klasse met wiskundige functies als (klasse) methoden Voorbeeld: static int abs( int a) { …} // geeft de absolute waarde van a terug int i = -2 ; int j = Math.abs(i) ;

24 Inleiding Informatica Prof. Dr. O. De Troyer 24 De klasse Math (2) final double Ewaarde van e final double PIwaarde van pi double cos(double x)cosinus van hoek x in radialen double sin(double x)sinus van hoek x in radialen double tan(double x)tanginus van hoek x in radialen … abs(… x)absolute waarde van x … min(… x, … y)het kleinste van x en y … max(… x, … y)het grootste van x en y... round(... x)x float wordt afgerond naar integer; double naar long double log(double x)natuurlijk logaritme van x double random()random getal tussen 0.0 en 1.0 double sqrt(double x)positieve vierkantswortel van x double pow(double x, y) x y double exp(double x)e x e.a.

25 Inleiding Informatica Prof. Dr. O. De Troyer 25 “Enveloppe” klassen Met elk primitief data type correspondeert een klasse –Klasse Integer correspondeert met int –Klasse Byte, Short, Long, Float, Double correspondeert met byte, short, long, float, double Laten toe om een data type element om te zetten naar een object en omgekeerd int i = 10 ; Integer object = new Integer(i); i = object.intValue() ;

26 Inleiding Informatica Prof. Dr. O. De Troyer 26 “Enveloppe” klassen (2) Laten conversie van getal naar string toe –Klasse methode: toString int i = 10 ; String s = Integer.toString(i) ; //s wordt “10” float f = 12.34f ; String s = Float.toString(f) ; //s wordt “12.34” Twee nuttige constanten Long.MIN_VALUE Long.MAX_VALUE Idem voor de andere numerieke klasse


Download ppt "Inleiding Informatica Prof. Dr. O. De Troyer Hoofdstuk 3: Werken met numerieke gegevens."

Verwante presentaties


Ads door Google