Download de presentatie
De presentatie wordt gedownload. Even geduld aub
GepubliceerdRosalia Kuipers Laatst gewijzigd meer dan 10 jaar geleden
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
Verwante presentaties
© 2024 SlidePlayer.nl Inc.
All rights reserved.