JAR som tar eller zip. Java. Exekvering

Relevanta dokument
Konstruktion av användargränssnitt. Kursvärdering Om Java. Ingen tenta. Förändringar Missar. Lärare

Upplägg. Introduktion. Examination. Mål. Konsekvenser. Java. Kursen heter konstruktion, ej design eller formgivning.

Kompilering och exekvering. Föreläsning 1 Objektorienterad programmering DD1332. En kompilerbar och körbar java-kod. Kompilering och exekvering

Programmering med Java. Grunderna. Programspråket Java. Programmering med Java. Källkodsexempel. Java API-exempel In- och utmatning.

F4. programmeringsteknik och Matlab

TDDE10 m.fl. Objektorienterad programmering i Java Föreläsning 6 Erik Nilsson, Institutionen för Datavetenskap, LiU

Föreläsning 2 Objektorienterad programmering DD1332. Typomvandling

Classes och Interfaces, Objects och References, Initialization

DD2310. Javaprogrammering för Pythonprogrammerare. Johan Boye

F4 Klasser och Metoder. ID1004 Objektorienterad programmering Fredrik Kilander

Inlupp1 - kommentarer. Uppgift 2. Uppgift 2

TDDC30. Objektorienterad programmering i Java, datastrukturer och algoritmer. Föreläsning 4 Erik Nilsson, Institutionen för Datavetenskap, LiU

The Last Adventure. Innehåll. Objektorientering. Språket Java. Java - Paket. Java - synlighet. Den sista lektionen. Repetition.

I18N språkoberoende. ResourceBundle. Ikoner. Färg. Javadoc. Meny

Lösningar för tenta 2 DAT043,

(Man brukar säga att) Java är... Denna föreläsning. Kompilering av Java. Historik: Java. enkelt. baserat på C/C++ Allmänt om Java

DAT043 Objektorienterad Programmering

Lösningar för tenta 3 DAT043,

Java: Utvecklingsverktyg, datatyper, kontrollstrukturer

TDDE10 m.fl. Objektorienterad programmering i Java Föreläsning 6 Erik Nilsson, Institutionen för Datavetenskap, LiU

Vad kännetecknar en god klass. Vad kännetecknar en god klass. F12 Nested & Inner Classes

Objektorientering. Objekt och metoder. Objektorientering. Viktiga begrepp. Klass. Objekt. Deklarativ programmering

TDDC77 Objektorienterad Programmering

JAVA Mer om klasser och objektorientering

TDDC30. Kursledning Kursledare: Jonas Lindgren. Labassistent: Jonas Lindgren Labassistent: Niklas Holma Labassistent: Erik Nilsson

Att använda Java SE JDK 6

Arv: Fordonsexempel. Arv. Arv: fordonsexempel (forts) Arv: Ett exempel. En klassdefinition class A extends B {... }

Föreläsning 8 Programmeringsteknik och Matlab 2D1312/2D1305. Klass Object, instans av klass public/private Klassvariabler och klassmetoder

Outline. Objektorienterad Programmering (TDDC77) En frukt har ett namn. Man kan lägga en frukt i en korg... Hashing. Undantag. Ahmed Rezine.

Objektorienterad Programmering (TDDC77)

I STONE. I Variabler, datatyper, typkonvertering. I Logiska och matematiska uttryck. I Metoder-returvärde och parametrar. I Villkorssatser if/else

Subklasser och arv Inledning till grafik (JFrame och JPanel). Något om interface. Objektorienterad programvaruutveckling GU (DIT011) Subklasser

ITK:P1 Föreläsning 1. Programmering. Programmeringsspråket Java. Stark typning Explicit typning Strukturerat Hög säkerhet

Fakulteten för ekonomi, kommunikation och IT. Corba. Datum: Mathias Andersson

Tentamen. Lösningsförslag

Att använda Java SE JDK 6

Fördjupad Java. Undantagshantering. Fel

Föreläsning 8: Exempel och problemlösning

Lösningsförslag till tentamen

Tentamen. Grundläggande programmering i Java A 5p, DTAA

UML. Objekt-orienterad programmering och design (DIT952) Niklas Broberg, 2016

