Transcript
Page 1: Introduktion til Java programmering

1Modul 1

Introduktion til Java programmering

IntroduktionKursusintroduktionIntroduktion til programmeringJava og BlueJ, andre IDEOOP i Java

Page 2: Introduktion til Java programmering

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

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

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

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

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

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

Modul 1 8

Struktur af javaU49 mappen

Page 9: Introduktion til Java programmering

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

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

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

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

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

Introduktion til Java

BaggrundHvad er Java?Faciliteter i Java

Page 15: Introduktion til Java programmering

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

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

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

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

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

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

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

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

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

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

25Modul 1

Et Java-program i BlueJ

Page 26: Introduktion til Java programmering

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

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

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

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

Compile og kør et java program

Page 31: Introduktion til Java programmering

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

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

Fundamental concepts

objectclassmethodparameterdata type

Page 34: Introduktion til Java programmering

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

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

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

Modul 1

State

Page 38: Introduktion til Java programmering

Modul 1

Two circle objects

Page 39: Introduktion til Java programmering

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

Modul 1

Return values

Methods may return a result via a return value.

Page 41: Introduktion til Java programmering

41

BlueJ – The Interactive Java Environment

Demonstration . .

Page 42: Introduktion til Java programmering

Lav ”Hello World” med BlueJ

Lav programmet ”Hello World” med BlueJ

Page 43: Introduktion til Java programmering

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

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

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

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

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


Recommended