Upload
jed
View
35
Download
3
Embed Size (px)
DESCRIPTION
Kapittel 5. Vilkårssetningar og løkker. 5.1 Boolske uttrykk. George Boole (1815-1864), britisk matematikar Utvikla teori om logikk ved bruk av symbol i staden for ord - PowerPoint PPT Presentation
Citation preview
Kapittel 5
Vilkårssetningar og løkker
5.1 Boolske uttrykk George Boole (1815-1864), britisk
matematikar Utvikla teori om logikk ved bruk av
symbol i staden for ord Meir om den matematiske delen av
dette i kurset Mat200 Diskret Matematikk, som er svært viktig for den som skal bli flink til å programmere
Boolske uttrykk Flytkontrollen i eit program
Startar øverst i main() Eksekverer ei og ei setning (statement) i
programmet til main() er slutt Metodekall overfører kontrollen til metoden
som blir kalt, når denne er ferdig går kontrollen tilbake til der kallet skjedde i main(), og neste setning i main() blir utført
Det kan vere metodekall i fleire nivå
Boolske uttrykk Vi har ofte bruk for å påvirke flytkontrollen i eit
program for å Bestemme kva kode som skal eksekverast/ikkje
eksekverast Bestemme kor mange gonger ein bestemt del av
koden skal eksekverast Vi kan påvirke flytkontrollen ved hjelp av
Vilkårssetningar (if, if-else og switch) Løkker (while, do og for)
Tilstanden til ulike variable blir brukt for å bestemme kva som skal skje
Boolske uttrykk gir alltid enten true eller false
Boolske uttrykk Boolske uttrykk bruker operatorar for
Likskap (== og !=) Relasjon (<, <=, > og >=) Logikk (!, && og ||)
Presedens: Likskap og relasjon lågare enn aritmetiske
operatorar Logiske operatorar: ! først, deretter &&, til
slutt || Merk at dei logiske operatorane berre tek
boolske operandar
5.2 if-setningar Det reserverte ordet if Boolsk uttrykk i parentes Statement som blir eksekvert dersom
det boolske uttrykket er true Bruk { og } før og etter dersom det er
fleire statement Om det boolske uttrykket er false held
programmet fram utan å eksekvere innhaldet i if-setninga
if-setningar if-else Vi legg til det reserverte ordet else etter
innhaldet i if-setninga Deretter eit eller fleire statement Ein av dei to delene av if-else setninga vil bli
eksekvert, avhengig av om det boolske uttrykket er true eller false
Nøsta if-setningar, eventuelt med else Eit else blir alltid kopla til næraste if Bruk {} for å styre dette om nødvendig
?: operatoren int total = (done) ? sum : 0;
5.3 Samanlikning av data Kva type data skal vi samanlikne? Flyttal (float, double)
Desse er like berre når alle binære siffer er like Det skjer nesten aldri når vi har utført
rekneoperasjonar Finn absoluttverdien av differansen og sjekk
denne mot ei grense Teikn (char)
‘a’ < ‘b’ sidan a kjem før b i Unicode Unicode bestemmer rekkefølgje for char-data,
og dermed kva som er “størst” og “minst”
Samanlikning av data Objekt
Objektvariable er referanser eller adresser til objekt To objekt blir dermed “like” etter == operatoren
berre dersom dei refererer til det same objektet To String-objekt som begge inneheld teksten
“Johan”, men som er to separate objekt, er dermed ikkje like om vi bruker denne operatoren!
Bruk equals() eller equalsIgnoreCase() for å sjekke om to String-objekt er logisk sett like
Bruk compareTo() for å sjekke alfabetisk rekkefølgje Ver obs på at store bokstavar kjem før små i Unicode
5.4 switch Tilsvarer Select Case i VB Litt om syntaks
Uttrykket må vere av integral (heil) type, altså int, char eller enumerert type
Ikkje boolean, byte, short eller long break statement og “fall through” default statement
switch kan alltid erstattast med eit sett nøsta if-setningar
Nøsta if kan bli uoversiktleg når det er mange case
Kan vere nyttig ved evaluering av andre typer enn int og char, ev enumerert
5.5 while Syntaks Uendelege løkker Nøsta løkker break og continue
Kan vere kjekt å ha Er aldri nødvendige Bør ikkje brukast
5.6 Iteratorar
Iterere betyr gjenta Iteratorar er objekt med metoder
som kan gå gjennom ei samling av objekt og prosessere eit objekt om gongen
Scanner-klassen definerer iterator-objekt
Eksempel på lesing av fil
5.7 do
Liknar på while while-statement med test av
vilkår til slutt Pass på semikolon til slutt! Ei do-løkke blir alltid kjørt minst ein
gong
5.8 for
Blir ofte brukt når vi veit kor mange gonger løkka skal kjørast
Alt som har med kontroll av løkka å gjere står samla øverst
Dei tre delene blir utført til ulike tider
foreach statement når vi går gjennom ei samling
5.9 Løkker, vilkår og grafikk
Bullseye Boxes
5.10 Event sources
Vi kan bruke ein listener til å lytte på fleire komponentar
Vi kan spørre listener-objektet om kva komponent som genererte hendinga
Deretter kan vi utføre ulike ting, alt etter kva komponent handlinga kom frå
LeftRight
5.11 Dialogboksar Javax.swing-pakken har klassen JOptionPane som tilbyr å lage diverse dialogboksar på ein enkel måte Input Bekrefte Melding
Det finst ein del “ferdigvare” i Java også, sjølv om vi må lage litt meir her enn i VB
5.12 Fleire knappar Check boxes
Blir brukt for å skru ulike funksjonar eller brukarval av og på
Ingen, ein, fleire eller alle kan vere valt samtidig
Radio buttons Blir brukt når kun eit alternativ av fleire kan
veljast Blir samla i grupper Ein og berre ein i kvar gruppe er valt samtidig