De presentatie wordt gedownload. Even geduld aub

De presentatie wordt gedownload. Even geduld aub

Aan het werk met JavaLieven Smits Aan het werk met Java Platformonafhankelijk programmeren.

Verwante presentaties


Presentatie over: "Aan het werk met JavaLieven Smits Aan het werk met Java Platformonafhankelijk programmeren."— Transcript van de presentatie:

1 Aan het werk met JavaLieven Smits Aan het werk met Java Platformonafhankelijk programmeren

2 Aan het werk met JavaLieven Smits 1Inleiding Programmeren Java als programmeertaal Java als programmeeromgeving Handboek Oefeningen De werkomgeving op school Installatie op je eigen pc Een werkend programma

3 Aan het werk met JavaLieven Smits vertaalde machinecode editor MijnProgramma.java broncode compiler MijnProgramma.class JVM programmeur gebruiker

4 Aan het werk met JavaLieven Smits 1.5 Handboek _1/aan-het-werk-met-java.html

5 Aan het werk met JavaLieven Smits 2Objectgeoriënteerd programmeren Abstractie Klassen en objecten Attributen en gegevenstypes Methodes Constructoren Statische attributen en methodes Primitieve gegevenstypes Referentietypes

6 Aan het werk met JavaLieven Smits 2.1 Abstractie

7 Aan het werk met JavaLieven Smits 2.3 Attribuut: primitieve types typedoelgeheugenextreme waarden bytegeheel getal1 byte-128; +127 shortgeheel getal2 bytes ; intgeheel getal4 bytes ; longgeheel getal8 bytes ; floatvlottende komma4 bytes+/ ; +/ doublevlottende komma8 bytes+/ ; +/ charalfabetisch karakter2 bytes– booleanlogische waarde1 bytewaar of onwaar

8 Aan het werk met JavaLieven Smits student1 ? 2.5 Constructoren

9 Aan het werk met JavaLieven Smits student1 familienaam voornaam ???? 2.5 Constructoren

10 Aan het werk met JavaLieven Smits 2.6 Statische attributen en methodes code van statische methode code van normale methode code van constructor objectattribuut (niet statisch)neenja klassenattribuut (statisch)ja objectmethode (niet statisch) neenja klassenmethode (statisch)ja constructor op naamja constructor via thisneen ja

11 Aan het werk met JavaLieven Smits getal 2.7 Primitief type

12 Aan het werk met JavaLieven Smits 3Basisconstructies Opdrachten Veranderlijken Toekenningen Bewerkingen Invoer/uitvoer Uitdrukkingen Normaal verloop van een programma

13 Aan het werk met JavaLieven Smits 3.4 Bewerkingen bewerkinggebruikbetekenis >> uitdr >> getal verschuif de bits van uitdr zoveel plaatsen naar rechts als getal aangeeft << uitdr << getal verschuif de bits van uitdr zoveel plaatsen naar links als getal aangeeft >> uitdr >>> getal verschuif de bits van uitdr zoveel plaatsen naar rechts als getal aangeeft; hou geen rekening met het teken & u1 & u2 bereken bit per bit een logische EN tussen de bits van u1 en u2 | u1 | u2 bereken bit per bit een logische (niet-exclusieve) OF tussen de bits van u1 en u2 ^ u1 ^ u2 bereken bit per bit een exclusieve OF tussen de bits van u1 en u2 ~ ~uitdr bereken bit per bit de logische ontkenning (NIET) van de bits van uitdr

14 Aan het werk met JavaLieven Smits 3.6 Uitdrukking uitdrukkingwaarde x1 -x +x1 x+x2 x%x0 x x=33 x/20 x/ x+14 x=x+14 “Ja”+“va”Java

15 Aan het werk met JavaLieven Smits 4Controlestructuren Voorwaardelijke opdrachten en uitdrukkingen Lusopdrachten Recursieve aanroep van methodes

16 Aan het werk met JavaLieven Smits 4.1 Voorwaarden Vergelijken van twee uitdrukkingen Logische bewerkingen Algemene vorm Voorwaardelijke uitdrukking Keuzeopdracht

