Java Introduktion. Historik. Beståndsdelar
|
|
- Britt Lindqvist
- för 7 år sedan
- Visningar:
Transkript
1 Java Introduktion Historik Java utvecklades ursprungligen av Sun Microsystems för att skriva kompakta program inbäddade i konsumentelektronik, t ex microvågsugnar och tvättmaskiner. Java skapades utifrån C++ syntax och SmallTalks idéer. ( SmallTalk är det första och hittills enda rent objektorienterade programspråket. I SmallTalk betraktas allting som objekt. Om du vill veta mer kan du läsa vidare på ) Målet för utvecklingen av Java var att utveckla ett säkert programspråk och man avlägsnade C++-konstruktioner som ansågs vara osäkra eller onödigt komplicerade och svåra att använda. Språket lanserades officiellt i november 1995 och har funnits i flera huvudversioner med en mängd underversioner. Den som används nu är Beståndsdelar Java är mer än ett språk, det är en hel utvecklingsplattform. Man kan se olika delar i Java: Språket själv (syntax + semantik) Java API (Application Programming Interface) Java API är ett klassbibliotek med färdiga klasser för gränssnittsprogrammering, ADT:er, etc. Java interpretator (java) Kör igång en eller flera.class-filer på en virtuell maskin. virtuell maskin (för plattformsoberoende) (JVM). Mjukvara som emulerar en java-dator, dvs en dator som kan exekvera bytecode i stället för maskinkod. Det finns en JVM för varje operativsystem. Appletviewer (för testkörning av applets) Dekompilator för undersökning av.class-filer (javap). Visar viktig information om gränssnittet mot en.class-fil så att man vet vilka egenskaper den har. Debugger (jdb) för felsökning. Dokumentationsgenererare (javadoc) Läser speciella /** javadoc-kommentarer */ och genererar HTML-kod från dessa. Garbage Collector (GC) Ett delprogram som tar hand om minnesdeallokering. Sveper över minnet då och då och ser om det finns områden som ingen använder men som är allokerade. Dessa deallokeras då av GC.
2 Applets och applikationer Man kan i Java skapa två sorters program. Applets små program som körs i en browser eller med appletviewer. Applikationer Självständiga program som dock kräver en JVM för att kunna köras. Egenskaper Enkelt Java är medvetet designat för att vara så enkelt som möjligt. Det finns t.ex. inga pekare, det har automatisk minneshantering, men trots enkelheten är språket komplett. Likt Språket liknar syntaxmässigt C/C++ mycket. Nästan all syntax och språkliga konstruktioner är identiska. Generellt Objektorienterat som Smalltalk, numeriskt som Fortran, systemspråk som C/C++, distribuerat som inget tidigare språk. Även om de flesta Javaprogram körs som applets i en browser och därmed i ett grafiskt gränssnitt, finns det möjligheter att skriva vanliga traditionella textbaserade applikationer. Objektorienterat Språket är fullt ut objektorienterat då det har stöd för klasser, arv och polymorfism. Plattformsoberoende Eftersom Java körs på en virtuell maskin kan program köras i olika datorer/operativsystem utan omkompilering (förutsatt att det finns en Java Virtual Machine installerad). Java är alltså oberoende av processor, operativsystem och användargränssnitt. Dynamiskt I stället för att länka in alla klasser till en stor exekverbar modul, laddas klasserna in vid behov. Nackdelen med detta är dock att effektiviteten blir lägre. En fördel är att storleken på själva applikationen som laddas ner över nätet kan hållas nere eftersom klasserna som används i den normalt sett finns i Javas lokala bibliotek.
3 Hårt typat Javas filosofi är att det är hårda kontroller vid kompileringen, för att minska risken för fel under exekveringen. Robust Inga pekare, automatisk minneshantering och stöd för undantagshantering gör det lättare att skapa program som inte kraschar. Säkert Java har stöd för att låta okända program exekvera under stark kontroll med begränsade rättigheter. (Det är i alla fall säkrare än andra liknande tekniker). Alla javaprogram körs i ett separat minnesområde och eftersom det inte är möjligt att använda pekare, kan man inte komma åt data utanför detta minnesområde. Dessutom kontrollerar interpretatorn koden innan den tillåts exekvera. Standardiserat Javaspråket, klassbiblioteken (dvs. API:erna) och Java Virtual Machine är specificerade i detalj vilket lämnar minimalt utrymme för tolkning. Javasoft testar applikationer och utvecklingsmiljöer och delar ut märket "100% Pure Java" till godkända produkter. Långsamt Java-språket i sig medför inte att Java-applikationer blir långsamma, utan det är det faktum att programmen körs i en Java Virtual Machine, dvs. ett extra mjukvaruskal, som gör att det kan bli långsammare. Man jobbar med olika trix för att få programmen snabbare: - Just-In-Time kompilatorer som omvandlar bytekod till maskinkod innan den exekveras, - vanlig kompilering till datorspecifik maskinkod utan att gå via bytekod, - adaptiv optimering av "Hot Spots" när program exekveras
4 Klassbibliotek (API:er) Java-standarden omfattar inte bara själva språket utan även ett antal API:er (klassbibliotek) och Java Virtual Machine. Java är därför att betrakta som en hel utvecklingsplattform. Exempel på API:er är: Filhantering Användargränssnitt Nätverkskommunikation De klassbibliotek som vi kommer att använda mest i denna kurs är.lang.io.util Traditionellt Applikation Språk Operativsystem Hårdvara Med Java Applikation Java Java Virtual Machine (JVM) Operativsystem Hårdvara Traditionellt API kontra Java-API
5 Standardiserade filnamn Bytekoden är ett standardiserat kompakt instruktionsformat för en virtuell Javamaskin. Bytekod kan alltså direkt flyttas mellan olika maskiner utan någon omkompilering. <Namn>.java Källkod <Namn>.class Bytekod Java Virtual Machine Källkoden kompileras till bytekod. Bytekoden lagras i en fil med samma filnamn som källkoden men med filändelsen.class och det är denna fil som sedan interpreteras av Java Virtual Machine. Versioner av Java Versionerna av Java styrs av den s.k. Java Development Kit (JDK) som Sun släpper vid varje ny version av Java. I JDK finns en Java Virtual Machine, Java-kompilator och samtliga standardbibliotek för Java. JDK är gratis och kan laddas ner över nätet. Språkändringar (=språktillägg) har varit små mellan olika versioner. Däremot har en hel del utökningar och ändringar skett i klassbiblioteken (även kallade Java API:er eller Javapaket). Det finns vissa språkliga inkompatibiliteter, dvs. ändringar som gör att program skrivna i en tidigare Java-version inte går att köra i en nyare Java-miljö. Dessa språkinkompatibiliteter beror enligt dokumentationen på att man velat täppa till säkerhetsluckor.
6 Att komma igång med Java Källkodsformat Enligt javadefinitionen så ska Unicode användas för Java-källkod, vilket innebär att nationella tecken som å, ä och ö kan användas. Java kontra Javascript JavaScript har inte mycket med språket Java att göra. JavaScript är ett scriptspråk som utvecklats av Netscape för att enkelt kunna lägga in enkla skript direkt i en HTML-sida. Viss syntax från Java har använts i JavaScript. Javafiler Java har en enkel filstruktur. Endast två typer av filer finns: ".java" och ".class"..java En källkodsfil som innehåller en Javaklass måste ha samma namn som klassen följt av suffixet ".java". Normalt innehåller en källkodsfil endast en klass (undantaget är s.k. inre klasser, något vi kommer att komma in på senare)..class När en källkodsfil (.java ) kompileras skapas en fil innehållande bytekod vilken får samma namn som källkodsfilen, men med suffixet ".class". Länkning Någon länkning sker aldrig i Java varför inga särskilda filer behövs för det. Istället läses klasser in dynamiskt vid exekveringen, och av den anledningen är det viktigt att ".class"- filerna har samma namn som klassen de innehåller så att JVM kan hitta klasserna under exekveringen. Olika utvecklingsmiljöer skapar dock andra typer av filer, t.ex. för att hålla reda på olika projekt, debuginformation etc. Om ni går in och tittar närmare i någon av mapparna med BlueJ-projekt som medföljer boken ser ni en rad olika filer. Det finns.java filer och i vissa fall även.class filer (om projektet kompilerats) men även en rad andra filer med andra filändelser. Det är projektfiler, specifika för BlueJ-miljön.
7 Modularisering och katalogstruktur Man har i Java två begrepp när det gäller att gruppera källkod i moduler. Del är det klassbegreppet och dels paketbegreppet. Ett paket grupperar ett antal klasser, och ligger således på en högre nivå än klassen. Klassnamn En javafil döps alltid till samma namn som klassen den innehåller. Om klassen i javafilen heter MinKlass ska filen alltså heta MinKlass.java. En klass med namnet MinKlass.java kompileras alltid till en fil med namnet MinKlass.class. Paketnamn På motsvarande sätt används paketnamnet för att namnge filkatalogen som innehåller filerna i paketet ifråga. Dvs. paketmekanismen styr hur koden lagras i olika kataloger i filsystemet. Paketnamnet kan bestå av flera delar åtskilda av punkt. Man kan på det sättet skapa en hierarki av paket vilken i filsystemet motsvaras av en hierarki av kataloger. På detta sätt får man möjlighet att dela upp en applikation i delsystem. Filer kan ligga på vilken nivå som helst i hierarkin. Exempel: Klassen java.awt.button ligger i katalogen <java-directory>/java/awt/ i en fil med namnet Button.class. Ett paket definierar en egen namnrymd. Dvs. samma namn på klasser, metoder och fält kan återanvändas i olika paket utan att konflikt uppstår. Källkodsfiler ".java" och bytekodsfiler ".class" lagras normalt i samma katalog. Miljövariabeln CLASSPATH används för att tala om för Java Virtual Machine var ens egna ".class"-filer ligger. Om ingen paket-deklaration görs så kommer klassen i filen att hamna i ett paket utan namn. En sådan klass är typiskt en klass som är helt applikationsspecifik och endast ingår i den applikation där den är definierad. I övningarna och laborationerna i denna kurs kommer vi inte att skapa egna paket, utan klasserna ni skapar kommer att tillhöra sådana namnlösa paket.
8 Kodningskonventioner Vi kommer att tillämpa de kodkonventioner, Code Conventions for the JavaTM Programming Language, som finns på Suns hemsida: Klassnamn och interface ska alltid inledas med versal. Exempel: MinKlassSak Metoder ska vara verb med gemen första bokstav. Inom namn används versal för att skilja på ord. Exempel: dosomethingwiththisthing Konstanter ska vara enbart versaler. Exempel: SIZE, NUMBEROFTHINGS Variabler har gemen första bokstav. Variabler bestående av flera ord kapitaliserar första bokstaven i varje ord precis som för metoder. Exempel: MinKlassSak mittlillaobjekt Använd alltid {} där sammansatta satser kan skrivas. (För alla C++ programmerare är detta knappast nödvändigt, men Javas konvention är sådan.) Exempel: if ( a.test( ) ) { a.miffo( ); } Bara en javasats per källkodsrad. Applikationer och applets I Java kan man skriva program av två olika typer, dels Java-applikationer och dels Javaapplets. Java-applikationer exekverar som fristående program, medan Java-applets exekveras från ett annat program (normalt en webbläsare). Vi kommer att börja med att skriva applikationer. Applets kommer att introduceras i senare moduler. Java-applikationer och main-metoden Det som särskiljer en Java-applikation ifrån en Java-applet är att Java-applikationen alltid innehåller en main-metod i den "huvudklass" som man startar applikationen med. Programexemplen nedan visar en jämförelse mellan C++ och en Java-applikation och innehåller definitionen av main metoderna. Hur en Java-applikation kompileras och körs går vi igenom i kompendiet Att kompilera Javafiler.
9 //Hello World skriven i C++ #include <iostream.h> void main(void) { cout << Hello, World << endl; } //Hello World skriven i Java import java.io.*; class HelloWorld { public static void main(string[] args) { System.out.println("Hello World!"); //Display the string. } } Signaturen för main-metoden innehåller tre modifierare: public indikerar att metoden kan anropas från vilket objekt som helst static indikerar att metoden är en s.k. klass-metod void indikerar att metoden inte returnerar något värde Main-metoden accepterar ett argument vilket är en array med element av typen String. Om man vid start av programmet skriver in några argument efter klass-namnet så läggs varje sådant argument in i ett element i arrayen args. Utvecklingsmiljöer för Java Den grundläggande utvecklingsmiljön för Java är Java Development Kit (SDK) från JavaSoft. SDK utgör en referens för Java, dvs. SDK bestämmer vad som är "standard Java". SDK är en kommandoradsbaserad miljö. SDK kan laddas ner gratis från java.sun.com och innehåller: Java kompilator Java Virtual Machine (JVM) Java klassbibliotek Java AppletViewer Java Debugger och andra verktyg Dokumentation (laddas separat) Java SDK finns också på CDn som medföljer kursboken.
10 Kommandot för att kompilera fil innehållande en klass: >javac <filnamn>.java (filnamn = namnet för klassen som filen innehåller) Kommandot för att starta JVM och exekvera ett program: >java <klassnamn> (klassnamn för klassen med main-metoden; inget suffix)
Java: Utvecklingsverktyg, datatyper, kontrollstrukturer
Java: Utvecklingsverktyg, datatyper, kontrollstrukturer Sven-Olof Nyström Uppsala Universitet 13 juni 2005 1 Utvecklingsverktyg för Java Vi rekommenderar Suns utvecklingsverktyg (SDK, tidigare JDK), se
Läs merFöreläsning 1. Presentation av kursen Vad är programmering? Lite om java och utvecklingsmiljöer Aktivitetsdiagram Ett första program
Föreläsning 1 Presentation av kursen Vad är programmering? Lite om java och utvecklingsmiljöer Aktivitetsdiagram Ett första program Deitel: 1.1-1.9, 2.1-2.3 DA101A Programmering Programmering, DA101A Kursansvarig:
Läs merLektion Java Grunder. Javas historia. Programmeringsspråket Java. Skillnaderna mellan Java och C++ JVM (Javas Virtuella Maskin)
Lektion Java Grunder Javas historia Ursprungligen utvecklades Java (1991) för att användas i olika typer av konsumentelektronik (mikrovågsugnar, videoapparater) av programmerare på Sun. Språket kallades
Läs merGrundläggande programmering DVG A08 & ISG A04. Allmän information. Å vem är jag då. Karlstads Universitet, Johan Öfverberg 1
Grundläggande programmering DVG A08 & ISG A04 Allmän information Grupp C och D slås ihop Schemat är ändrat Kurs i programmering utan förkunskaper Hjälp oss med detta Lita inte på era klasskamrater De ställer
Läs mer(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
(Man brukar säga att) Java är... Denna föreläsning Allmänt om Java Javas datatyper, arrayer, referenssemantik Klasser Strängar enkelt baserat på C/C++ objekt-orienterat från början dynamiskt utbyggbart
Läs merOOP Objekt-orienterad programmering
OOP Objekt-orienterad programmering OOP F1:1 Delkursansvarig Epost Kursens webbsidor sm@fc.dsv.su.se http://people.dsv.su.se/~sm/oop/ Föreläsning 1 Introduktion till kursen OOP Vad är Java? Ett första
Läs merAtt använda Java SE JDK 6
Att använda Java SE JDK 6 Programmeringsspråket Java är utvecklat av det amerikanska företaget Sun Microsystems. Sun erbjuder gratis en utvecklingsmiljö för java-programmering, Java 2 SE (Standard Edition).
Läs merOOP F1:1. Föreläsning 1. Introduktion till kursen OOP Vad är Java? Ett första Java-program Variabler Tilldelning. Marie Olsson
OOP F1:1 Föreläsning 1 Introduktion till kursen OOP Vad är Java? Ett första Java-program Variabler Tilldelning OOP Objekt-orienterad programmering Delkursansvarig: First Class-konferens: Kursens webbsidor:
Läs merAtt använda Java SE JDK 6
Att använda Java SE JDK 6 Programmeringsspråket Java är utvecklat av det amerikanska företaget Sun Microsystems. Sun erbjuder gratis en utvecklingsmiljö för java-programmering, Java 2 SE (Standard Edition).
Läs merObjektorienterad programmering i Java I
Laboration 0 Objektorienterad programmering i Java I Uppgifter: 2 Beräknad tid: ca 2 3 timmar Att läsa: sidan 45 52 Syfte: Att ladda hem och installera utvecklingsmiljön Att skriva ditt första Javaprogram
Läs merInledande programmering med C# (1DV402) Introduktion till C#
Introduktion till C# Upphovsrätt för detta verk Detta verk är framtaget i anslutning till kursen Inledande programmering med C# vid Linnéuniversitetet. Du får använda detta verk så här: Allt innehåll i
Läs merÖvning 1. Datateknik A, Java I, 5 poäng. Att ladda hem och installera Java Att skriva ditt första Javaprogram Att kompilera och exekvera ditt program
Datateknik A, Syfte: Att ladda hem och installera Java Att skriva ditt första Javaprogram Att kompilera och exekvera ditt program Att läsa: Lektion 1 Antal uppgifter: 3 Inlämning: Sker via inlämningsuppgifter
Läs merProgrammering i C++ Kompilering från kommandoraden
Programmering i C++ Kompilering från kommandoraden Sven Gestegård Robertz Datavetenskap, LTH 9 november 2015 Sammanfattning Ibland vill man, av olika anledningar, inte använda en stor integrerad utvecklingsmiljö
Läs merNetBeans 7. Avsikt. Projektfönster
NetBeans 7 Avsikt Att bekanta dig med NetBeans programmeringsmiljö, dvs att med hjälp av NetBeans 1. skapa ett nytt projekt 2. skriva in källkod (sparas som.java-fil) 3. kompilera (översätta) koden till
Läs merObjektorienterad programmering i Java. Föreläsning 5 Kort om Java-Applets
Objektorienterad programmering i Java Föreläsning 5 Kort om Java-Applets 1 Läsanvisningar Den här föreläsningen syftar till att ge en bild av vad en Java-Applet är och är ganska fristående från föregående
Läs merProgrammering med Java. Grunderna. Programspråket Java. Programmering med Java. Källkodsexempel. Java API-exempel In- och utmatning.
Programmering med Java Programmering med Java Programspråket Java Källkodsexempel Källkod Java API-exempel In- och utmatning Grunderna Ann Pan panda@nada.kth.se Rum 1445, plan 4 på Nada 08-7909690 Game.java
Läs merKompilera och exekvera Javakod
Kompilera och exekvera Javakod Förberedelser För att kunna göra dessa övningar måste du ha installerat Java Development Kit, JDK, som bland annat innehåller Java kompilatorn, javac. Hur du installerar
Läs merEclipse. Avsikt. Nu ska ett fönster liknande figuren till höger synas.
Eclipse Avsikt Att bekanta dig med Eclipse programmeringsmiljö, dvs att med hjälp av Eclipse 1. skapa ett nytt projekt 2. skriva in källkod (sparas som.java-fil) 3. kompilera (översätta) koden till byte-kod
Läs merFöreläsning 2. Operativsystem och programmering
Föreläsning 2 Operativsystem och programmering Behov av operativsystem En dator så som beskriven i förra föreläsningen är nästan oanvändbar. Processorn kan bara ges enkla instruktioner såsom hämta data
Läs merITK:P1 Föreläsning 1. Programmering. Programmeringsspråket Java. Stark typning Explicit typning Strukturerat Hög säkerhet
ITK:P1 Föreläsning 1 Att programmera i språket Java DSV Peter Mozelius Programmering Olika typer av programmering som t ex: o Imperativ programmering (C, Pascal m fl) o Funktionell programmering (Lisp,
Läs merObjektorienterad programmering i Java
bild 1 Objektorienterad programmering i Java Föreläsning 1 Kapitel 1-3 i kursboken Java Software Solutions bild 2 Läsanvisningar Kapitel 1 är en repetition av det ni förväntas kunna sedan tidigare. Det
Läs merSMD 134 Objektorienterad programmering
SMD 134 Objektorienterad programmering Lärare: pl@cdt.luth.se A 3113 Tomas Klockar klockar@sm.luth.se A 3019 Mats Folke folke@sm.luth.se A 3019 Labhandledare: Natasja Saburova Fredrik Jonsson Lars Persson
Läs merNetBeans 5.5. Avsikt. Projektfönster
NetBeans 5.5 Avsikt Att bekanta dig med NetBeans programmeringsmiljö, dvs att med hjälp av NetBeans 1. skapa ett nytt projekt 2. skriva in källkod (sparas som.java-fil) 3. kompilera (översätta) koden till
Läs merJAVAUTVECKLING LEKTION 1
JAVAUTVECKLING LEKTION 1 2016 Mahmud Al Hakim mahmud.al.hakim@nackademin.se www.alhakim.se AGENDA Introduktion till kursen Java historik och särdrag Javautvecklarens yrkesroll Installation och konfiguration
Läs merTDDD78, TDDE30, 729A Introduktion till Java -- för Pythonprogrammerare
TDDD78, TDDE30, 729A85 jonas.kvarnstrom@liu.se 2018 Introduktion till Java -- för Pythonprogrammerare Historia: C, C++ 3 Historia: Oak 1 4 1990: Sun Microsystems påbörjade projekt StarSeven Avancerad
Läs merVem är vem på kursen. Objektorienterad programvaruutveckling GU (DIT011) Kursbok Cay Horstmann: Big Java 3rd edition.
Institutionen för Datavetenskap Göteborgs universitet HT2009 DIT011 Vem är vem på kursen Objektorienterad programvaruutveckling GU (DIT011) Kursansvarig : Katarina Blom, tel 772 10 60 Rum: 6126 (E-huset)
Läs merLaboration 10 - Eclipse
Laboration 10 - Eclipse Avsikten med laborationen är att du ska träna på att använda paket, att du ska packa några klassfiler i en jar-fil och slutligen använda innehållet i en jar-fil från en annan klass
Läs merHär beskrivs Eclipse, den programutvecklingsmiljö som utnyttjas i programmeringskurserna. Mera information finns på:
Bilaga C Eclipse 1 Inledning Här beskrivs Eclipse, den programutvecklingsmiljö som utnyttjas i programmeringskurserna. Mera information finns på: www.eclipse.org help.eclipse.org www.eclipse.org/downloads/
Läs merArv. Fundamental objekt-orienterad teknik. arv i Java modifieraren protected Lägga till och modifiera metoder med hjälp av arv Klass hierarkier
Arv Fundamental objekt-orienterad teknik arv i Java modifieraren protected Lägga till och modifiera metoder med hjälp av arv Klass hierarkier Programmeringsmetodik -Java 165 Grafisk respresentation: Arv
Läs merLÖSNINGSFÖRSLAG Programmeringsteknik För Ing. - Java, 5p
UMEÅ UNIVERSITET Datavetenskap 010530 LÖSNINGSFÖRSLAG Programmeringsteknik För Ing. - Java, 5p Betygsgränser 3 21,5-27 4 27,5-33,5 5 34-43 Uppgift 1. (4p) Hitta de fel som finns i nedanstående klass (det
Läs merFöreläsning 2 Verktyg m.m.
Föreläsning 2 Verktyg m.m. Innehåll Java-paket Utvecklingsmiljö (development environment) Hur man organiserar sin utvecklingsmiljö Verktyg (tools) Editorer, debuggers, IDE's (integrated development environments),
Läs merIntroduktion till programmering och Python Grundkurs i programmering med Python
Introduktion till programmering och Python Hösten 2009 Dagens lektion Vad är programmering? Vad är en dator? Filer Att tala med datorer En första titt på Python 2 Vad är programmering? 3 VAD ÄR PROGRAMMERING?
Läs merIntroduktion till programmering. Programspråk och paradigmer
Introduktion till programmering Programspråk och paradigmer Vad är ett programspråk? Aprogramming languageis a formal constructedlanguagedesigned to communicate instructions to a machine, particularly
Läs merKort om klasser och objekt En introduktion till GUI-programmering i Java
Kort om klasser och objekt En introduktion till GUI-programmering i Java Klasser En klass är en mall för hur man ska beskriva på något. Antag att vi har en klass, Bil. Den klassen innehåller en lista på
Läs mer732G Linköpings universitet 732G11. Johan Jernlås. Översikt. Repetition. Felsökning. Datatyper. Referenstyper. Metoder / funktioner
732G11 Linköpings universitet 2011-01-21 1 2 3 4 5 6 Skapa program Kompilera: Källkod Kompilator bytekod Köra: Bytekod Virtuell maskin Ett riktigt program Hej.java class Hej { public static void main (
Läs merEditering, Kompilering och Exekvering av Javaprogram
UMEÅ UNIVERSITET Institutionen för informatik B.1, Programmeringens grunder, 5 poäng Editering, Kompilering och Exekvering av Javaprogram Introduktion Syftet med kursmomentet Programmeringens grunder (B.1)
Läs merObjektorienterade programmeringsspråk. Objektorienterade språk. Den objekt-orienterade modellen. Jämför med icke-oo
Objektorienterade språk Historik Simula 67 Smalltalk 80 Procedurorienterad programmering Subprogram Programbibliotek Dataorienterad programmering Abstrakta datatyper Objektbaserade språk, föregångare till
Läs merProgrammering för språkteknologer II, HT2011. Rum
Programmering för språkteknologer II, HT2011 evelina.andersson@lingfil.uu.se Rum 9-2035 http://stp.ling.uu.se/~evelina/uv/uv11/pst2/ Kursplan Mål Efter avslutad kurs skall studenten för att förtjäna betyget
Läs merLaboration 10 - NetBeans
Laboration 10 - NetBeans Avsikten med laborationen är att du ska träna på att använda paket, att du ska packa några klassfiler i en jar-fil och slutligen använda innehållet i en jar-fil från en annan klass
Läs merObjektorienterad Programkonstruktion. Föreläsning 3 9 nov 2015
Objektorienterad Programkonstruktion Föreläsning 3 9 nov 2015 Kursnämnd Namn kommer... UML: Klassdiagram UML: Relationer Ärver från superklass Implementerar gränssnitt Dubbelriktad eller oriktad relation
Läs merObjektorienterad Programkonstruktion. Föreläsning 3 7 nov 2016
Objektorienterad Programkonstruktion Föreläsning 3 7 nov 2016 Klass/instans Med hjälp av nyckelordet static kan vi bestämma att en metod eller ett fält ska tillhöra själva klassen i stället för en specifik
Läs merFå en förståelse för vad Java är och hur det har utvecklats fram till idag. Få en inblick i de delar vi kommer att behandla i senare lektioner.
Datateknik A, Syfte: Få en förståelse för vad Java är och hur det har utvecklats fram till idag. Få en inblick i de delar vi kommer att behandla i senare lektioner. Att läsa: Kursbok, Kapitel 1 (sida 5
Läs mer2I1049 Föreläsning 9. Iterativ programutveckling. Iterativ programutveckling. Modularisering, återanvändning och JavaBeans
2I1049 Föreläsning 9 Modularisering, återanvändning och JavaBeans KTH-MI Peter Mozelius Iterativ programutveckling Iterativ utveckling evolutionär utveckling inkrementell utveckling Att bygga programmen
Läs merKort repetition. Programmeringsteknik för Bio1 och I1. Vad ska vi lära oss idag? Ett exempel
Programmeringsteknik för Bio1 och I1 Övning 2 Kort repetition Övningsgrupp 3 (Sal E33) Johannes Hjorth hjorth@nada.kth.se Rum 4538 på plan 5 i D-huset 08-790 69 02 Kurshemsida: http://www.nada.kth.se/kurser/kth/2d1310/
Läs merInledning. Vad är ett datorprogram, egentligen? Olika språk. Problemlösning och algoritmer. 1DV433 Strukturerad programmering med C Mats Loock
Inledning Vad är ett datorprogram, egentligen? Olika språk Problemlösning och algoritmer 1 (14) Varför använda en dator? Genom att variera de program som styr datorn kan den användas för olika uppgifter.
Läs merKompilering och exekvering. Föreläsning 1 Objektorienterad programmering DD1332. En kompilerbar och körbar java-kod. Kompilering och exekvering
Föreläsning 1 Objektorienterad programmering DD1332 Introduktion till Java Kompilering, exekvering, variabler, styrstrukturer Kompilering och exekvering Ett program måste översättas till datorns språk
Läs merJavaprogrammering - Del 1. Kursupplägg. Hello world. Kompilera. Kör. Environmentvariabler. föreläsningar övningar 1, 2, 3 och 4 INLÄMNINGSUPPGIFT 2
Javaprogrammering - Del 1 Java allmänt Objektorientering - polymorfism Kursupplägg föreläsningar övningar 1, 2, 3 och 4 INLÄMNINGSUPPGIFT 2 tentamen 1 2 Hello world Kompilera 3 4 Kör Environmentvariabler
Läs merDI-institutionen Sid 1 av 6 Hans-Edy Mårtensson Sten Sundin
DI-institutionen Sid 1 av 6 Hans-Edy Mårtensson Sten Sundin TENTAMEN I IKB007 INTERNETPROGRAMMERING MED JAVA för SY2 1999-03-17, kl 14.00-18.00 Hjälpmedel: En lärobok i Java programmering Återlämningstillfälle:
Läs merEclipse en handledning
LUNDS TEKNISKA HÖGSKOLA EDAA01 Programmeringsteknik fördjupningskurs Institutionen för datavetenskap VT 2015 Eclipse en handledning 1 Inledning Här beskrivs Eclipse, den programutvecklingsmiljö som utnyttjas
Läs merOOMPA 2D1359 Föreläsning 3
OOMPA 2D1359 Föreläsning 3 Objektorienterad Modellering Programmering och Analys Objektorientering grunder-2 l Komponenter och beteende l CRC-kort Teknik för att beskriva och ta fram objekt, klasser och
Läs merProgrammering för språkteknologer I, VT2012. Rum
Programmering för språkteknologer I, VT2012 evelina.andersson@lingfil.uu.se Rum 9-2035 http://stp.lingfil.uu.se/~evelina/uv/uv12/pst1/ Idag - Kursplan - Börja programmera - Lokala variabler - aritmetiska
Läs mer1 Språket C Valet av språket C++ för kompendiet. 1.2 Språket. 1.3 Att programmera. 1.4 Hello World Börja programmera
1 Språket C++ 1.1 Valet av språket C++ för kompendiet Språket C++ är ett språk som utvecklats för storskalig objektorienterad utveckling av sofistikerade och komplexa system. Det ligger då i sakens natur
Läs merObjektorienterad Programmering DAT043. Föreläsning 1 15/1-18 Moa Johansson
Objektorienterad Programmering DAT043 Föreläsning 1 15/1-18 Moa Johansson Information Lärare: Moa Johansson Assistenter: Klara Granbom Niklas Gustafsson Elias Hällqvist Jakob Wall (lab mån) (lab fre) (lab
Läs merJAVA Mer om klasser och objektorientering
JAVA Mer om klasser och objektorientering Begreppet package - paket Package används när man t ex vill skapa ett eget bibliotek med klasser. Sen är det då meningen att man ska importera detta paket i det
Läs merKompilering av Java-program med eclipse SDK för den som kan BlueJ
1 (5) Kompilering av Java-program med eclipse SDK för den som kan BlueJ Inledning Eclipse är ett kraftfullt kodutvecklingsverktyg för Java. Det kan laddas ner gratis från www.eclipse.org. I detta papper
Läs merEn livsmedelsbutik på Internet
Innehåll 1 Inledning...1 1.1 Ord som kanske behöver förklaras...1 2 Uppgiften...3 3 Att handla mat via Internet???...5 3.1 Design...5 3.2 Implementation...5 3.3 Utvärdering...6 4 Val av implementationsmetod...7
Läs merIntroduktion till Datalogi DD1339. Föreläsning 2 22 sept 2014
Introduktion till Datalogi DD1339 Föreläsning 2 22 sept 2014 Namn Fält1 Fält2 Fält3 Metod1 Metod2 Metod3 Metod4 public class { public class { Åtkomst, public betyder fullt tillgänglig utifrån public
Läs mer725G61 - Laboration 7 Implementation av ett API. Johan Falkenjack
725G61 - Laboration 7 Implementation av ett API Johan Falkenjack December 13, 2013 1 Inledning Hittills i kursen har vi tittat på grundläggande programmering och grundläggande objektorientering. I den
Läs merObjektorienterad programmering i Java I. Uppgifter: 2 Beräknad tid: 5-8 timmar (OBS! Endast ett labbtillfälle) Att läsa: kapitel 5 6
Laboration 2 Objektorienterad programmering i Java I Uppgifter: 2 Beräknad tid: 5-8 timmar (OBS! Endast ett labbtillfälle) Att läsa: kapitel 5 6 Syfte: Att kunna använda sig av olika villkors- och kontrollflödeskonstruktioner
Läs merTentamen , Introduktion till Java, dtaa98, dtea53
Mittuniversitetet 2007-09-01 Institutionen för informationsteknologi och medier Sid:1(3) dtaa98, dtea53 Martin Kjellqvist; Linda Karlsson, Ulf Reiman Lösningsansatser Tentamen 2007-09-01, Introduktion
Läs merVerktyg och Utvecklingsmiljö. Jochim von Hacht
Verktyg och Utvecklingsmiljö Jochim von Hacht Verktyg Modern programutveckling innebär att man måste behärska ett antal verktyg Editorer Kompilatorer Avlusare (debugger) Versionhantering (kommer i projektkurs)
Läs merTDDD78, TDDE30, 729A Introduktion till Java -- för Pythonprogrammerare
TDDD78, TDDE30, 729A85 jonas.kvarnstrom@liu.se 2019 Introduktion till Java -- för Pythonprogrammerare Historia: C, C++ 3 Historia: Oak 1 4 1990: Sun Microsystems påbörjade projekt StarSeven Avancerad
Läs merVerktyg och Utvecklingsmiljö. Föreläsning 2 Eclipse
Verktyg och Utvecklingsmiljö Föreläsning 2 Eclipse Verktyg Modern programutveckling innebär att man måste behärska ett antal verktyg. Editorer Kompilatorer Avlusare(debugger) Versionshantering(kommer i
Läs merArv: Fordonsexempel. Arv. Arv: fordonsexempel (forts) Arv: Ett exempel. En klassdefinition class A extends B {... }
En klassdefinition class A extends B {... Arv definierar en klass A som ärver av B. Klassen A ärver alla fält och metoder som är definierade för B. A är en subklass till B. B är en superklass till A. class
Läs merIntroduktion till arv
Introduktion till arv 6 INTRODUKTION TILL ARV Arv Generell-Speciell Arv för att utnyttja det vi redan gjort Återanvändning Basklass Härledd klass Varför arv? Inför en subklass för att uttrycka specialisering
Läs merAtt skriva till och läsa från terminalfönstret
Att skriva till och läsa från terminalfönstret Oftast används grafiska komponenter i Java för att kommunicera med användaren (användargränssnitt), men det finns objekt i standardbiblioteken för de tillfällen
Läs merInnehåll. Introduktion till objektorientering. OOP (objektorienterad programmering) Objekt, instanser, klasser
Föreläsning 1 Innehåll Introduktion till objektorientering OOP (objektorienterad programmering) Objekt, instanser, klasser C++ OO i C++ Standardbibliotek Utökningar från C (syntaktiskt socker) Introduktion
Läs merTDDC77 Objektorienterad Programmering
TDDC77 Objektorienterad Programmering Föreläsning 1 Sahand Sadjadee IDA, Linköpings Universitet Hösttermin, 2018 Outline Kursinfo Introduktion till Programmering Java Development Kit(JDK) Kursinfo Hemsida
Läs merInnehålls förteckning
Programmering Uppsats i skrivteknik Axxell Företagsekonomi i informationsteknik 19.3.2015 Respondent: Tomas Björklöf Opponent: Theo Wahlström Handledare: Katarina Wikström Innehålls förteckning 1. Inledning...3
Läs merSå här skriver du ditt första program i C++
Så här skriver du ditt första program i C++ Introduktion till att skapa Solution, Project och källkodsfil i Visual Studio 2013 Författare Anne Norling Kurs: Strukturerad programmering med C++ Kurskod:1DV433
Läs merKlassen javax.swing.timer
Klassen javax.swing.timer I Swing finns en klass Timer som man kan använda för att upprepa en vis kodsekvens med jämna tidsmellanrum. Ett objekt av klassen Timer exekveras som en egen tråd. Ett objekt
Läs merInledande programmering med C# (1DV402) Ditt första C#-program med Visual Studio
Ditt första C#-program med Visual Studio Upphovsrätt för detta verk Detta verk är framtaget i anslutning till kursen Inledande programmering med C# vid Linnéuniversitetet. Du får använda detta verk så
Läs merImperativ programmering. Föreläsning 4
Imperativ programmering 1DL126 3p Föreläsning 4 Imperativa paradigmer Ostrukturerad programmering Strukturerad programmering Procedurell programmering Objektorienterad programmering Klassbaserad programmering
Läs merProgramsystemkonstruktion med C++: Övning 1. Karl Palmskog september 2010
Programsystemkonstruktion med C++: Övning 1 Karl Palmskog palmskog@kth.se september 2010 Programuppbyggnad Klassens uppbyggnad en C++-klass består av en deklaration och en definition deklaration vanligtvis
Läs merLektion 2. Datateknik A, Java I, 5 poäng
Datateknik A, Syfte: Att förstå vad klasser och objekt är. Hur vi skriver egna enkla klasser för att sen skapa objekt av dessa. Prova på att använda metoder för att manipulera data i ett objekt. Lära sig
Läs merDesign av interaktiv multimedia. Läs i förväg om det som övningarna kommer att beröra. Träna hemma både före och efter övningarna.
Använd olika lager. Döp lagren! Organisera era bibliotek! Design av interaktiv multimedia Ge era symboler instansnamn för att hitta dem med AS. Nytt för denna kurs: Ingen ActionScript-kod i.fla-filen!
Läs mer2 Eclipse en handledning
2 Eclipse en handledning Inledning Här beskrivs Eclipse, den programutvecklingsmiljö som utnyttjas i programmeringskurserna. Mera information finns på: http://www.eclipse.org http://help.eclipse.org http://www.eclipse.org/downloads/
Läs merIngenjörsfirman Stéen 2001-12-13 Java Sida 1 av 1
Java Sida 1 av 1 Java Mål och Syfte Målet med denna kurs i Java är att du direkt efteråt ska kunna börja utveckla dina första Javaapplikationer. Kursen ger dig många konkreta exempel på hur detta effektiva
Läs merI Skapa Hej.java och skriv programmet. I Kompilera med javac Hej.java. I Rätta fel och repetera tills du lyckas kompilera ditt program
Kompilera och köra programmet Objektorienterad Programmering (TDDC77) Föreläsning II: utmatning, variabler, typer Ahmed Rezine IDA, Linköpings Universitet Hösttermin 2016 under terminal 2: I Skapa Hej.java
Läs merObjektorienterad Programmering (TDDC77)
Objektorienterad Programmering (TDDC77) Föreläsning II: utmatning, variabler, typer Ahmed Rezine IDA, Linköpings Universitet Hösttermin 2016 Kompilera och köra programmet under terminal 2: I Skapa Hej.java
Läs merObjektorientering/1.2. 3 Klasser
3 Klasser 3.1 Att hantera många objekt 3.2 Klasser 3.3 Krav för att bilda en klass 3.4 Får två objekt vara helt identiska? 3.5 Måste vi använda klasser i objektorientering? 3.6 En klassbeskrivning 3.7
Läs merJava: kort introduktion. Trådar. Något om mutex, Dekkers algoritm och monitorer. Javas ("inbyggda monitor") synchronized.
2EMHNWRULHQWHUDG5HDOWLGVSURJUDPPHULQJ Java: kort introduktion. Trådar. Något om mutex, Dekkers algoritm och monitorer. Javas ("inbyggda monitor") synchronized. previous next Java Java är konstruerat på
Läs merFöreläsning 8 - del 2: Objektorienterad programmering - avancerat
Föreläsning 8 - del 2: Objektorienterad programmering - avancerat Johan Falkenjack johan.falkenjack@liu.se Linköpings universitet Sweden December 4, 2013 1 Innehåll Arv och andra viktiga begrepp Abstrakta
Läs merUppgiften är att beskriva en kvadrat i ett Java program. En första version av programmet skulle kunna se ut så här:
Att skapa en klass kvadrat Uppgiften är att beskriva en kvadrat i ett Java program. En första version av programmet skulle kunna se ut så här: public class Kvadrat { private int sida; Det var väl inte
Läs merFöreläsning 2. Täcker material från lektion 1, 2, 3 och 4:
(22 januari 2016 F2.1 ) Föreläsning 2 Täcker material från lektion 1, 2, 3 och 4: Datatyper Aritmetik Tecken och strängar Klasser, Objekt Metoder Villkor, villkorssatser och iterationer main-metoden Kodstandard
Läs merDagens program. Programmeringsteknik och Matlab. Objektorienterad programmering. Vad är vitsen med att ha både metoder och data i objekten?
Programmeringsteknik och Matlab Övning 4 Dagens program Övningsgrupp 2 (Sal Q22/E32) Johannes Hjorth hjorth@nada.kth.se Rum 4538 på plan 5 i D-huset 08-790 69 02 Kurshemsida: http://www.nada.kth.se/kurser/kth/2d1312
Läs merKompilatorteknik. Görel Hedin Datavetenskap Lunds Tekniska Högskola. Temaföreläsning, Datorer i system, 2014
Kompilatorteknik Görel Hedin Datavetenskap Lunds Tekniska Högskola Temaföreläsning, Datorer i system, 2014 En typisk kompilator programkod while (a >= 0) { } kompilator maskinkod 0024 6050 2530 0000 0000
Läs merFöreläsning 3. Programmering, C och programmeringsmiljö
Föreläsning 3 Programmering, C och programmeringsmiljö Vad är programmering? Ett väldigt kraftfullt, effektivt och roligt sätt att kommunicera med en dator Att skapa program / applikationer till en dator
Läs merHögskolan Dalarna sid 1 av 7 DI-institutionen Hans-Edy Mårtensson Sten Sundin
Högskolan Dalarna sid 1 av 7 DI-institutionen Hans-Edy Mårtensson Sten Sundin TENTAMEN I IKB007 INTERNETPROGRAMMERING MED JAVA, 5p för SY2 2001-03-16, kl 14.00-18.00 Hjälpmedel: Inga hjälpmedel är tillåtna
Läs merObjektorienterad Programkonstruktion, DD1346 FACIT. Tentamen 20150613, kl. 9.00-12.00
Skolan för datavetenskap och kommunikation Objektorienterad Programkonstruktion, DD1346 FACIT Tentamen 20150613, kl. 9.00-12.00 Tillåtna hjälpmedel: Papper, penna och radergummi. Notera: Frågorna i del
Läs merProgrammering med Java. Grunderna. Programspråket Java. Programmering med Java. Källkodsexempel. Java API-exempel In- och utmatning.
Programmering med Java Programmering med Java Programspråket Java Källkodsexempel Källkod Java API-exempel In- och utmatning Grunderna Erik Forslin ÓÒ º Ø º Rum 1445, plan 4 på Nada 08-7909690 Game.java
Läs merDUGGA: Objektorienterade applikationer. Läs detta! Uppgifterna är inte avsiktligt ordnade efter svårighetsgrad.
1 (8) DUGGA: Objektorienterade applikationer Läs detta! Uppgifterna är inte avsiktligt ordnade efter svårighetsgrad. Skriv ditt namn, personnummer och e-postadress på försättsbladet. Skriv rent dina svar.
Läs merProgrammering i C++ En manual för kursen Datavetenskaplig introduktionskurs 5p
Programmering i C++ En manual för kursen Datavetenskaplig introduktionskurs 5p Skriven av Michael Andersson Introduktion Programmering I högnivåspråk fokuserar på själv problemet (algoritmen) istället
Läs merProgramutveckling med Java Development Kit. (JDK 1.1.x) och Programmers File Editor (PFE 7.02)
UMEÅ UNIVERSITET Institutionen för datavetenskap Thomas Johansson Oktober 1998 Programutveckling med Java Development Kit (JDK 1.1.x) och Programmers File Editor (PFE 7.02) Umeå universitet 901 87 Umeå.
Läs merPROGRAMMERING. Ämnets syfte. Kurser i ämnet
PROGRAMMERING Ämnet programmering behandlar programmeringens roll i informationstekniska sammanhang som datorsimulering, animerad grafik, praktisk datoriserad problemlösning och användaranpassad konfiguration
Läs merl uppgiftsformulering l algoritmkonstruktion l verifikation l kodning l testning och avlusning l validering l dokumentering l underhœll Kapitel 2
Strukturerad programmering l uppgiftsformulering l algoritmkonstruktion l verifikation l kodning l testning och avlusning l validering l dokumentering l underhœll 1 2 Olika ansatser Begrepp Den manipulativa/imperativa
Läs merEclipse en handledning
LUNDS TEKNISKA HÖGSKOLA VT 2014 Institutionen för datavetenskap Eclipse en handledning 1 Inledning Här beskrivs Eclipse, den programutvecklingsmiljö som utnyttjas i programmeringskurserna. Mera information
Läs merAnteckningar 1: Grundläggande saker
UPPSALA UNIVERSITET Institutionen för lingvistik och filologi Mats Dahllöf http://stp.ling.uu.se/ matsd/uv/uv11/pst1/ Programmering för språkteknologer I Anteckningar 1: Grundläggande saker 1 Programmering
Läs merClasses och Interfaces, Objects och References, Initialization
Classes och Interfaces, Objects och References, Initialization Objekt-orienterad programmering och design (DIT953) Niklas Broberg/Johannes Åman Pohjola, 2018 Abstract class En abstract class är en class
Läs merTUTORIAL: SAMLING & KONSOLL
TUTORIAL: SAMLING & KONSOLL Denna tutorial är en fortsättning på den tutorial där vi skapade klassen Car och sedan objekt av denna klass. Vi skall nu lära oss att lagra dessa objekt i en samling och även
Läs mer