Introduktion til Java programmering

Slides:



Advertisements
Lignende præsentationer
Hvordan får jeg lagt First Class programmet ind på min egen computer ??? De følgende sider er en lille anvisning på, hvordan du selv kan installere programmet.
Advertisements

DProg2 E Programmering 2 dProg2 E2010
Test First Development
Dansk Landbrugsrådgivning Landscentret Continuous Integration DCFServices.
Introduktion til Kursus i Grundlæggende C# programmering
FEN IntroJava AAU1 Introduktion til Java programmering Kursusintroduktion Introduktion til programmering Java og BlueJ.
Distribuerte Objekter Våren 2011 Professor II Eric Jul Forelesning F2 –
Introduktion til BOSC Operativsystemer og C.
Distribueret programmering, specielt.NET Remoting Rasmus D. Lehrmann DM
Object-Orienteret Programmering og Design. 2 Nordjyllands Erhvervakademi – 2009 Indhold “Classes, objects and object-oriented programming (OOP) play a.
NetBeans Installation og brug.
09 – Arv og polymorfi i java
Hvordan man skriver koden.
01 – Java platform for starters. 2 NOEA2009Java-kursus – Java Platform Introduktion til Java Baggrund Hvad er Java? Faciliteter i Java.
VOOP, 8 april Refleksion i objekt orienterede programmeringssprog Mandag 8/ Kasper Østerbye.
Webserveren kan afvikle flere applikationer, der hver har deres eget selvstændige ”liv” og hukommelse. Den enkelte applikation består typisk af flere elementer.
© 2013 Netcompany A/S Netcompany A/S · Grønningen 19 · 1270 København K · Tlf Side 1 Simon Otto Nielsen Diplomingeniør i informations og kommunikationsteknologi.
FEN IntroJava AAU1 Opsamling: afvikling af Java-programmer Input fra keyboard og fil Fra en prompt Fra BlueJ Fra NetBeans.
FEN IntroJava AAU1 Java grundelementer Variable og datatyper Sætninger og udtryk Metoder.
18 – Java Server Faces. 2 NOEA2009Java-kursus – JSF 2 Web-applikationer - 1 Brugere interagerer med en Web-browser Browseren sender forespørgsler til.
CLR (.NET) og JVM 1.NET vs. Java.NET har fokus på sprog-uafhængighed … Java har fokus på platforms-uafhængighed … Windows OS.NET CLR IL kode (.exe,.dll)
1..NET Arkitektur. Mål “Microsoft.NET is based on the Common Language Runtime (CLR) and an extensive set of Framework Class Libraries (FCL). The CLR defines.
Fundamentale datastrukturer
Webserveren kan afvikle flere applikationer, der hver har deres eget selvstændige ”liv” og hukommelse. Den enkelte applikation består typisk af flere elementer.
1..NET Arkitektur. 2 Nordjyllands Erhvervakademi Mål “Microsoft.NET is based on the Common Language Runtime (CLR) and an extensive set of Framework.
Introduktion til ITJEM ITJEM1 /jrt /jrtITJEM1 /jrt2 ITJEM1 Hjemmeside: –
Historie Android Inc oprettet i 2003 Købt af Google i 2005 Første version af Android ude i 2007 Kan bruges til andet end mobiltelefoner.
Procestræ under afvikling af cp init login shell cp cp src dest.
IT i Byggeriet Semester kursusgang Introduktion til projektweb og html Kjeld Svidt Kjeld Svidt  Institut for Bygningsteknik.
8 RÅD VEDRØRENDE GOD PROGRAMMERING Effective (brown) Java.
11 - Exceptions. 2 NOEA2009Java-kursus – Exceptions Hvad er en exception? En undtagelse. Typisk en fejl der opstår runtime Afbryder det normale programflow.
Distribuerte Objekter Våren 2010 Professor II Eric Jul F4 –
Fremstilling af Simple WEB steder [ITPL] Foråret 2004
03 – Udtryk og metoder. 2 NOEA2009Java-kursus – Udtryk og metoder Udtryk i Java Java har standard udtrykene… Værditildeling Subrutiner og funktionskald.
Hvad består en distribueret applikation af ? Processer der kører på hver deres maskine Tråde - 1 eller flere "letvægtsprocesser" per proces Objekter i.
Introduktion til ITJEM ITJEM1 /jrt /jrtITJEM1 /jrt2 ITJEM1 Hjemmeside: –
Kjeld Svidt  Institut for Byggeri og Anlæg  Aalborg Universitet IT i Byggeriet Semester 6, kursusgang Databaser (1) Kjeld Svidt
9. Interfaces. 2 Nordjyllands Erhvervakademi Objectives “Good class design starts with good application design — how many classes, do they relate.
Unified Modeling Language
DB analyse og modellering Jesper Tørresø DAB1 F Februar 2008.
OPERATIONEL ANALYSE AF WEBADFÆRD OAW – LEKTIONSGANG 4.
Begreber og Redskaber 4. Plan for idag Om metoder, parametre, returværdier Et par ord om objekt-orientering Håndkøring af programmer.
DIEB10.1 Kursusgang 10 Oversigt: Sidste kursusgang Eksempler på løsning af opgaven Arkitektur for brugergrænsefladen og for systemet Dokumentation af designet.
Introduktion til ITJEM ITJEM1 /jrt /jrtITJEM1 /jrt2 ITJEM1 Hjemmeside: –
 Jens Bennedsen 2002Objektorienteret systemudvikling GRASP mønstre Basale ansvarsplaceringsregler.
 Michael E. Caspersen, 2000Introducerende objektorienteret programmering6B.1 Virkefeltsregler i Java int i; int j; int k; i = i+j; String t; Sequence.
 Jens Bennedsen, 2003Introducerende objektorienteret programmeringinterfaces.1 Interfaces En ren kontrakt.
 Michael E. Caspersen, 2000Introducerende objektorienteret programmering6A.1 Programmering med interfaces – en stak og en HP-regnemaskine push pop.
