Jonny Karlsson 6.11.2006 1 INTRODUKTION TILL PROGRAMMERING Föreläsning 1 (6.11.2006) INNEHÅLL: -Introduktion av kursen -Vad är programmering? -Programmeringsspråk.

Slides:



Advertisements
Liknande presentationer
Avlusning Debugger (”avlusare”) Breakpoints Watch.
Advertisements

INTRODUKTION TILL PROGRAMMERING
F2 - Intro till Java1 Föreläsning 2 - Intro till Java  Sammanfattning av Lektion 1 (kap 2): • Vad behövs för att kunna programmera? • DrJava • Java •
Föreläsning1. • Boken?!?! • Vad är ett program? • Kompilerande-Interpreterande • Programmeringsmiljö • Hello World! • Att programmera och ett enkelt program.
Programmering B PHP Lektion 1
Next previous Internetprogrammering 2000 Internetprogrammering 2000 Föreläsning 10 Distribuerad programmering med Javas RMI, Remote Method Invocation.
Programmeringsteknik I: F1 1 Föreläsning 1: Intro till kursen och programmering Kursens hemsida Studentportalen.
Metoder i java Det finns två typer av metoder i java
Välkommen Vahid Mosavat
Programmeringsteknik K och Media
Att programmera i språket Java
INTRODUKTION TILL PROGRAMMERING
IT för personligt arbete F6
OOP Objekt-orienterad programmering
Next previous Introduktion till Java Av Björn Eiderbäck Adress: Rum 1641, 6tr NADA Osquars Backe 2 Tel: OOMPAE 2000.
Java. Kortfattat om Java Syntaxen påminner i hög grad om C++ Stöd för objektorientering Kod kan köras i en virtuell maskin som finns tillgänglig för nästan.
Föreläsning 13 Polymorfism, Paket och JAR-filer. Polymorfism Ordet härstammar från grekiskan Poly – många Morf – form Polymorf – många former Någonting.
Programmering B PHP Lektion 2
Jonny Karlsson INTRODUKTION TILL PROGRAMMERING Föreläsning 7 ( ) INNEHÅLL: -Klasser och instansvariabler -Tabeller av klassobjekt.
OOP F4:1 Marie Olsson OOP Objekt-orienterad programmering Föreläsning 4 Metoder klass-metoder instans-metoder.
Jonny Karlsson INTRODUKTION TILL PROGRAMMERING Föreläsning 6 ( ) INNEHÅLL: -Mera om tabeller.
Repetition inför slutprovet
Föreläsning 2 Kort Översikt Över Javaspråket. Källkodsformat Unicode används åäöμψζ tillåtna Inte alla miljöer klarar av det Källkod Bytekod Java VM för.
Jonny Karlsson PROCESSPROGRAMMERING Föreläsning 8 ( ) Innehåll: Trådprogrammering i Java - Avbrott (”interrupts”) - Metoden join() -
Objektorienterad Modellering Programmering och Analys
Programmeringsteknik för Media1 & K1
PROCESSPROGRAMMERING Föreläsning ‏ Innehåll: Högnivå objekt för trådprogrammering: - Trådgrupper (”Thread pools”)‏ - Exekverare (Executor.
Mitt första Java program Mahmud Al Hakim Copyright, Mahmud Al Hakim, 1.
Jonny Karlsson INTRODUKTION TILL PROGRAMMERING Föreläsning 3 ( ) INNEHÅLL: -Jämförelseoperatorer -Villkorssatser -Logiska operatorer.
Jonny Karlsson INTRODUKTION TILL PROGRAMMERING Föreläsning 3 ( ) INNEHÅLL: -Jämförelseoperatorer -Villkorssatser -Logiska operatorer.
Jonny Karlsson INTRODUKTION TILL PROGRAMMERING Föreläsning 7 ( ) INNEHÅLL: -Klasser -Att definiera egna klasser -Klassvariabler -Klassmetoder.
OOP F3:1 Marie Olsson OOP Objekt-orienterad programmering Föreläsning 3 Iteration Många variabler av samma sort – Arrayer.
Jonny Karlsson INTRODUKTION TILL PROGRAMMERING Föreläsning 8 ( ) INNEHÅLL:Klasser: -Konstruktorer -Klassvariabler -Instansmetoder -Privata.
Jonny Karlsson INTRODUKTION TILL PROGRAMMERING Föreläsning 7 ( ) INNEHÅLL: -Metoder -Lokala variabler -Mera om klasser: -Nyckelorden.
1 Föreläsning 6 Programmeringsteknik och Matlab 2D1312/2D1305 Metoder & parametrar Array API och klassen ArrayList.
Databehandling Ett datorprogram består i huvudsak av
Objektorienterad programmering i Java
Next previous RMI, Remote Method Invocation Om du har boken av Marty Hall, läs avsnitt 15.8 För fler exempel se:
Föreläsning 1 Reserverade ord Javas API Identifierare Litteraler Variabler Kompilering och interpretering.
Java paket och jar-filer
Anders Sjögren ANSI - standard ?. Anders Sjögren ANSI - standard ? Om man skriver ett bra C-program och kompilerar fram ”exe”-filen så vore det ju trevligt.
INTRODUKTION TILL PROGRAMMERING
Jonny Karlsson INTRODUKTION TILL PROGRAMMERING Föreläsning 3 ( ) INNEHÅLL: -Tabeller -Villkorssatser -Repetitionssatser.
Jonny Karlsson INTRODUKTION TILL PROGRAMMERING Föreläsning 5 ( ) INNEHÅLL: -Metoder.
Jonny Karlsson PROCESSPROGRAMMERING Föreläsning 8 ( )‏ Innehåll:  Introduktion till Java EE (Enterprise Edition)  Enterprise Java Beans.
1. Ett problem/uppgift.
Föreläsning 4 programmeringsteknik och Matlab 2D1312/ 2D1305
Föreläsning 1 Om kursen Reserverade ord Javas API Identifierare Litteraler Variabler Kompilering och interpretering.
ITK:P1 Föreläsning 2 Introduktion till objektorientering DSV Marie Olsson.
Jonny Karlsson INTRODUKTION TILL PROGRAMMERING Föreläsning 5 ( ) INNEHÅLL: -Introduktion till programmeringsspråket Java -Den allmänna.
INTRODUKTION TILL PROGRAMMERING
1 Objektorienterad programmering i Java Föreläsning 5 Kort om Java-Applets.
PROCESSPROGRAMMERING Föreläsning 1 ( )‏ Innehåll: Introduktion till paralellprogrammering (“concurrent programming”)‏ Introduktion till parallellprogrammering.
Ladda ner och installera JAVA Mahmud Al Hakim DynamicOS
Jonny Karlsson PROCESSPROGRAMMERING Föreläsning 2 ( )‏ Innehåll:Trådar: - Avbrott (”interrupts”)‏ - Metoden join()‏ Högnivå objekt för.
Övning 3. Repetition Metoder class RepetitionMetoder { public static void main(String [] args) double längd = 2.0; double bredd = 1.0; double area =
Jonny Karlsson PROCESSPROGRAMMERING Föreläsning 6 ( )‏ Innehåll:  Att designa parallella program - manuell vs. automatisk parallellisering.
Föreläsning 1 Introduktion till kursen. Algoritmer
OOP&M - teori1 OOP&M – Föreläsning 3 kap 2-4 Repetition Föreläsning-datayper-syntax-tilldelning.
OOP&M - teori1 There is a difference between knowing the path and walking the path, Neo.
OOP&M - teori1 Dator Introduktion till programmering.
Föreläsning 1, Introduktion
Föreläsning 3 Väsentliga delar i ett Javaprogram Input i paketet extra
Anders Sjögren Programmering i ANSI-C Ett första program för att se vart vi ska...
Python.
Datorer och nätverk.
IT Fördjupning Jon Wide
JVM Java Virtual Machine
Programmera dina klasskamrater
Datorer och nätverk.
Presentationens avskrift:

Jonny Karlsson INTRODUKTION TILL PROGRAMMERING Föreläsning 1 ( ) INNEHÅLL: -Introduktion av kursen -Vad är programmering? -Programmeringsspråk och verktyg -Introduktion till Java -Strukturen av ett textbaserat Java program -Utmatning av text på bildskärmen

2Jonny Karlsson Introduktion av kursen Se:

3Jonny Karlsson Vad är programmering? Som programmerare behöver man vanligtvis inte veta så mycket datorer Man klarar sig mycket långt endast med följande modell:

4Jonny Karlsson Vad är programmering? Processorn Gör själva databehandlingen Utför instruktioner som ingår i en viss instruktionsuppsättning Instruktionerna handlar om att på någåt sätt manipulera binära data (förstår endast 1:or och 0:or dvs ström på och ström av) Arbetsminnet För att instruktioner skall kunna behandlas av processorn måste de först lagras hit I/O-enheter I/O står för Input/Output En inenhet är en typ av utrustning för att mata in data till datorn, t.ex. Tangentbord, mus och mikrofon. En utenhet används när en dator lämnar ifrån sig data till omvärlden. Kan t.ex vara en bildskärm eller en högtalare.

5Jonny Karlsson Programmera. Ett sätt att indirekt kommunicera med datorns processor. Man ger instruktioner åt processorn för att berätta vad man vill att datorn skall göra. För att datorns processor skall kunna tolka ett program måste programmet bestå av maskinkod / sekvens av binära instruktioner. Vad är programmering? När instruktionerna i ett maskinkodsprogram utförs av datorns processor så säger vi att programmet utförs, körs eller exekveras

6Jonny Karlsson Programmeringsspråk och verktyg Att skriva maskinkodsprogram är mycket krävande och större program är i praktiken omöjliga att direkt koda binärt. Av denna orsak har det utvecklats verktyg kallade programmeringsspråk Programmerinsspråk tillåter programmeraren att koda instruktioner på ett sätt som är betydligt lättare att förstå än maskinkod. Det finns högnivåprogrammeringsspråk och lågnivåprogrammeringsspråk

7Jonny Karlsson Programmeringsspråk och verktyg Lågnivå-programmeringsspråk Ett lågnivå-programmeringsspråk är ganska likt maskinkoden. Begreppet ”lågnivå” kommer från att ”programkoden ligger nära processorn”. Ett lågnivå-programmeringsspråk används vanligtvis för krävande programmeringsproblem som inte kan lösas med ett högnivåspråk.

8Jonny Karlsson Programmeringsspråk och verktyg Högnivå-programmeringsspråkFördelar: Lättare för programmeraren att förstå jämfört med lågnivåkod Är maskinoberoende. Assembler- och maskinkodsinstruktioner är alltid bundna till en viss processor

9Jonny Karlsson Programmerinsspråk och verktyg Instruktioner skrivna i ett högnivåspråk måste översättas till maskinspråk. Detta sköter Datorn själv med hjälp av ett verktyg som kallas kompilator. En samling instruktioner man skrivet ner i ett programmeringssrpåk kallas för källkod. Processen att översätta källkod till maskinkod kallas för kompilering.

10Jonny Karlsson Programmerinsspråk och verktyg Lågnivå-programmeringsspråkAssemblerHögnivå-programmeringsspråkBasicPascalFortranCC++Java

11Jonny Karlsson Introduktion till Java Java är ett objektorienterat programmeringsspråk utvecklat av Sun Microsystems på 1990-talet. Java är lätt att lära sig, jämfört med andra objektorienterade programmeringsspråk, p.g.a. Java har samlat ihop de bästa delarna av de äldre objektorienterade programmeringsspråken. Java kan användas för att skriva program för så gott som alla operativsystem, i WEB- Program, i mobiltelefoner och även i smartkort/SIM-kort. Olika typer av Java program: Program med textbaserat gränssnittProgram med textbaserat gränssnitt Program med grafiskt användargränssnittProgram med grafiskt användargränssnitt ”Applets” som kan köras i Internet bläddrare”Applets” som kan köras i Internet bläddrare ”MIDLets” som kan köras i mobiltelefoner”MIDLets” som kan köras i mobiltelefoner

12Jonny Karlsson Introduktion till Java Kompilering I Java används en annan typ av kompilering än den standard kompileringstyp som beskrevs i slide 9. Vid standard kompilering resulterar kompileringen i en exekverbar programfil (i Windows programfil.exe) som är beroende av operativsystemet (dvs en exekverbar programfil kompilerad för Windows kan inte exekveras i Linux och tvärtom) En Java-källkod kompileras inte av Javakompilatorn till maskinkod utan till en maskinoberoende bytekod (bytekodfil.class). Denna bytekod kan inte direkt exekveras utan det behövs för datorn ett ytterligare program som kallas interpretator.

13Jonny Karlsson Introduktion till Java Tolkning Interpretatorn tolkar bytekoden till maskinkod allteftersom programmet exekveras Interpretatorn i Java kallas för Virtuell Maskin (VM). Mer känt efter det engelska namnet ”Virtual Machine”.

14Jonny Karlsson Introduktion till Java Fördelen med interpretator modellen är att det kompilerade Javaprogrammet är helt plattformsoberoende och kan köras på vilken dator som helst med viken hårdvara och vilket operativsystem som helst förutsatt att det på datorn finns en interpretator/Virtuell Maskin. Själva VM är däremot plattformsberoende.

15Jonny Karlsson Strukturen av ett textbaserat Javaprogram Ett minimalt textbaserat Java program kan se ut så här: Källkoden för ett Java program byggs upp av en eller flera klasser och varje klass kan innehålla en eller flera metoder. Ett Java program bör bestå av minst en klass och denna klass bör innehålla en metod som kallas huvudmetod (”main-metod”)..

16Jonny Karlsson Strukturen av ett textbaserat Javaprogram I exemplet ovan har vi definierat en klass som heter HelloWorld. Klassen kan heta precis vad som helst men namnet på klassen måste vara samma som namnet på källkodsfilen dit källkoden sparas. Källkoden ovan måste således sparas i en källkodsfilfil som heter HelloWorld.java. Observera att en Java källkodsfil bör ha filändelsen.java Källkoden kan skrivas i ett enkelt ordbehandlingsprogram som t.ex. Wordpad eller Notepad

17Jonny Karlsson Strukturen av ett textbaserat Javaprogram I Java-koden kan man binda ihop flera kodrader med hjälp av att använda bågparenteser { och }. Det som finns mellan ett {-tecken och ett }-tecken kallas för ett block. Genast efter raden som definierar klassen HelloWorld finns ett {-tecken. Detta tecken betyder att klassen HelloWorld börjar här. Längst ner i källkoden finns ett }-tecken. Detta tecken berättar att klassen HelloWorld slutar här. M.a.o. Allt som finns mellan dessa { och } tecken hör till klassen Helloworld

18Jonny Karlsson Strukturen av ett textbaserat Javaprogram Huvudmetoden main (OBS! Denna metod bör alltid heta main) avgränsas också med hjälp av bågparenteser på samma sätt som klassen HelloWorld. Dessa bågparenteser bildar ett metodblock. I huvudmetodens metodblock definieras m.h.a programsatser vad programmet skall göra när det exekveras.OBS varje programsats avslutas med ett semikolon (förutom vissa undantag). I detta fall har vi i huvudmetodens metodblock definierat att programmet skall skriva ut texten ”Hello World” på datorns bildskärm

19Jonny Karlsson Strukturen av ett textbaserat Javaprogram Tillsvidare går vi inte in i detalj på funktionaliteten av klasser och metoder utan vi nöjer oss med den enklaste typen av program som endast har en klass och en huvudmetod.-

20Jonny Karlsson Kompilering och exekvering av Java program Java program kompileras med en kompilator som kallas Javac Javac kan användas direkt via ett konsolfönster eller så kan det användas tillsammans med ett Java programmeringsverktyg

21Jonny Karlsson Kompilering och exekvering av Java program Kompilering från DOS konsolfönstret Kompilering av ett nyskrivet Java program sker så att man från den filkatalog där källkodsfilen ligger anropar Java kompilatorn javac och anger källkodsfilen som argument: javac prognamn.java Detta skaper bytekod-filen: prognamn.class

22Jonny Karlsson Kompilering och exekvering av Java program Exekvering av Java program från DOS konsolfönstret För att exekvera ett Java program anropar man Java-interpretatorn och anger klassnamnet som argument: java prognamn Observera att man endast ger namnet på klassfilen och lämnar bort filendelse (dvs. inte prognamn.class)

23Jonny Karlsson Kompilering och exekvering av Java program För att kunna kompilera och exekvera Java program behöver man en Java kompilator (Javac) och en Java interpretator/Virtuell maskin på sin dator. Från SUNs hemsidor kan man gratis ladda ner ett Java utvecklingsprogrampaket som heter J2SE Development Kit (JDK). JDK innehåller både en Java kompilator och interpretator. Nyasta versionen av JDK kan laddas från:

24Jonny Karlsson Kompilering och exekvering av Java program Det finns även grafiska programutvecklingsverktyg för Java program Ett exempel på ett sådant är JCreator. JCreator är gratis och nyaste versionen kan laddas ner från: Med JCreator kan man enkelt editera källkod, kompilera och exekvera program utan att behöva ge kommandon från DOS konsolen. OBS! JCreator är endast en editor och innehåller ingen egen Java kompilator eller interpretator. För att JCreator skall fungera måste man först installera JDK. interpretator. För att JCreator skall fungera måste man först installera JDK.

25Jonny Karlsson Utmatning av text på bildskärmen För att göra ett program som skriver en textrad på bildskärmen kan man anropa metoden: println (namnet kommer från ”print line”) metoden println anropas enligt följande: system.out.println(parameter); parameter = Det man vill att programmet skall skriva ut. Om man vill att programmet skall skriva ut texten ”hej” på bildskärmen anropar man println på följande vis: system.out.println(”hej”); Observera att om man vill skriva ut statisk text så skall den texten sättas innanför citationstecken

26Jonny Karlsson Utmatning av text på bildskärmen Metoden println förorsakar alltid ett radbryte i slutet, dvs. följande metodanrop: System.out.println(”Ville”);System.out.println(”Peter”); ger följande utskirft på bildskärmen: VillePeter Programmet som helhet skulle se ut så här: public class utmatning { public static void main(String[] args) {System.out.println(”Ville”);System.out.println(”Peter”);}}