17 Aan het werk met JavaLieven Smits bewerkingbetekenis ==is gelijk aan !=is verschillend van is strikt groter dan <=is kleiner dan of gelijk aan >=is groter dan of gelijk aan Vergelijkingen

18 Aan het werk met JavaLieven Smits Logische bewerkingen bewerkingleesbetekenis &&enis waar als beide leden waar zijn ||ofis waar als minstens een van beide leden waar is !nietkeert de betekenis van het rechterlid om – waar wordt onwaar, onwaar wordt waar

19 Aan het werk met JavaLieven Smits Volgorde der bewerkingen groepbewerkingstekens unaire operatoren+ - ! vermenigvuldiging* / optelling, concatenatie+ - ongelijkheid = gelijkheid== != en&& of|| toekenning=

20 Aan het werk met JavaLieven Smits 4.2 Lusopdrachten De while -opdracht Genestelde lussen Rijen De for -opdracht De do -opdracht Iteraties en lusopdrachten afbreken; labels De afgekorte for -opdracht (‘for each’)

21 Aan het werk met JavaLieven Smits start einde voldaan? voer uit neenja

22 Aan het werk met JavaLieven Smits start einde voldaan? neen ja

23 Aan het werk met JavaLieven Smits int[] score 17 score[0] 13 score[1] 20 score[2] 11 score[3] 13 score[4]

24 Aan het werk met JavaLieven Smits start einde neen ja voldaan? voer uit

25 Aan het werk met JavaLieven Smits start einde neen ja voldaan?

26 Aan het werk met JavaLieven Smits 4.3 Recursie Voorbeeld Definitie Vervanging van een enkelvoudige recursie door een lusopdracht

27 Aan het werk met JavaLieven Smits 5Overerving Subtypes Overerving van attributen en methodes Onderdrukken van methodes Abstracte klassen en methodes Interfaces De klasse Object, stamouder van alle anderen

28 Aan het werk met JavaLieven Smits Object Bestaande klasse Zelfgemaakte klasse StringMijnKlasse1 Number Short MijnKlasse3MijnKlasse2 extends Legende:

29 Aan het werk met JavaLieven Smits 6Pakketten, afscherming en groepering 1.Gebruik van pakketten 2.Tekst 3.Invoer/uitvoer 4.Toegang

30 Aan het werk met JavaLieven Smits 6.1 Gebruik van pakketten De klassenbibliotheek van de JRE import package

31 Aan het werk met JavaLieven Smits 6.2 Werken met tekst String en StringBuffer Methodes van de klasse String Methodes van de klasse StringBuffer

32 Aan het werk met JavaLieven Smits 6.3 Invoer/uitvoer Sequentiële en willekeurige toegang Bytes en characters Bestanden Geheugenstromen

33 Aan het werk met JavaLieven Smits 6.3 Invoer/uitvoer expressiebetekenis abcalleen de streng “abc” a[bc]de letter a gevolgd door de letter b of c [A-Z]een hoofdletter a?de letter a of de lege streng a*een opeenvolging van letters a of de lege streng a+een opeenvolging van letters a [A-Z] [a-zA-Z]*een hoofdletter, eventueel gevolgd door een willekeurig aantal letters.een willekeurig teken [0-9] [0-9] [0-9]?twee of drie cijfers

34 Aan het werk met JavaLieven Smits tekstverwerker database engine gegevensbanktekstbestand

35 Aan het werk met JavaLieven Smits 6.4 Toegang Toegangsniveaus van attributen en methodes Toegangsniveaus van klassen en interfaces Inwendige klassen –Statische inwendige klassen –Gewone inwendige klassen –Anonieme klassen Scope, visibility, lifetime, access

36 Aan het werk met JavaLieven Smits 6.4 Toegang character streambyte stream invoerReaderInputStream uitvoerWriterOutputStream character streambyte stream invoerBufferedReaderBufferedInputStream uitvoerBufferedWriterBufferedOutputStream

37 Aan het werk met JavaLieven Smits 6.4 Toegang character streambyte streamgebruik DataOutputStreamnumerieke gegevens (en eventueel ook tekst) in bestanden opslaan DataInputStreamdezelfde bestanden terug lezen ObjectOutputStreamobjecten (instanties van klassen) in bestanden opslaan ObjectInputStreamdezelfde bestanden terug lezen LineNumberReaderLineNumberInputStreamregelnummers van een invoerstroom tellen en bijhouden PushbackReaderPushbackInputStreameerste letter bekijken vóór de eigenlijke lezing ervan SequenceInputStreamverschillende bytestromen achter elkaar plaatsen alsof het slechts één continue invoerstroom betrof

