Introduktion til Java programmering

Preview:

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 : kbha@ucn.dk - PowerPoint PPT Presentation

Citation preview

1Modul 1

Introduktion til Java programmering

IntroduktionKursusintroduktionIntroduktion til programmeringJava og BlueJ, andre IDEOOP i Java

2

Præsentation kursusholdere

Kursusholder:Kis Boisen Hansen, tlf. 72 69 15 69, mail: kbha@ucn.dkIb Helmer Nielsen, tlf. 72 69 15 65, mail: ihn@ucn.dk

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.

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

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

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 : tb@ucn.dkUnderviser kan kontaktes via email eller telefon på:

Kis Boisen Hansen, tlf. 72 69 15 69, mail: kbha@ucn.dkIb Helmer Nielsen, tlf. 72 69 15 65, mail: ihn@ucn.dk

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.

Modul 1 8

Struktur af javaU49 mappen

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.

Modul 1 10

MODUL 1• Introduktion til Java• Introduktion til platform, programmeringssprog og udviklingsmiljø• Objektorienteret programmering i Java. • Grundlæggende begreber indenfor OOP.

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.

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

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, ...

Introduktion til Java

BaggrundHvad er Java?Faciliteter i Java

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.)

Hvad er Java?

Java er:Et programmeringssprogEt udviklingsmiljøEt miljø for afvikling af applikationerEt deployment miljø

Mottoet for Java er:Compile once, run everywhere

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

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

Programming Introductory

Syntax and Semantics

The man drinks a cold beerThe man drinks a cold beeerThe beer drinks a cold man

Modul 1

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)

Modul 1 21

JRE og JDK

Når man vil downloade JAVA fra: http://www.oracle.com er der to typer af pakker

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.

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)

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)

25Modul 1

Et Java-program i BlueJ

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/

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

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å

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.

Compile og kør et java program

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!"); }}

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!

Fundamental concepts

objectclassmethodparameterdata type

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”)

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.

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).

Modul 1

State

Modul 1

Two circle objects

Modul 1

Source code

Each class has source code (Java code) associated with it that defines its details (fields and methods).

Modul 1

Return values

Methods may return a result via a return value.

41

BlueJ – The Interactive Java Environment

Demonstration . .

Lav ”Hello World” med BlueJ

Lav programmet ”Hello World” med BlueJ

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

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

The Fundamentals of Object-Oriented Programming

Modul 1

Two objects are created from the “circle” class with their own state (set of attributes

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

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