18
Kapittel 5 Vilkårssetningar og løkker

Kapittel 5

  • 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

Page 1: Kapittel 5

Kapittel 5

Vilkårssetningar og løkker

Page 2: Kapittel 5

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

Page 3: Kapittel 5

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å

Page 4: Kapittel 5

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

Page 5: Kapittel 5

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

Page 6: Kapittel 5

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

Page 7: Kapittel 5

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;

Page 8: Kapittel 5

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”

Page 9: Kapittel 5

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

Page 10: Kapittel 5

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

Page 11: Kapittel 5

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

Page 12: Kapittel 5

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

Page 13: Kapittel 5

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

Page 14: Kapittel 5

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

Page 15: Kapittel 5

5.9 Løkker, vilkår og grafikk

Bullseye Boxes

Page 16: Kapittel 5

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

Page 17: Kapittel 5

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

Page 18: Kapittel 5

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