38 Aan het werk met JavaLieven Smits 6.4 Toegang character streambyte stream invoer CharArrayReader, StringReaderByteArrayInputStream uitvoer CharArrayWriter, StringWriterByteArrayOutputStream

39 Aan het werk met JavaLieven Smits 6.5 Toegangsbeperking niveausleutelwoordbetekenis publiekpublictoegankelijk voor alle andere klassen beschermdprotectedtoegankelijk voor subtypes van de huidige klasse en voor klassen binnen hetzelfde pakket pakket(geen)toegankelijk voor klassen binnen hetzelfde pakket privéprivatealleen toegankelijk binnen de huidige klasse

40 Aan het werk met JavaLieven Smits 7Kwaliteit Exceptions Commentaar en documentatie Levenscyclus systeemontwikkeling Domeinklassen Architectuur Design patterns Unit testing Asserties

41 Aan het werk met JavaLieven Smits 7.3 De documentatiegenerator Javadoc gaat vooraf aan de naam van de auteur van een klasse of een geeft het versienummer en/of de datum, meestal alleen van een hele signaleert dat een methode een bepaald type exception kan genereren, en wat daarvan de interpretatie gevolgd door de naam van een parameter, documenteert de betekenis van een methodeparameter. Nauw verwant legt de teruggeefwaarde van een methode verwijst naar de documentatie van een andere klasse of een ander klasseonderdeel

42 Aan het werk met JavaLieven Smits persoon klantbestelling 7.5 Domeinklassen

43 Aan het werk met JavaLieven Smits 7.5 Domeinklassen

44 Aan het werk met JavaLieven Smits 7.5 Domeinklassen

45 Aan het werk met JavaLieven Smits gui frontend database backoffice domein 7.6 Architectuur

46 Aan het werk met JavaLieven Smits 7.7 Moduletest met JUnit methodenaamde test is geslaagd als … assertEqualsde twee parameters gelijke inhoud hebben (zelfs als het verschillende objecten zijn) assertNotEqualsde twee parameters geen gelijke inhoud hebben assertSamede twee parameters objecten zijn met hetzelfde adres in het geheugen (dus niet alleen dezelfde inhoud) assertNotSamede twee parameters verschillende objecten zijn assertTruede gegeven logische waarde false is assertFalsede gegeven logische waarde true is assertNullde gegeven objectreferentie null is (niet naar een object verwijst) assertNotNullde gegeven referentie naar een bestaand object verwijst failnooit geslaagd – gelijkwaardig met assertTrue(false)

47 Aan het werk met JavaLieven Smits 8Bijzondere technieken Annotaties Abstracte gegevenstypes Generische gegevenstypes Collections

48 Aan het werk met JavaLieven Smits Object 2 Object 3 Object 4 Object 1 Object 5 Object 2 Object 3 Object 4 Object 1 Object 5 aanwijzer push 8.2 Abstract gegevenstype ‘stack’

49 Aan het werk met JavaLieven Smits CollectionMap QueueList SortedSet SetSortedMap 8.4 Collections

50 Aan het werk met JavaLieven Smits 1432 remove()add() element() 8.4 Collections: wachtlijn

51 Aan het werk met JavaLieven Smits 9Webtoepassingen Servers, browsers, HTTP en HTML Servlets JSP Sessies

52 Aan het werk met JavaLieven Smits browserwebserver verzoek antwoord 9.1 Servers, browsers en HTTP

53 Aan het werk met JavaLieven Smits 9.2 Levenscyclus van een servlet

54 Aan het werk met JavaLieven Smits 10Grafische interfaces Swing-componenten Layout management Event handling Menus Graphics Applets MVC Tabellen en bomen

55 Aan het werk met JavaLieven Smits x y Horizontaal (x) Verticaal (y) 10.2 Component: coördinaten