DAIMIIntroducerende objektorienteret programmering4B.1 Grundlæggende og Reference Typer i Java Typer, tilstand, erklæring, reference- og værdi semantik,
Indledende Programmering Uge 6 - Efterår 2006
Objektorienteret analyse og design Ó Bennedsen 2001 Design - part Programmering og systemudvikling Lektion 7 Design - part 2.
Kari Rye Schougaard, Ph.d.-stud. Værktøjer og Teknikker, 2006 A A R H U S U N I V E R S I T E T DATALOGISK INSTITUT Java på 20 minutter (eller lidt mere)
Introduktion til programmering Kursusoversigt. dIntProg, F08Kursusintroduktion.2 dIntProg Forelæsninger –Fire timer om ugen –Mandag samt fredag.
Introduktion til programmering Kursusoversigt. dIntProg, E08Kursusintroduktion.2 Mål (fra kursusbeskrivelsen) Deltagerne skal ved afslutning af kurset.
Programmering med interfaces – en stak og en HP-regnemaskine push pop.
 Jens Bennedsen 2001Multimedie programmering4.1 Definition af begreber Interface, implements, klasse.
ANALYSE AF WEBADFÆRD - OAW OAW – LEKTIONSGANG 4. ANALYSE AF WEBADFÆRD - OAW SUMMARY, LECTURE 3 (Extended) Common Log File Format Host, Ident, Authuser,
DAIMIIntroducerende objektorienteret programmering4A.1 Kontrakter og Design Kontraktbaseret design, JavaDoc dokumentation,
Et Audio/ Video Framework Et framework for en audio/video applikation baseret på lokale og kilder tilgængelige på 1394 via AV/C protokollen.
Mål M å let med kurset er at den studerende l æ rer grundlaget for systematisk konstruktion af simple programmer og herigennem opn å r kendskab til hvorledes.
Eksamen Praktisk prøve.
FEN IntroJava AAU1 Introduktion til programmering Et program: HelloWorld Objekter og klasser.
Omsætning af en model til en RDB Jesper Tørresø DAB1 F Marts 2008.
Computerens talsystem
Movex Java Allan Randa IT Arkitekt Intentia Danmark A/S
DB analyse og modellering
Software Testing Software testing.
Simpel test-client (javascript) Session og Application data
Smart Data Tool (SDT) In Sales
Software Construction
Præsentationens transcript:

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

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

Kursets indhold 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

Kursets indhold 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

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

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

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.

Struktur af javaU49 mappen Modul 1

Bog der er anvendt I modul 1 og flere af de efterfølgende. David J. Barnes & Michael Kölling Objects First with Java A Practical Introduction using BlueJ 4th edition, Pearson Education, 2008 ISBN 0-13-606086-2. Modul 1

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

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

Grundbegreber om programmering 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

Eksempler fra kurset Program Programmeringssprog Programmør Processor 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

Introduktion til Java Baggrund Hvad er Java? Faciliteter i Java

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

Hvad er Java? Java er: Mottoet for Java er: Et programmeringssprog Et udviklingsmiljø Et miljø for afvikling af applikationer Et deployment miljø Mottoet for Java er: Compile once, run everywhere

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

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

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

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 Edition Java 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 tools Java 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

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

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

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)

Kort om IDE’er Der findes en del IDE’er til at programmere Java med Men 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)

Et Java-program i BlueJ 06-04-2017 Et Java-program i BlueJ Modul 1

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/ Modul 1

Applikations og runtime miljø Et javaprogram vil normalt kunne afvikles på alle platforme som har Java Runtime Enviroment (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 JavaFx application

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å

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 hukommelse Tilgengæ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 Åben kommando.prompt i et passende bibliotek Skriv notepad HelloWorld.java Skriv programmet og gem. 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) Kør programmet: java HelloWorld Den skriver (forhåbentlig) Hello World!

Objects First with Java Fundamental concepts object class method parameter data type You don’t always need to show all these slides in class. These are intended as summaries. Discuss these topics with a demo, or in a dialog, or in any way you like. © David J. Barnes and Michael Kölling

Objects and classes objects classes 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”)

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

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

BlueJ – The Interactive Java Environment Demonstration . .

Lav ”Hello World” med BlueJ Lav programmet ”Hello World” med BlueJ

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 Return values Methods may return values as a result of the operation

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

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

From Source Code to Executable The class implementation is described by text, written in the given programming language (Java), describing the attributes and methods. Java bytecode Machine code Java compiler Java interpreter compiler Java source

Opgaver Grundlæggende opgaver Ekstra opgaver Andre eksempler: BlueJ ex. 1.1 – 1.9 (shape example) BlueJ ex. 1.10 – 1.14 (picture example) Ekstra opgaver 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