De presentatie wordt gedownload. Even geduld aub

De presentatie wordt gedownload. Even geduld aub

Algoritmiek Strings & Stringmanipulaties; Controle Structuren; Floating-point notation. Hoorcollege 4 - Ma. 25 sept. 2006 L.M. Bosveld-de Smet.

Verwante presentaties


Presentatie over: "Algoritmiek Strings & Stringmanipulaties; Controle Structuren; Floating-point notation. Hoorcollege 4 - Ma. 25 sept. 2006 L.M. Bosveld-de Smet."— Transcript van de presentatie:

1 Algoritmiek Strings & Stringmanipulaties; Controle Structuren; Floating-point notation. Hoorcollege 4 - Ma. 25 sept. 2006 L.M. Bosveld-de Smet

2 Te behandelen onderwerpen Strings String data en operatoren Strings in Java Elementaire Controle Structuren Logische operatoren Boolse expressies If-statements Floating-point Notatie

3 Wat is een String?

4 Wat is een String in programmeercontext? String literals “John”(‘John’) “Hi there!” “This is John’s apple.” String data type Lijst tekens van variabele lengte String operatoren Combineren of manipuleren Strings Concatenatie, replicatie

5 Strings in Java String klasse aanwezig in de Java API behoort tot package java.lang java.lang wordt automatisch geïmporteerd String objecten String literals (bijv. “Java rules!”) String variables String str1 = “Java Rules!”, str2; Let op: geen gebruik van new en constructor

6 Visualisatie String objecten JavaRules! 0 1 2 3 4 5 6 7 8 9 10

7 Constructie van String objecten String str1 = “Java Rules!” ; str1 |J|a|v|a| |R|u|l|e|s|!| String object

8 String methoden Hoe lang is de string? int l = str1.length(); Welk teken staat op positie 0? char ch = str1.charAt(0); Waar in de string start de substring “Rules” ? int i = str1.indexOf (“Rules”);

9 String concatenatie Plak str2 achter str1 String strNew = str1 + str2; Verbinding van getallen met strings String str = “Value: ” + i; System.out.println(str + j + k); System.out.println(j + k + str); string object + niet-string object : String str = “Teller waarde: ” + ctr.toString(); String str = “Teller waarde: ” + ctr;

10 Werken met Strings: Voorbeeld 1 Probleem: dissectie van email adressen in naam, domein1 en domein 2 knking@gsu.eduknking@gsu.edu  Naam: knking Domein1: edu Domein2: gsu

11 Voorbeeld 1 oplossing int atIndex = emailAddress.indexOf(“@”); int dotIndex = emailAddress.indexOf(“.”); String name = emailAddress.substring (0, atIndex); String domain2 = emailAddress.substring (atIndex + 1, dotIndex); String domain1 = emailAddress.substring (dotIndex + 1);

