introduktion til java programmering
DESCRIPTION
Introduktion til Java programmering. Introduktion Kursusintroduktion Introduktion til programmering Java og BlueJ , andre IDE OOP i Java. Præsentation kursusholdere. Kursusholder : Kis Boisen Hansen, tlf. 72 69 15 69, mail : [email protected] - PowerPoint PPT PresentationTRANSCRIPT
![Page 1: Introduktion til Java programmering](https://reader035.vdocuments.net/reader035/viewer/2022062305/56815e04550346895dcc4cee/html5/thumbnails/1.jpg)
1Modul 1
Introduktion til Java programmering
IntroduktionKursusintroduktionIntroduktion til programmeringJava og BlueJ, andre IDEOOP i Java
![Page 2: Introduktion til Java programmering](https://reader035.vdocuments.net/reader035/viewer/2022062305/56815e04550346895dcc4cee/html5/thumbnails/2.jpg)
2
Præsentation kursusholdere
Kursusholder:Kis Boisen Hansen, tlf. 72 69 15 69, mail: [email protected] Helmer Nielsen, tlf. 72 69 15 65, mail: [email protected]
![Page 3: Introduktion til Java programmering](https://reader035.vdocuments.net/reader035/viewer/2022062305/56815e04550346895dcc4cee/html5/thumbnails/3.jpg)
Modul 1 3
Kursets indhold Modul 1 ( Ib ):
Introduktion til JavaIntroduktion til platform, programmeringssprog og udviklingsmiljøObjektorienteret programmering i Java. Grundlæggende emner indenfor OOP.
Modul 2 ( Kis ): Objekter. Interaktion mellem objekter.
Modul 3 ( Ib ):Collections af objeket Objektorienteret design og Java. Grundlæggende principper for objektorienteret design.
![Page 4: Introduktion til Java programmering](https://reader035.vdocuments.net/reader035/viewer/2022062305/56815e04550346895dcc4cee/html5/thumbnails/4.jpg)
Modul 1 4
Kursets indholdModul 4 ( Kis ):
Java klasse bibioteker, her introduceres nogle af de vigtigste biblioteker til Java.Udvalgte API’er.
Modul 5 ( Ib ):Arv mellem klasserPolymorfiInterfaceEvaluering
![Page 5: Introduktion til Java programmering](https://reader035.vdocuments.net/reader035/viewer/2022062305/56815e04550346895dcc4cee/html5/thumbnails/5.jpg)
Praktiske oplysninger
Møde tider og skema:Mandag til torsdag:
Vi starter med morgen kaffe 8.30 i lokaletCa. 11.45 er der frokost 15.30 slutter dagens modul
Fredag:Her slutter dagens modul 12.30
![Page 6: Introduktion til Java programmering](https://reader035.vdocuments.net/reader035/viewer/2022062305/56815e04550346895dcc4cee/html5/thumbnails/6.jpg)
Praktiske oplysninger
Kontakt informationer:• Skolen kan kontaktes pr. telefon på 72 69 80 00• Skolens adresse er
Sofiendalsvej 609200 Aalborg SV
• Post sendes til:Postboks 719100 Aalborg
• eller pr. email : [email protected] kan kontaktes via email eller telefon på:
Kis Boisen Hansen, tlf. 72 69 15 69, mail: [email protected] Helmer Nielsen, tlf. 72 69 15 65, mail: [email protected]
![Page 7: Introduktion til Java programmering](https://reader035.vdocuments.net/reader035/viewer/2022062305/56815e04550346895dcc4cee/html5/thumbnails/7.jpg)
Praktiske oplysninger
• Undervisnings materiale kan hentes på adressen: http://public.noea.dk/JavaU49/
• Der er en mappe for hver modul (dag) hvor slides etc. kan finde. Herudover er der også mapper for opgaver, løsninger, src og materiale (litteratur der danner grundlag for moduler)
• Efter hver dag bliver der også lagt en zippet version at modul mappe op (denne er lidt lettere at hente ned), da man så kun skal hente en fil.
![Page 8: Introduktion til Java programmering](https://reader035.vdocuments.net/reader035/viewer/2022062305/56815e04550346895dcc4cee/html5/thumbnails/8.jpg)
Modul 1 8
Struktur af javaU49 mappen
![Page 9: Introduktion til Java programmering](https://reader035.vdocuments.net/reader035/viewer/2022062305/56815e04550346895dcc4cee/html5/thumbnails/9.jpg)
Modul 1
Bog der er anvendt I modul 1 og flere af de efterfølgende.
David J. Barnes & Michael KöllingObjects First with JavaA Practical Introduction using BlueJ4th edition, Pearson Education, 2008ISBN 0-13-606086-2.
![Page 10: Introduktion til Java programmering](https://reader035.vdocuments.net/reader035/viewer/2022062305/56815e04550346895dcc4cee/html5/thumbnails/10.jpg)
Modul 1 10
MODUL 1• Introduktion til Java• Introduktion til platform, programmeringssprog og udviklingsmiljø• Objektorienteret programmering i Java. • Grundlæggende begreber indenfor OOP.
![Page 11: Introduktion til Java programmering](https://reader035.vdocuments.net/reader035/viewer/2022062305/56815e04550346895dcc4cee/html5/thumbnails/11.jpg)
Modul 1 11
Læringsmål for modul 1
Læringsmålet for modul 1 er:• at kursister forståelse for hvad java er og hvordan
kode oversættes og afvikles på en given platform.• at kursisten kan redegøre for den grundlæggende
ide i et objektorienteret programmeringssprog som java.
• at kursisten kan anvende BlueJ som platform ved programmering samt afvikling af simple applikationer.
![Page 12: Introduktion til Java programmering](https://reader035.vdocuments.net/reader035/viewer/2022062305/56815e04550346895dcc4cee/html5/thumbnails/12.jpg)
12
Grundbegreber om programmeringProgram
en utvetydig opskrift på en ”beregning” der kan udføres af en computerProgrammeringssprog
notation til at udtrykke programmerProgrammør
en aktør der konstruerer programmerProcessor
en aktør der udfører et programHardware
det isenkram det benyttes af processoren ved udførelse af programmetData
input, output og mellemresultater ved udførelse af programmer
![Page 13: Introduktion til Java programmering](https://reader035.vdocuments.net/reader035/viewer/2022062305/56815e04550346895dcc4cee/html5/thumbnails/13.jpg)
13Modul 1
Eksempler fra kursetProgram
BlueJ-projekt (katalog med en .java-fil pr. klasse i projektet)BlueJ er en ”høvlbænk”: det sted programmer skabes
ProgrammeringssprogJava (Java-compileren, er selv et program…)
ProgrammørJer!
ProcessorJava VM (Java virtuel maskine, er selv et program...)
HardwareJeres computer
Datavilkårlig information der er repræsenteret digitalttal, tekst, lyd, billeder, video, programmer, ...
![Page 14: Introduktion til Java programmering](https://reader035.vdocuments.net/reader035/viewer/2022062305/56815e04550346895dcc4cee/html5/thumbnails/14.jpg)
Introduktion til Java
BaggrundHvad er Java?Faciliteter i Java
![Page 15: Introduktion til Java programmering](https://reader035.vdocuments.net/reader035/viewer/2022062305/56815e04550346895dcc4cee/html5/thumbnails/15.jpg)
Java’s Historie
1. version af Java blev lavet i 1991af James Gosling ved Sun MicrosystemsOprindeligt ment som et platform uafhængigt sprog til indlejring i forbruger elektronik som køleskabe og vaskemaskinerEt af de første projekter var en fjernkontrolMen da internettet på det tidspunkt var ved komme i gang indså Sun at Java kunne bruges til web programmering
(i parentes bemærket: Det var oprindeligt meningen at JavaScript og Java skulle have været det samme.)
![Page 16: Introduktion til Java programmering](https://reader035.vdocuments.net/reader035/viewer/2022062305/56815e04550346895dcc4cee/html5/thumbnails/16.jpg)
Hvad er Java?
Java er:Et programmeringssprogEt udviklingsmiljøEt miljø for afvikling af applikationerEt deployment miljø
Mottoet for Java er:Compile once, run everywhere
![Page 17: Introduktion til Java programmering](https://reader035.vdocuments.net/reader035/viewer/2022062305/56815e04550346895dcc4cee/html5/thumbnails/17.jpg)
Programmeringssprog
Java er et veludbygget objekt orienteret programmeringssprogKan bruges til alle slags applikationer der kører på platforme fra mobiltelefoner (og mindre) til mainframe computere
![Page 18: Introduktion til Java programmering](https://reader035.vdocuments.net/reader035/viewer/2022062305/56815e04550346895dcc4cee/html5/thumbnails/18.jpg)
Programming Introductory
The AimWell designedWell writtenEasy to maintain
The ProcessWrite the software (implementation)“Translate” the software (compilation)Correct syntax errors
Test the softwareCorrect the logical errors
Modul 1
![Page 19: Introduktion til Java programmering](https://reader035.vdocuments.net/reader035/viewer/2022062305/56815e04550346895dcc4cee/html5/thumbnails/19.jpg)
Programming Introductory
Syntax and Semantics
The man drinks a cold beerThe man drinks a cold beeerThe beer drinks a cold man
Modul 1
![Page 20: Introduktion til Java programmering](https://reader035.vdocuments.net/reader035/viewer/2022062305/56815e04550346895dcc4cee/html5/thumbnails/20.jpg)
Modul 1 20
Java “Versioner”Der findes nogle forskellige “versioner” af Java:• Java CARD = Java applets running on smart card• Java ME = Java Micro Edition• Java SE = Java Standard Edition• Java FX = Rich Internet application, Enterprise client application• Java EE = Java Enterprise EditionJava SE er:• JVM = Java Virtual Machine, som udfører Java byte kode• Java API = et stort bibliotek til almindelig programmering• Java compiler som oversætter fra Java source kode til Java byte kode diverse andre
toolsJava EE er:• Specielle biblioteker til server side. EE består af 5 hoved dele:• Servlets, JSP (Java Server Pages), EJB (Enterprise Java Beans), JCA (Java Connector
Architecture), JSF (Java Server Faces)
![Page 21: Introduktion til Java programmering](https://reader035.vdocuments.net/reader035/viewer/2022062305/56815e04550346895dcc4cee/html5/thumbnails/21.jpg)
Modul 1 21
JRE og JDK
Når man vil downloade JAVA fra: http://www.oracle.com er der to typer af pakker
![Page 22: Introduktion til Java programmering](https://reader035.vdocuments.net/reader035/viewer/2022062305/56815e04550346895dcc4cee/html5/thumbnails/22.jpg)
Modul 1 22
JRE og JDK
JRE står for Java Runtime Envioment, og skal bruges hvis man ønsker, at afvikle java applikationer på sin computer.
JDK står for Java Development Envioment, og indeholder java runtime envioment, en java compiler samt andre værktøjer der skal anvendes, hvis man vil lave java programmer.
![Page 23: Introduktion til Java programmering](https://reader035.vdocuments.net/reader035/viewer/2022062305/56815e04550346895dcc4cee/html5/thumbnails/23.jpg)
Udviklingsmiljø
Indeholder i sig selv en større pakke af værktøjerEn compilerEn fortolker (interpreter)Dokumentations generator (javadoc)Et pakke værktøj (jar filer)Osv.
Man behøver ikke et IDE for at programmere Java(men det hjælper)
![Page 24: Introduktion til Java programmering](https://reader035.vdocuments.net/reader035/viewer/2022062305/56815e04550346895dcc4cee/html5/thumbnails/24.jpg)
Kort om IDE’er
Der findes en del IDE’er til at programmere Java medMen de mest udbredte er:
Eclipse (Open Source, støttes af IBM)NetBEans (Open Source, støttes af Sun)Idea IntelliJ (JetBrains, payware. Har light version i Open Source)
![Page 25: Introduktion til Java programmering](https://reader035.vdocuments.net/reader035/viewer/2022062305/56815e04550346895dcc4cee/html5/thumbnails/25.jpg)
25Modul 1
Et Java-program i BlueJ
![Page 26: Introduktion til Java programmering](https://reader035.vdocuments.net/reader035/viewer/2022062305/56815e04550346895dcc4cee/html5/thumbnails/26.jpg)
Modul 1 26
Installation af IDE
På følgende adresse er der to videoer der demonstrer, hvordan BlueJ og Eclipse installeres på en PC der kører windows 7:
http://public.ucn.dk/JavaU49/Materiale/
![Page 27: Introduktion til Java programmering](https://reader035.vdocuments.net/reader035/viewer/2022062305/56815e04550346895dcc4cee/html5/thumbnails/27.jpg)
Applikations og runtime miljø
Et javaprogram vil normalt kunne afvikles på alle platforme som har Java Runtime Enviroment (JRE) installeretDer er i praksis to måder at få JRE på platformen:
Download den fra java.sun.com (eller IBM, Oracle, ….)Eller få sammen med Java SE sdk’etEller få den gennem browseren, når du kører en applet eller JavaFx application
![Page 28: Introduktion til Java programmering](https://reader035.vdocuments.net/reader035/viewer/2022062305/56815e04550346895dcc4cee/html5/thumbnails/28.jpg)
Virtuel Machine
Er i virkeligheden en emulator. Den sørger for at afvikle Bytecode, som er emulatorens maskinkodeDer skal være implementeret en JVM til platformen for at kunne afvikle JavaJVM kender og tilgår platformens hardware.Applikationen kender ikke det fysiske hardware, kun det virtuelle i JVM
ByteCode:Et specielt maskin sprog som JVM kan afvikleEr uafhængig af hardware uanset hvilken platform programmet var udviklet på
![Page 29: Introduktion til Java programmering](https://reader035.vdocuments.net/reader035/viewer/2022062305/56815e04550346895dcc4cee/html5/thumbnails/29.jpg)
Garbage Collection
Sørger for at deallokere memory, når det kan lade sig gøre. Garbage Collector’en kører automatisk og kan ikke aktiveres af applikationen.Det betyder at programmøren ikke behøver at bekymre sig om at deallokere hukommelseTilgengæld kan du ikke være sikker på hvornår deallokering sker.
![Page 30: Introduktion til Java programmering](https://reader035.vdocuments.net/reader035/viewer/2022062305/56815e04550346895dcc4cee/html5/thumbnails/30.jpg)
Compile og kør et java program
![Page 31: Introduktion til Java programmering](https://reader035.vdocuments.net/reader035/viewer/2022062305/56815e04550346895dcc4cee/html5/thumbnails/31.jpg)
Mit første Java program
public class HelloWorld { /** * Mit første Java program */
// Udskriv Hello World! på skærmen public static void main(String[] args) {
System.out.println("Hello World!"); }}
![Page 32: Introduktion til Java programmering](https://reader035.vdocuments.net/reader035/viewer/2022062305/56815e04550346895dcc4cee/html5/thumbnails/32.jpg)
Lav et Java-program
1. Åben kommando.prompt i et passende bibliotek2. Skriv notepad HelloWorld.java3. Skriv programmet og gem.4. Skriv javac HelloWorld.java og oversæt
programmet(hvis den ikke kan finde javac skal du sætte path til at pege på dit JDK’s bin bibliotek)
5. Kør programmet: java HelloWorld6. Den skriver (forhåbentlig) Hello World!
![Page 33: Introduktion til Java programmering](https://reader035.vdocuments.net/reader035/viewer/2022062305/56815e04550346895dcc4cee/html5/thumbnails/33.jpg)
Fundamental concepts
objectclassmethodparameterdata type
![Page 34: Introduktion til Java programmering](https://reader035.vdocuments.net/reader035/viewer/2022062305/56815e04550346895dcc4cee/html5/thumbnails/34.jpg)
Objects and classes
objectsrepresent ‘things’ from the real world, or from some problem domain (example: “the red car down there in the car park”)
classesrepresent all objects of a kind (example: “car”)
![Page 35: Introduktion til Java programmering](https://reader035.vdocuments.net/reader035/viewer/2022062305/56815e04550346895dcc4cee/html5/thumbnails/35.jpg)
Methods and parameters
Objects have operations which can be invoked (Java calls them methods).Methods may have parameters to pass additional information needed to execute.
![Page 36: Introduktion til Java programmering](https://reader035.vdocuments.net/reader035/viewer/2022062305/56815e04550346895dcc4cee/html5/thumbnails/36.jpg)
Other observations
Many instances can be created from a single class.An object has attributes: values stored in fields.The class defines what fields an object has, but each object stores its own set of values (the state of the object).
![Page 37: Introduktion til Java programmering](https://reader035.vdocuments.net/reader035/viewer/2022062305/56815e04550346895dcc4cee/html5/thumbnails/37.jpg)
Modul 1
State
![Page 38: Introduktion til Java programmering](https://reader035.vdocuments.net/reader035/viewer/2022062305/56815e04550346895dcc4cee/html5/thumbnails/38.jpg)
Modul 1
Two circle objects
![Page 39: Introduktion til Java programmering](https://reader035.vdocuments.net/reader035/viewer/2022062305/56815e04550346895dcc4cee/html5/thumbnails/39.jpg)
Modul 1
Source code
Each class has source code (Java code) associated with it that defines its details (fields and methods).
![Page 40: Introduktion til Java programmering](https://reader035.vdocuments.net/reader035/viewer/2022062305/56815e04550346895dcc4cee/html5/thumbnails/40.jpg)
Modul 1
Return values
Methods may return a result via a return value.
![Page 41: Introduktion til Java programmering](https://reader035.vdocuments.net/reader035/viewer/2022062305/56815e04550346895dcc4cee/html5/thumbnails/41.jpg)
41
BlueJ – The Interactive Java Environment
Demonstration . .
![Page 42: Introduktion til Java programmering](https://reader035.vdocuments.net/reader035/viewer/2022062305/56815e04550346895dcc4cee/html5/thumbnails/42.jpg)
Lav ”Hello World” med BlueJ
Lav programmet ”Hello World” med BlueJ
![Page 43: Introduktion til Java programmering](https://reader035.vdocuments.net/reader035/viewer/2022062305/56815e04550346895dcc4cee/html5/thumbnails/43.jpg)
The Fundamentals of Object-Oriented Programming
ClassesRepresent all objects of a kind (example: “a car”)
ObjectsRepresent specific items from the real world, or from some problem domain (example: “the red car out there in the parking lot”)An object is an instance of a class – arbitrarily instances can be created
AttributesObjects are described by attributes stored in fields
MethodsObjects have “operations” which can be invoked
ParametersMethods may have parameters to pass additional information needed to execute
Return valuesMethods may return values as a result of the operation
Modul 1
![Page 44: Introduktion til Java programmering](https://reader035.vdocuments.net/reader035/viewer/2022062305/56815e04550346895dcc4cee/html5/thumbnails/44.jpg)
The Fundamentals of Object-Oriented Programming
StateThe class defines the fields of an item, but the object is described by it’s own set of attributes
Modul 1
![Page 45: Introduktion til Java programmering](https://reader035.vdocuments.net/reader035/viewer/2022062305/56815e04550346895dcc4cee/html5/thumbnails/45.jpg)
The Fundamentals of Object-Oriented Programming
Modul 1
Two objects are created from the “circle” class with their own state (set of attributes
![Page 46: Introduktion til Java programmering](https://reader035.vdocuments.net/reader035/viewer/2022062305/56815e04550346895dcc4cee/html5/thumbnails/46.jpg)
From Source Code to ExecutableThe class implementation is described by text, written in the given programming language (Java), describing the attributes and methods.
Modul 1
Java bytecode
Machine code
Java compiler
Java interpreter
Java bytecodecompiler
Java source code
![Page 47: Introduktion til Java programmering](https://reader035.vdocuments.net/reader035/viewer/2022062305/56815e04550346895dcc4cee/html5/thumbnails/47.jpg)
OpgaverGrundlæggende opgaver
BlueJ ex. 1.1 – 1.9 (shape example) BlueJ ex. 1.10 – 1.14 (picture example)
Ekstra opgaverBlueJ ex. 1.15 – 1.16 (picture example continued) Extend the picture example: Draw a tree next to the house by applying the elements (circle, square, and triangle).
Andre eksempler:Project: Student – lab classExercise: 1.17 – 1.25
Modul 1