F1 - Introduktion. ID1004 Objektorienterad programmering Fredrik Kilander

LÖSNINGSFÖRSLAG Programmeringsteknik För Ing. - Java, 5p

F8 - Arv. ID1004 Objektorienterad programmering Fredrik Kilander

Föreläsning 9: Arv och UML

Outline. Objektorienterad Programmering (TDDC77) Åsidosättning. Signatur. Åsidosättning. Abstrakta klasser. Ahmed Rezine.

Objektorienterad programmering i Java, datastrukturer och algoritmer. Föreläsning 4 Jonas Lindgren, Institutionen för Datavetenskap, LiU

Idag. Javas datatyper, arrayer, referenssemantik. Arv, polymorfi, typregler, typkonvertering. Tänker inte säga nåt om det som är likadant som i C.

TDDC30. Objektorienterad programmering i Java, datastrukturer och algoritmer. Föreläsning 1 Jonas Lindgren, Institutionen för Datavetenskap, LiU

Chapter 4: Writing Classes/ Att skriva egna klasser.

Ingenjörsfirman Stéen Java Sida 1 av 1

Idag. statiska metoder och variabler. private/public/protected. final, abstrakta klasser, gränssnitt, delegering. wrapper classes

Classes och Interfaces, Objects och References Objekt-orienterad programmering och design (DIT952) Niklas Broberg, 2016

Att skriva till och läsa från terminalfönstret

TENTAMEN PROGRAMMERINGSMETODIK MOMENT 2 - JAVA, 4P

Programmering för språkteknologer II, HT2011. Rum

Outline. Objektorienterad Programmering (TDDC77) Signatur. Klassen calculator. Överlagring (overloading) Arv (inheritance) Ahmed Rezine

Omtentamen för TDA540 Objektorienterad Programmering. Institutionen för Datavetenskap CTH HT-16, TDA540. Dag: , Tid:

OOP F1:1. Föreläsning 1. Introduktion till kursen OOP Vad är Java? Ett första Java-program Variabler Tilldelning. Marie Olsson

Föreläsning 3: Abstrakta datastrukturer, kö, stack, lista

UML. Översikt UML. Relationer mellan klasser. A är ett aggregerat av B:n. Kontor aggregat av Enheter. 12 olika diagramtyper, bl.a.

Objektorienterad Programmering (TDDC77)

MVC-mönstret. model-view-control i Swing

Outline. Objektorienterad Programmering (TDDC77) Att instansiera en klass. Objekt. Instansiering. Åtkomst. Abstrakt datatyp.

Objektorienterad Programmering (TDDC77)

Arv. Objektorienterad och komponentbaserad programmering

Ett problem. Kontrollstrukturer och arrayer. Arrayer. Lösningen. Arrayer och hakparanteser. Exempel int[] results; results = new int[10]; // 0..

Föreläsning 10. ADT:er och datastrukturer

12 Metaprogrammering i Java

Idag. Exempel, version 2. Exempel, version 3. Ett lite större exempel

Exempel. Arrayer. Lösningen. Ett problem. Arrayer och hakparanteser. Arrayer

Programmering A. Johan Eliasson

Dagens program. Programmeringsteknik och Matlab. Objektorienterad programmering. Vad är vitsen med att ha både metoder och data i objekten?

Denna vecka. Idag. Grafiskt användarsnitt. Vi kommer att se

Värde och typ? Problem. Vad skrivs ut? Referenssematik (1) Joachim von Hacht. Förklara (i detalj)! int x; int y; x = y = 1; out.println(x + ":" + y);

Objektorienterad programmering. Fält som funktionsresultat. Mer om fält: att uppdatera ett parameterfält. Kontrast: Parametrar av primitiv typ

Grundläggande programmering, STS 1, VT Sven Sandberg. Föreläsning 14

TENTAMEN OOP

F2 Datatyper och variabler. ID1004 Objektorienterad programmering Fredrik Kilander

Föreläsning 2. Täcker material från lektion 1, 2, 3 och 4:

