1 / 47

Introduktion til Java programmering

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

moanna
Download Presentation

Introduktion til Java programmering

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Introduktion til Java programmering Introduktion Kursusintroduktion Introduktion til programmering Java og BlueJ, andre IDE OOP i Java Modul 1

  2. Præsentation kursusholdere • Kursusholder: • Kis Boisen Hansen, tlf. 72 69 15 69, mail: kbha@ucn.dk • Ib Helmer Nielsen, tlf. 72 69 15 65, mail: ihn@ucn.dk

  3. Kursetsindhold Modul 1 ( Ib ): • Introduktion til Java • Introduktion 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. Kursetsindhold Modul 4 ( Kis ): • Java klasse bibioteker, her introduceres nogle af de vigtigste biblioteker til Java. • Udvalgte API’er. Modul 5 ( Ib ): • Arv mellem klasser • Polymorfi • Interface • Evaluering Modul 1

  5. Praktiske oplysninger Møde tider og skema: Mandag til torsdag: • Vi starter med morgen kaffe 8.30 i lokalet • Ca. 11.45 er der frokost • 15.30 slutter dagens modul Fredag: • Her slutter dagens modul 12.30

  6. Praktiske oplysninger Kontakt informationer: • Skolen kan kontaktes pr. telefon på 72 69 80 00 • Skolens adresse er Sofiendalsvej 60 9200 Aalborg SV • Post sendes til: Postboks 71 9100 Aalborg • eller pr. email : tb@ucn.dk • Underviser kan kontaktes via email eller telefon på: • Kis Boisen Hansen, tlf. 72 69 15 69, mail: kbha@ucn.dk • Ib Helmer Nielsen, tlf. 72 69 15 65, mail: ihn@ucn.dk

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

  8. Strukturaf javaU49 mappen Modul 1

  9. Bog der eranvendt I modul 1 og flereaf 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. Introduktion til Java Introduktion til platform, programmeringssprog og udviklingsmiljø Objektorienteret programmering i Java. Grundlæggende begreber indenfor OOP. Modul 1 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. Modul 1

  12. Grundbegreber om programmering • Program • en utvetydig opskrift på en ”beregning” der kan udføres af en computer • Programmeringssprog • notation til at udtrykke programmer • Programmør • en aktør der konstruerer programmer • Processor • en aktør der udfører et program • Hardware • det isenkram det benyttes af processoren ved udførelse af programmet • Data • input, output og mellemresultater ved udførelse af programmer

  13. Eksempler fra kurset • Program • BlueJ-projekt (katalog med en .java-fil pr. klasse i projektet) • BlueJ er en ”høvlbænk”: det sted programmer skabes • Programmeringssprog • Java (Java-compileren, er selv et program…) • Programmør • Jer! • Processor • Java VM (Java virtuel maskine, er selv et program...) • Hardware • Jeres computer • Data • vilkårlig information der er repræsenteret digitalt • tal, tekst, lyd, billeder, video, programmer, ... Modul 1

  14. Introduktion til Java • Baggrund • Hvad er Java? • Faciliteter i Java

  15. Java’s Historie • 1. version af Java blev lavet i 1991 • af James Gosling ved Sun Microsystems • Oprindeligt ment som et platform uafhængigt sprog til indlejring i forbruger elektronik som køleskabe og vaskemaskiner • Et af de første projekter var en fjernkontrol • Men 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.)

  16. Hvad er Java? • Java er: • Et programmeringssprog • Et udviklingsmiljø • Et miljø for afvikling af applikationer • Et deployment miljø • Mottoet for Java er: • Compileonce, run everywhere

  17. Programmeringssprog • Java er et veludbygget objekt orienteret programmeringssprog • Kan bruges til alle slags applikationer der kører på platforme fra mobiltelefoner (og mindre) til mainframe computere

  18. Programming Introductory • The Aim • Well designed • Well written • Easy to maintain • The Process • Write the software (implementation) • “Translate” the software (compilation) • Correct syntax errors • Test the software • Correct the logical errors

  19. Programming Introductory • Syntax and Semantics • The man drinks a cold beer • The man drinks a cold beeer • The beer drinks a cold man

  20. Java “Versioner” Der findesnogleforskellige “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 Edition Java SE er: • JVM = Java Virtual Machine, somudfører Java byte kode • Java API = et stortbibliotektilalmindeligprogrammering • Java compiler somoversætterfra Java source kodetil Java byte kode diverse andretools Java EE er: • Speciellebibliotekertil server side. EE beståraf 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 vildownloade JAVA fra: http://www.oracle.comer der to typerafpakker Modul 1

  22. JRE og JDK • JRE står for Java Runtime Envioment, og skalbrugeshvis man ønsker, at afviklejava applikationerpå sin computer. • JDK står for Java Development Envioment, og indeholder java runtime envioment, en java compiler samtandreværktøjer der skalanvendes, hvis man vil lave java programmer. Modul 1

  23. Udviklingsmiljø • Indeholder i sig selv en større pakke af værktøjer • En compiler • En 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)

  24. Kort om IDE’er • Der findes en del IDE’er til at programmere Java med • Men de mest udbredte er: • Eclipse (OpenSource, støttes af IBM) • NetBEans (Open Source, støttes af Sun) • IdeaIntelliJ (JetBrains, payware. Har light version i OpenSource)

  25. Et Java-program i BlueJ Modul 1

  26. Installation af IDE Påfølgendeadresseer der to videoer der demonstrer, hvordanBlueJ og Eclipse installerespå en PC der kører windows 7: http://public.ucn.dk/JavaU49/Materiale/ Modul 1

  27. Applikations og runtime miljø • Et javaprogram vil normalt kunne afvikles på alle platforme som har Java RuntimeEnviroment (JRE) installeret • Der 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’et • Eller få den gennem browseren, når du kører en applet eller JavaFxapplication

  28. Virtuel Machine • Er i virkeligheden en emulator. Den sørger for at afvikle Bytecode, som er emulatorens maskinkode • Der skal være implementeret en JVM til platformen for at kunne afvikle Java • JVM 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 afvikle • Er uafhængig af hardware uanset hvilken platform programmet var udviklet på

  29. Garbage Collection • Sørger for at deallokerememory, når det kan lade sig gøre. GarbageCollector’en kører automatisk og kan ikke aktiveres af applikationen. • Det betyder at programmøren ikke behøver at bekymre sig om at deallokere hukommelse • Tilgengæld kan du ikke være sikker på hvornår deallokering sker.

  30. Compile og kør et java program

  31. Mit første Java program public class HelloWorld { /** * Mitførste Java program */ // Udskriv Hello World! påskærmen public static void main(String[] args) { System.out.println("Hello World!"); } }

  32. Lav et Java-program • Åben kommando.prompt i et passende bibliotek • Skriv notepadHelloWorld.java • Skriv programmet og gem. • Skriv javacHelloWorld.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) • Kør programmet: javaHelloWorld • Den skriver (forhåbentlig) Hello World!

  33. Fundamental concepts • object • class • method • parameter • data type

  34. Objects and classes • objects • represent ‘things’ from the real world, or from some problem domain (example: “the red car down there in the car park”) • classes • represent all objects of a kind (example: “car”)

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

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

  37. State Modul 1

  38. Two circle objects Modul 1

  39. Source code • Each class has source code (Java code) associated with it that defines its details (fields and methods). Modul 1

  40. Return values • Methods may return a result via a return value. Modul 1

  41. BlueJ – The Interactive Java Environment • Demonstration . .

  42. Lav ”Hello World” med BlueJ • Lav programmet ”Hello World” med BlueJ

  43. The Fundamentals of Object-Oriented Programming • Classes • Represent all objects of a kind (example: “a car”) • Objects • Represent 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 • Attributes • Objects are described by attributes stored in fields • Methods • Objects have “operations” which can be invoked • Parameters • Methods may have parameters to pass additional information needed to execute • Returnvalues • Methodsmayreturnvalues as a result of the operation

  44. The Fundamentals of Object-Oriented Programming • State • The class defines the fields of an item, but the object is described by it’s own set of attributes

  45. The Fundamentals of Object-Oriented Programming • Two objects are created from the “circle” class with their own state (set of attributes

  46. From Source Code to Executable Java source code • The classimplementation is described by text, written in the given programminglanguage (Java), describing the attributes and methods. Java compiler Java bytecode Java bytecode compiler Java interpreter Machine code

  47. Opgaver • Grundlæggendeopgaver • BlueJ ex. 1.1 – 1.9 (shape example) • BlueJ ex. 1.10 – 1.14 (picture example) • Ekstraopgaver • BlueJ 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 class • Exercise: 1.17 – 1.25

More Related