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 ( t ex) – Java.

Slides:



Advertisements
Liknande presentationer
Föreläsning 9 Programmeringsteknik och Matlab 2D1312/2D1305
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 •
Klasser och objekt.
Föreläsning 3 Repetition Operatorer Styrstrukturer Deklaration och anrop av metoder.
De fundamentala datatyperna
Programmeringsteknik I: F1 1 Föreläsning 1: Intro till kursen och programmering Kursens hemsida Studentportalen.
Om Java C =>Java syntax variabler metoder färdiga klasser
Välkommen Vahid Mosavat
Programmeringsteknik K och Media
Programmeringsteknik för K och Media
Föreläsning 13 Allt om tentan. Sistaminutenhjälp: På fredag 17 december kl 12 sitter Linda i kemi-fiket och svarar på frågor.
Att programmera i språket Java
Föreläsning 2 Datalogi för E1 2D1343
Föreläsning 8 Appletprogram/fristående grafiska program Rita linjer, rektanglar mm Skriva text Byta färg Appletprogram html.
Föreläsning 6 Referenser Objekt som parametrar public/private Klassvariabler och klassmetoder.
Föreläsning 2 Primitiva datatyper Variabler och konstanter Tilldelning Inläsning Operatorer Villkorssatsen if Slingor: while och for.
OOP Objekt-orienterad programmering
1 Föreläsning 6 Klass Object, instans av klass public/private Klassvariabler och klassmetoder.
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
INTRODUKTION TILL PROGRAMMERING
Föreläsning 11 Arrayer.
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
Programmeringsbegrepp
Programmering B PHP Lektion 2
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.
Programspråk Två olika typer av program omvandlar högnivå till lågnivå program: Interpreterande program och kompilerande program. Python är ett interpreterande.
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.
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.
1 Föreläsning 5 Programmeringsteknik och Matlab 2D1312/2D1305 Repetition Metoder Array API och klassen ArrayList.
Objektorienterad programmering i Java
Föreläsning 10 Stränghantering.
Föreläsning 1 Reserverade ord Javas API Identifierare Litteraler Variabler Kompilering och interpretering.
Java paket och jar-filer
Jonny Karlsson INTRODUKTION TILL PROGRAMMERING Föreläsning 2 ( ) INNEHÅLL: -Variabler och datatyper -Tilldelning av variabler -Aritmetiska.
Jonny Karlsson INTRODUKTION TILL PROGRAMMERING Föreläsning 5 ( ) INNEHÅLL: -Metoder.
Föreläsning 12 Om slutprovet. Repetition –deklaration av variabler –skapande av objekt (instansiering) –Vektorer och Vector-klassen –Klasser –Instans-/klassvariabler.
Föreläsning 4 Klasser Och Objekt.
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.
INTRODUKTION TILL PROGRAMMERING
Föreläsning 13 Appletprogram/fristående grafiska program Arv Rita linjer, rektanglar mm Skriva text, byta färg Appletprogram & HTML Grafiska användargränssnitt.
OOP F13:1 Marie Olsson OOP Objekt-orienterad programmering Föreläsning 13 Repetition variabler, selektion och iteration.
OOP F2:1 Stefan Möller OOP Objekt-orienterad programmering Föreläsning 2 Deklaration och tilldelning Programsatser Tilldelning Input/Output Selektion.
Central-enhet PM CPU BIOS Skiv- minne Sekundär- minnes- enheter (SM)
Föreläsning 17 Repetition. Källkodsformat Unicode används åäöμψζ tillåtna i namn på identifierare Inte alla miljöer klarar av det Källkod Bytekod Java.
Föreläsning 2 2D1312 Introduktion till Python Kap 1 och 2 i kursboken.
Progteknik I, vt2011: Lektion 1, del a - Intro till DrJava och Java 1 Lektion 1, del a – Intro till DrJava och Java Målsättning med lektionen: Bekanta.
Övning2 programmeringsteknik och Matlab 2D1312/ 2D1305
F2 1 Programmeringsteknik, 4p vt-00 Kommentarer Allt mellan /* och */ Varje kommentar byts ut mot en blank av kompilatorn /* Exempel på uttryck, tilldelningsoperatorn.
Föreläsning 5 Objekt Klasser Konstruktorer Metoder Minnesbilder av objekt.
Programmeringsteknik för K och Media
Föreläsning 7 programmeringsteknik och Matlab 2D1312/2D1305 Metoddeklaration och parametrar Arrayer och ArrayList.
-Repetition -Variabler -Primitiva typer (+ boolean) -Operatörer +, ++, --, -Typ konvertering -Wrapper klasser -Jämförelse operatörer,(==, =,,!=, !) -String.
1 Föreläsning 2 Reserverade ord Javas API Identifierare Litteraler Variabler Kompilering och interpretering.
-Repetition -Variabler -Primitiva typer (+ boolean) -Operatörer +, ++, --, -Typ konvertering -Wrapper klasser -Jämförelse operatörer,(==, =,,!=, !) -String.
Föreläsning 3 Operatorer Flödeskontroll Primitiva datatyperKlasser i API och egna klasser int double byte float char boolean short long String BufferedReader.
OOP&M - teori1 OOP&M – Föreläsning 5 kap 8-13 Operatorer,typkonvertering, booleska operatorer, if och else.
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 OOP – Föreläsning 7 (Sista oop I) Konstruktioner för att hantera upprepningar Kapitel 11.
Fö2 - Intro till Java och intro till OOP 1 Föreläsning 2 - Intro till Java  Sammanfattning av Lektion 1 (kap 2): Vad behövs för att kunna programmera?
Python.
Föreläsning 3: Booleans, if, switch
Presentationens avskrift:

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 ( t ex) – Java (installera först!) Reserverade ord ( t ex if, while...) Primitiva variabler ( t ex int, double, char, boolean ) Typomvandling Utskrifter och inläsning (Hur lagras information i datorn) Ev. Intro till Objektorienterad programmering (kap 3)

F2 - Intro till Java2 Vad behövs för att kunna programmera? Java = program som bl a översätter (för människan begripliga) instruktioner till datorspråk (javabyte kod/maskinkod): Kompilator +... Andra exempel: C++, Python, etc DrJava = en editor +...(~ordbehandlare) anpassad för programmering. Andra exempel: BlueJ, Eclipse, etc (IDE)

F2 - Intro till Java3 Vad är DrJava? DrJava är ett (gratis)program för att programmera i Java –Utvecklat vid Rice University, USA –DrJava är skrivet i Java Program för att programmera i kallas för IDE= Integrated Development Environment Med DrJava kan man –Skapa Javaprogram (definitions pane) –Testa javasatser (interactions pane) –Lista alla öppna filer (files pane)

F2 - Intro till Java4 Med kursboken följer en CD med många program (sk. javaklasser) för hantering av grafik, bilder, ljud, etc. DrJava använder i sin tur andra program som finns på datorn för att lösa sin uppgift –Javakompilatorn –Javainterpretatorn DrJava…

F2 - Intro till Java5 är ett programmeringsspråk  högnivåspråk  objektorienterat språk innehåller många hjälpprogram (klasser) Internet/Webben Grafik Användargränssnitt Standardprogram, t ex Math mm. är fritt kan användas på alla typer datorer Java

F2 - Intro till Java6 När java installeras på datorn får ni bl.a följande:  Javakompilatorn  Javainterpretatorn  Många färdiga javaprogram, s k klasser som hör till språket Java, t.ex. Math, JoptionPane… I kursen kommer ni att använda javaprogram: De standardprogram som följer med Java t ex Math De specialprogram som följer med boken, t ex Turtle och World De program ni skriver själva Java…

F2 - Intro till Java7 Språket har strikta regler för hur det skall skrivas, dvs språkets grammatik, det kallas språkets syntax. Språket byggs upp av identifierare och reserverade ord som sätts ihop till satser. Identifierare är det som programmeraren själv hittar på namn för, t.ex. variabelnamn, Reserverade ord är de ord som finns inbyggda i språket. En sats är en instruktion. En sådan avslutas normalt med ett semikolon Ex: double xKoordinat = 18.4; Java…

F2 - Intro till Java8 Variabler Deklareras att vara av en specifik datatyp, tex int, double, char Har ett namn: börjar på _ eller bokstav En primitiv variabel kan innehålla ett värde, t.ex. ett heltal Vid deklarationen reserveras ett minnes- utrymme för variabelns värde. Variabelns namn är ett alias för adressen till minnesutrymmet.

Fö2 - Intro till Java och intro till OOP 9 Åtta primitiva datatyper Fyra heltalstyper (numeriska): byte, short, int, long Två flyttalstyper (numeriska) float, double En teckentyp: char En boolskt typ, sant eller falskt (default): boolean

Fö2 - Intro till Java och intro till OOP 10 Primitiva datatyperna byte, boolean 8 bits short int float long 8 bits double 8 bits char 8 bits

Fö2 - Intro till Java och intro till OOP 11 De numeriska datatyper TypMinnesutrymmeMin/Maxvärde byte8 bit-128 … 127 short … int … long64+/- 9 x float32 +/- 3.4 x 10 38, 7 siffrors nogr. double64+/- 1.7 x , 15 siffrors nogr.

Fö2 - Intro till Java och intro till OOP 12 Numeriska datatyper, några viktiga kom-i-håg Heltalsdivision int a = 2, b = 3, c = a/b; System.out.println(c); //Vad skrivs ut? System.out.println(7/4); //Vad skrivs ut? Modulusoperatorn % int x = 7, y = 3, z = x%y; System.out.println(z); //Vad skrivs ut? System.out.println(10%5); //Vad skrivs ut?

Fö2 - Intro till Java och intro till OOP 13 Numeriska datatyper, några viktiga kom-i-håg ++ och - - operatorerna x++; System.out.println(x); //Vad skrivs ut? Ändra en variabels värde OBS! Tilldelning int tal = 3; tal = tal + 2; //”Det nya värdet = det gamla + 2” tal += 2; //samma som ovan tal = tal * 5; tal *= 5; //samma som ovan

F2 - Intro till Java14 Typomvandling Heltal  Flyttal per auto, eller med (double) (…) Flyttal  Heltal –(int) (…) ger trunkering –(int) (… + 0.5) ger avrundning av tal>0 –Math.round(...) ger avrundning Char  Heltal: (int) (…) Heltal  Char: (char) (…) Flyttal  String: Double.toString(…) String  Flyttal: Double.parseDouble(…) String  Heltal finns motsvarande…

F2 - Intro till Java15 Tecken En char -variabel lagrar ett enstaka tecken i två byte (speciellt för Java). Skrivs med apostrofer, t ex 'p'. Tecknet kodas först till ett heltal innan det lagras i minnet. T ex tecknet 'T' har den (decimala) koden 84, vilket binärt är Koden är unicode, se Koden för de 256 första tecknen överensstämmer med ASCII- koden ASCII Code - The extended ASCII table ASCII Code - The extended ASCII table Version 6.0: mer än tecken från världens alfabet, symboler,... System.out.println(“\u0041”); //A Ethiopic Extended-A

F2 - Intro till Java16 Klasserna String och Math En String-variable är inte inte en primitiv variabel String s = "Java"; String t = s + "programmering"; Jämför : char tkn = 'a'; En strängvariabel är en sk. objektvariabel. En sådan variabel refererar till många värden Math-klassen, anropa med klassens namn: double a1=Math.sin(x), a2=Math.sqrt(x); Doulbe a3=Math.pow(bas,exp), a3=Math.random();

F2 - Intro till Java17 Varför (1) deklarera och (2) ha många datatyper? 1. ”Säkerhet”: Bara använda variabler som är deklarerade Ex. stavfel: x1=4; x1=xl+8; 2. Värden man vill räkna med är av olika sorter –Bra då att ha variabler som matchar dessa. –Minnesutrymmet anpassas till värdena. –Beräkningarna anpassas till datatypen. –Snabbare beräkningar. –”Ordning och reda” –Men: flyttal kan inte alltid representeras exakt

F2 - Intro till Java18 Utskrifter i Java I terminalfönstret (I DrJava’s Interaction Pane): double O = bas*2 + höjd*2; System.out.println(“Omkrets: “ + O + ” m.”); I ett Popup-fönster: import javax.swing.*; String namn = “Anna”; JOptionPane.showMessageDialog(null,"Jag heter "+namn);

F2 - Intro till Java19 Inläsning i Java I terminalfönstret (I DrJava’s Interaction Pane): import java.util.Scanner; Scanner scan = new Scanner(System.in); int x = scan.nextInt(); double y = scan.nextDouble(); String s1 = scan.nextLine(); // hel rad String s2 = scan.next(); // ett ord I ett Popup-fönster: import javax.swing.*; String s; s = JOptionPane.showInputDialog("x?"); x = Integer.parseInt(s); I de kompletta föreläsningsanteckningarna finns bilder om hur datorn lagrar data

Fö2 - Intro till Java och intro till OOP 20 Att hitta klasser, egenskaper (instans- variabler) och metoder. Ett exempel. Det kommer bilar till en vägkorsning. Vid korsningen finns trafikljus som kan visa olika färg och kan ha svängpil. Trafikljuset kan slå om, det kan gå sönder. Bilarna har hastighet, riktning och position. Bilarna kan bromsa, gasa eller få motorstopp.. OOP

Fö2 - Intro till Java och intro till OOP 21 Övning OOP Hur många objekt finns i bild 1, och hur många olika typer av objekt, dvs hur många klasser, finns representerade i bild 1? Ange lämpligt namn på respektive klass. Vilka egenskaper kan klasserna beskrivas med (bild1)? Ange vilka metoder som kan vara lämpliga i respektive klass för att kunna rita bilderna 2 och 3, utgående från bild 1. Föreslå namn på metoderna. Bild 1Bild 2Bild 3

Fö2 - Intro till Java och intro till OOP 22 Intro till ObjektOrienterad Programmering (OOP) Klass vs objekt: En klass beskriver objektens egenskaper och metoder, mha ett språk, t ex Java, och sparat i en textfil, t ex Circle.java Klassen är en mall. Många objekt kan skapas från mallen. Ett objekt har egenskaper (inre tillstånd/eget minne) Ex Cirkel c har position och färg Kan kommunicera med (skicka meddelanden till) objekten via metoder för ändra objekten eller få veta deras egenskaper. Ex move(int step), changeColor(Color co) När ett program körs är objekten aktiva genom sina metoder. Ex c.move(50); //cirkel c rör sig