TDDC30. Objektorienterad programmering i Java, datastrukturer och algoritmer. Föreläsning 2 Jonas Lindgren, Institutionen för Datavetenskap, LiU

Objektorienterad Programmering (TDDC77)

I Skapa Hej.java och skriv programmet. I Kompilera med javac Hej.java. I Rätta fel och repetera tills du lyckas kompilera ditt program

Kort om klasser och objekt En introduktion till GUI-programmering i Java

ITK:P1 Lektion 4. Lektion 4. Lektion 4. Att implementera en spelidé i Java. DSV Peter Mozelius

l uppgiftsformulering l algoritmkonstruktion l verifikation l kodning l testning och avlusning l validering l dokumentering l underhœll Kapitel 2

Command line argumenter. Objektorienterad Programmering (TDDC77) Vad blir resultatet? Nu då? Ahmed Rezine. Hösttermin 2016

Föreläsning 8 - del 2: Objektorienterad programmering - avancerat

Objektorienterad Programmering (TDDC77)

Föreläsning 8 - del 1: Objektorienterad programmering (forts.) - Exempel

Objektorienterad Programmering (TDDC77)

TDDD78 Viktiga begrepp, del 2

Outline. Objektorienterad Programmering (TDDC77) Laborationsserie del två. Vad händer under HT2. Introduktion HT2 UML.

Parsing med Recursive Descent, Avbildningsklasser. Syntaxdiagram. Syntaxdiagram och kodning expression. Betrakta följande uttryck

Objektorienterad Programkonstruktion. Föreläsning 4 8 nov 2016

DUGGA: Objektorienterade applikationer. Läs detta! Uppgifterna är inte avsiktligt ordnade efter svårighetsgrad.

Objektorienterad programmering i Java

Tentamen i Objektorienterad modellering och diskreta strukturer

Kungliga Tekniska Högskolan Ämneskod 2D4134 Nada Tentamensdag maj - 19 Tentamen i Objektorientering och Java Skrivtid 5 h

Lösningsförslag till exempeltenta 2

Transkript:

JAR som tar eller zip Används för att packa ihop en mängd filer jar cvf foo.jar ~user/inlupp1/* Packa upp jar xvf foo.jar Kan vara körbar Fil manifest + class-filer på rätt ställe Main-Class: blazon.ui.inlupp1 java jar foo.jar Finns exempel i utdelad kod för inlupp1 Informationsteknologi #1 Java Ett objektorienterat språk, påminner mycket om C och C++. Mycket enkelt att lära enkel syntax inga pekare garbage-collection färdiga bibliotek med (massor!) kod manualer alltid on-line; literate programming Informationsteknologi #2 Kompilera javac Foo.java jikes Foo.java Skapar fil Foo.class Köra java Foo Exekvering Informationsteknologi #3 1

Utrustning (Win) Java SDK (1.4.2) java.sun.com Editor (xemacs, gnu emacs, ) www.xemacs.org Ant http://ant.apache.org/ Under Windows http://www.cygwin.com/ setup.exe (se till få med: openssh, cvs) Informationsteknologi #4 public class Person { private String name; Exempel på kod public Person(String s) { name = s; public String getname() { return name; public void sayhi(string s) { // notera append på strängar System.out.println( Hi + s); Informationsteknologi #5 Hemlig eller offentlig public String name; private int phone; protected User user; // friendly, syns inom ett package int bar = 42; se kap. 5, Eckel Informationsteknologi #6 2

Skapa objekt int i = 7; // primitiv, ej objekt String s = foo ; Vector v = new Vector(); Car volvo = new S80( red ); // måste inte hålla i objekten; fult new Person(new Name( erik )); Informationsteknologi #7 public class Car { // attribut public String model; Constructor // konstruktor public Car(String model) { this.model = model; Car c = new Car( SAAB ); Informationsteknologi #8 Primitiver Primitiver int, float, long, char, Objekt Integer, Float, Long, Primitiver finns av effektivitetsskäl Informationsteknologi #9 3

Scope Objekt försvinner av sig självt { String s = new String( Hej ); // s är nu borta. helt OK. Informationsteknologi #10 Namn på klass och fil public class Car { // stor bokstav! public String model; private String color; Måste finnas i en fil som heter Car.java Informationsteknologi #11 Attribut public class Car { public String model; private String color; Car c = new Car(); c.model = Volvo ; // ok c.color = Green ; // fel Informationsteknologi #12 4

public class Car { private String color; Metoder public void setcolor(string color) { this.color = color; // test Car c = new Car(); c.setcolor( Blue ); Informationsteknologi #13 Returvärden public class Car { public int maxspeed() { return 250; // test Car saab93 = new Car( SAAB ); int max = saab93.maxspeed(); Informationsteknologi #14 Package Ett sätt att packetera kod för att undvika krockar, visa vem som är ägare, visa hur koden är strukturerad com.volvo.salary com.sun.http.server com.borland.jbuilder.ui.menu Används ihop med import Informationsteknologi #15 5

Package package kurs.konstruktion; import com.util.calculator; import java.math.*; // all in math! public class Foo { private Calculator cal; Informationsteknologi #16 Static Speciellt fall då ett attribut bör finnas oavsett om objektet är skapat eller ej. public class Integer { public static int MAX = 12345678; if (salary > Integer.MAX) // yahoo! Informationsteknologi #17 Debug // not nice, but works System.out.println( Val is = + val); // better private static Logger log = Logger.getLogger("cachet.ui"); log.severe( Going down ); log.warning( Salary is null ); log.info( Created account ); Informationsteknologi #18 6

Kommentarer // this is a one-line comment /* two lines of bad comments */ /* * better to * write a * on each line */ Informationsteknologi #19 Literate programming, Donald Knuth Javadoc Informationsteknologi #20 /** A class comment */ public class DocTest { Bra kommentarer /** A variable comment */ public int i; /** A method comment */ public void f() { Informationsteknologi #21 7