56 Aan het werk met JavaLieven Smits java.lang.Object Bestaande klasse Zelfgemaakte klasse java.awt.Component java.awt.Container java.awt.Window MijnVenster extends Legende: java.awt.Frame javax.swing.JFrame 10.2 Component: overerving

57 Aan het werk met JavaLieven Smits gebruiker runreturn open klik toets select klaar sluit klaar klassieke, lineaire toepassing gebeurtenis- gestuurde toepassing 10.4 Event-driven programming

58 Aan het werk met JavaLieven Smits Model ControllerView vraag toestand meld wijziging gebruikershandeling bepaal/verander samenstelling wijzig toestand 10.7 Model/View/Controller

59 Aan het werk met JavaLieven Smits financiën uitgaveninkomstenarbeidkapitaalwonenvervoerkledingdiversen verkoop werkgeverhuurklimagas+elek 10.8 Boomstructuur

60 Aan het werk met JavaLieven Smits 11Beans Herbruikbare componenten: rolverdeling Gebruik van een bestaande bean Het bestandsformaat jar Zelf een bean ontwikkelen –Properties –Events –Bound properties –Constrained properties BeanInfo

61 Aan het werk met JavaLieven Smits 12Parallel programmeren Begrippen Timers Animatie Threads Prioriteit en activering Synchronisatie

62 Aan het werk met JavaLieven Smits straal X Y x1 x0 x2 y1 y0 y2 straal x cos(hoek) straal x sin(hoek) hoek

63 Aan het werk met JavaLieven Smits uitvoerbaar tijd van sleep om of einde van andere reden sleep of andere reden start systeembeslissing yield einde van run actiefdood inactiefnieuwgeblokkeerd

64 Aan het werk met JavaLieven Smits uitvoerbaar synchronized tijd van sleep om of einde van andere reden sleep of andere reden start systeembeslissing yield einde van run geblokkeerd op object actiefdood krijg sleutel inactiefnieuwgeblokkeerd

65 Aan het werk met JavaLieven Smits uitvoerbaar synchronized tijd van sleep om of einde van andere reden sleep of andere reden start systeembeslissing yield einde van run geblokkeerd op object actiefdood krijg sleutel inactiefnieuwgeblokkeerd wachtkamer wait notify notifyAll

66 Aan het werk met JavaLieven Smits 13Databases SQL Java Database Connectivity Gegevens opvragen Gegevens wijzigen Transacties Gevorderde technieken Hibernate

67 Aan het werk met JavaLieven Smits 14Gedistribueerd programmeren Algemene probleemstelling Webservices Call by value en call by reference Enterprise JavaBeans Spring

68 Aan het werk met JavaLieven Smits presentatie zakelijke logica gegevensopslag

69 Aan het werk met JavaLieven Smits presentatie zakelijke logica opslag gedistribueerde presentatie op afstand gedistribueerde logica opslag op afstand gedistribueerde opslag

70 Aan het werk met JavaLieven Smits RekenServerImpl implements RekenServer public int bereken( int param) ClientKlasse... int resultaat = bereken(17);... RPC- infrastructuur (eventueel met ClientKlasseSkelet ) RekenServerStub implements RekenServer public int bereken( int param) netwerkcommunicatie (afgeschermd van programmeur) gewone methodeaanroep in server-JVMgewone methodeaanroep in client-JVM

71 Aan het werk met JavaLieven Smits stateful bean: sessie 1 stateful bean: sessie 2 client 1 client EJB – stateful beans

72 Aan het werk met JavaLieven Smits client 1 client 2 client 3 pool van stateless beans 14.4 EJB – stateless beans

73 Aan het werk met JavaLieven Smits 15Java op de GSM De beperkingen van Java Micro Edition Installatie van de programmeeromgeving Voorbeeldprogramma Installatie op de GSM Een spel

74 Aan het werk met JavaLieven Smits 15.3 Toestanden van een MIDlet active paused destroyed

75 Aan het werk met JavaLieven Smits INIT TERM1RESULTTERM2 cijfer bewerkingcijfergelijkteken wis 15.3 De rekenmachine


Download ppt "Aan het werk met JavaLieven Smits Aan het werk met Java Platformonafhankelijk programmeren."

Verwante presentaties


Ads door Google