12 Werken met Strings: Voorbeeld 2 public class Star{ public static void main(String[] args){ String name = “Francis Albert Sinatra”; int index1 = name.indexOf(“ ”); int index2 = name.LastIndexOf(“ ”); String str1 = name.substring(0,index1); String str2 = name.substring(index1+1, index1+2); String str3 = name.substring(index2+1); System.out.println(str3 + ”, “ + str1 + “ “ + str2 + “.”); }

13 Voorwaardelijke instructies if then else Voorwaarden/Testen in programma’s: uitkomst: true / false (boolean type) boolse expressies vergelijkingsoperatoren kleiner dan: kleiner dan of gelijk aan: = gelijk aan: ==niet gelijk aan: !=

14 Voorbeeld in Java if (acct.getBalance() <= 0.0 ) { System.out.println(“Sorry, no money left.”); } else { System.out.println(“OK, still money left.”); }

15 George Boole G. Boole, Lincoln. UK, 1815 - 1864

16 boolse operatoren OR vegetariërsstudenten

17 boolse operatoren AND vegetariërsstudenten

18 boolse operatoren NOT vegetariërsstudenten

19 boolse operatoren NOT vegetariërsstudenten

20 Boole bestelt lunch

21 Boolse operatoren in Java OR: || (isVegetariër(x) || isStudent(x)) AND: && (isVegetariër(x) && isStudent(x)) NOT: ! !(isVegetariër(x)) !(isStudent(x)) ± short circuit evaluation

22 Controle structuren

23 Controle structuren in programmeren Basic control structures: if statements while statements for statements

24 Simple if-statement …… if (banksaldo < 0.0) { System.out.println (“U staat rood.”); } …… boolse expressie inner statement false true

25 Block of inner statements …… boolean rekeningIsGeblokkeerd = false; if (banksaldo < 0.0) { System.out.println (“U staat rood.”); rekeningIsGeblokkeerd = true; } ……

26 Complex boolean expression …… boolean rekeningIsGeblokkeerd = false; if (banksaldo -500.00) { System.out.println (“U staat een beetje rood.”); } ……

27 Testen op (on)gelijkheid …… if (banksaldo == 1000.00 * 1000.00) { System.out.println(“Bedenk wel, ”); System.out.println(“geld maakt niet gelukkig.”); } ……

28 Strings vergelijken …… String inputUser = SimpleIO.readLine(); String password = “Algoritmiek”; if (!inputUser.equals(password)) { System.out.println (“Toegang geweigerd.”); } …… String naam1 = SimpleIO.readLine(); String naam2 = SimpleIO.readLine(); if (naam1.compareTo (naam2) > 0) { System.out.println (naam2); System.out.println (naam1); } ……

29 Boolean type Directe waardetoekenning passwordIsAccepted = inputUser.equals(password);

30 If-statement with else-clause …… boolean deurOpen = true; if (!(draagtOverhemd && draagtDas)) { System.out.println (“Sorry. Geen toegang.”); deurOpen = false; } else { System.out.println (“Welkom. Treedt binnen”); ……

31 De Morgan’s Laws !(draagtOverhemd && draagtDas) !draagtOverhemd || !draagtDas !(draagtOverhemd || draagtDas) !draagtOverhemd && !draagtDas draagtTShirt || draagtTrui

32 If with else if ( ) { } else { } expr. block 1block 2

33 Cascaded if-statement expr1 expr2 expr3 expr4

34 Cascaded if-statement …… if (banksaldo < 0.0) { System.out.println (“Beleggen kunt u wel vergeten.”); } else { if (banksaldo >= 0.0 && banksaldo <= 5000.00) { System.out.println (“Raadpleeg onze website voor uw beleggingen.”); } else { if (banksaldo > 5000.00) { System.out.println (“Raadpleeg uw personal banker.”); } ……

35 Complex boolean expressions - De Morgan’s Law - Cascading structure …… if (banksaldo < 0.0) System.out.println (“Beleggen kunt u wel vergeten.”); else if (banksaldo >= 0.0 && banksaldo <= 5000.00) System.out.println (“Raadpleeg onze website voor uw beleggingen.”); else if (banksaldo > 5000.00) System.out.println (“Raadpleeg uw personal banker.”); ……

36 Complex boolean expressions …… if (banksaldo < 0.0) System.out.println (“Beleggen kunt u wel vergeten.”); else if (banksaldo <= 5000.00) System.out.println (“Raadpleeg onze website voor uw beleggingen.”); else System.out.println (“Raadpleeg uw personal banker.”); ……

37 Floating numbers

38 Floating point numbers float: 4 bytes double: 8 bytes long double: 16 bytes Twee aspecten: range precision

39 Compacte weergave Nationale schuld: $ 4000000000000 4.0E12 4.0e12

40 Floating point notation 142,687 0,142687 10 * 10 3 -0,0034128 0,34128 10 * 10 -2 -101,011 0,101011 2 * 2 3 0,0010111 0,10111 2 * 2 -2 +.142687+3 -.34128-2 -.101011+11 +.10111-10 decimaal binair SIGNMANTISSAEXPONENT


Download ppt "Algoritmiek Strings & Stringmanipulaties; Controle Structuren; Floating-point notation. Hoorcollege 4 - Ma. 25 sept. 2006 L.M. Bosveld-de Smet."

Verwante presentaties


Ads door Google