Variabler och metoder getlastname() setmaxoflines(int i) String longname = foo ; int loopcounter = 7; Informationsteknologi #22 Eckel Nu har vi gått igenom 133 sidor ur hans bok... Informationsteknologi #23 Ärvning class Student extends Person { private String studyprogram = ITP ; Finns bara enkel ärvning (extends)! Man kan uppfylla flera interface (implements): class Student implements Person, Poor { private String studyprogram = ITP ; Informationsteknologi #24 8

Interface, kap 8 interface Car { int MAXSPEED = 250; // alltid public, ej friendly void brake(); void shift(int gear); Informationsteknologi #25 Interface, kap 8 class Saab implements Car { public void brake() { // do something public void shift(int gear) { // do sometihng Informationsteknologi #26 Klasser, nästlade class A { int i; // inner class class B { int k = 0; A { B b = new B(); Informationsteknologi #27 9

Klasser: composition You simply create objects of your existing class inside the new class // Bil.java class Hjul { int antal = 4; public class Bil { private Hjul hjul = new Hjul(); Informationsteknologi #28 Klasser: inheritance class Bil { // public class Volvo extends Bil { /// Informationsteknologi #29 Try/catch public class UrlStat { UrlStat(String s) { try { URL url = new URL(s); catch (MalformedURLException e) { e.printstacktrace(); Informationsteknologi #30 10

Stack Trace java.lang.nullpointerexception at se.uu.it110.icqui.icqclient.setstatus(icq- Client.java:102) at se.uu.it110.icqui.icqui$15.actionperformed(icqui.java:343) at javax.swing.jcombobox.fireactionevent(jcombobox.java:654) at javax.swing.jcombobox.selecteditemchanged(jcombobox.java:678) at javax.swing.jcombobox.contentschanged(jcombobox.java:730) at javax.swing.abstractlistmodel.firecontentschanged(abstractlistmode.java:82) at javax.swing.defaultcomboboxmodel.setselecteditem(defaultcomboboxmodel.java:90) at javax.swing.jcombobox.setselecteditem(jcombobox.java:377) at javax.swing.jcombobox.setselectedindex(jcombobox.java:414) at... Informationsteknologi #31 Swing Kap. 14 + SDK online docs: JPanel BorderLayout JLabel JButton JTextField Informationsteknologi #32 11