Mer Java 2015
|
|
- Britt-Marie Sundberg
- för 6 år sedan
- Visningar:
Transkript
1 Mer Java 2015
2 Fråga kommentera avbryt!
3
4 Historia: C, C talet: CPL BCPL B : C skrev om delar av Unix-kärnan 1978: K&R C "The C Programming Language" av Kernighan & Ritchie 1979: C with Classes OO-finesser från Simula (Bjarne Stroustrup) : C++ Vidareutveckling "C++": "C = C + 1" 1985: The C++ Programming Language (bok) 1989: C++ 2.0
5 Historia: Oak : Sun Microsystems påbörjade projekt StarSeven Avancerad interaktiv multikontroll : TV, video, satellit, Touchskärm, dra program i listan till en video, Trådlöst nätverk Unix-OS 5
6 Historia: Oak 2 Ville ha ett objektorienterat programmeringsspråk C++ sågs som problematiskt James Gosling utvecklade sitt eget: "C++ ++ " Omdöpt till "Oak" : Skapa spinoff-företag Bygga, programmera, demonstrera Gå i konkurs 6
7 Historia: Oak 3 Hitta en annan användning! 1994: WWW på gång Nov 1993: 500 WWW-servrar! Okt 1994: Netscape Mosaic 0.9! 7 Webben var väldigt statisk Interaktivitet? Formulär! JavaScript? Slutet av 1995 Flash? 1996 Oak passade perfekt! Portabelt, plattformsoberoende Bra stöd för nätverkskommunikation Språket döptes om till Java Än idag har vi många arv kvar från C++, C, och till och med B (1969)
8
9 Sammansatta tilldelningsoperatorer 9 public class JavaTest { public static void main(string[ ] args) { int sum = 2; sum++; // Förkortning för sum += 1 Våra kodexempel kommer att använda detta "skal" Inkrementering och dekrementering Inkrementering och dekrementering: ++, Kan användas inuti uttryck men man blir lätt förvirrad! int a = 12, b = 12; System.out.println(a++); // Beräkna a, sedan öka: 12 System.out.println(++b); // Öka b, sedan beräkna: 13 System.out.println("After: a = " + a + ", b = " + b); // a=13, b=13 increment, decrement
10 Villkor med kortslutning: eller 10 public class JavaTest { public static void main(string[ ] args) { int percent = ; if (percent < 0 percent > 100) { error(); Motsvarar "or" i Python: Om första testet är sant, behövs inte andra testet Kortslutande "eller": Räkna till värdet är känt Ekvivalent med: if (percent < 0) { error(); else if (percent > 100) { error(); I detta exempel: Bra för prestanda! kortslutning = short-circuit
11 Villkor utan kortslutning: eller 11 public class JavaTest { public static void main(string[ ] args) { if (saveifneeded("foo") saveifneeded("bar")) { status.settext("saved at least one file!"); Beräknar alltid båda operanderna Icke kortslutande "eller": Fortsätt evaluera hela uttrycket Motsvarar: boolean save1 = saveifneeded("foo"); boolean save2 = saveifneeded("bar"); if (save1 save2) { status.settext("saved at least one file!"); I detta exempel: Viktigt för korrekthet Skriv hellre om enligt nedre exemplet
12 Villkor: och 12 public class JavaTest { public static void main(string[ ] args) { if (debugmode &&!slowtestsucceeds()) { Motsvarar "and" i Python: Om första testet är falskt, behövs inte andra testet Kortslutande och": && Ekvivalent med: if (debugmode) { if (!slowtestsucceeds) { I detta exempel: Prestanda
13 Villkor: och 13 public class JavaTest { public static void main(string[ ] args) { if (askuser("quit?") && askuser( Really?")) { Om användaren säger "nej", fortsätt inte fråga Kortslutande och": && Ekvivalent med: if (askuser("quit")) { if (askuser("really?")) { I detta exempel: Korrekthet
14 Villkor: If som uttryck 14 Python case1 if condition else case2 sign = "positive" if a > 0 else "non-pos" Java condition? case1 : case2 String sign = (a > 0? "positive" : "non-pos ) Kan förvirra Använd sparsamt!
15 Vad är sant / falskt? 15 Python: Automatisk konvertering Java: Bara boolean-värden Falska värden: False, None, 0, 0.0,, (), [], {, Sanna värden: Allt annat Falska värden: Sanna värden: Allt annat: false true inte sanningsvärde! längd = 10; if längd: # Om inte 0, (), False, print längd int längd = 10; if (längd) // Fel! if (längd!= 0) { System.out.println(längd); Ofta bekvämt Kan leda till misstag Mer att skriva Ibland tydligare Kan förhindra misstag
16 Villkor: Enbart boolean 16 Python: Operatorer accepterar alla värden, or / and returnerar ena operanden Python # a får värdet av s, # eller "default" om s är tom a = s or "default # Motsvarar: a = s if s else "default" Java: Booleska operatorer kräver true/false, returnerar true/false Java // Kompileringsfel: String a = s default ; // Fungerar: String a = (!s.isempty()? s : default );
17 sats = statement
18 Villkor: if 18 Python if condition: statement1 statement2... Python if condition: statement1 statement2... else: statement1 statement2... Java if (condition) { statement1 statement2... Java if (condition) { statement1 statement2... else { statement1 statement2...
19 Villkor: if (2) 19 Python if condition: statement1 statement2... elif condition2: statement1 statement2... elif condition3: statement1 statement2... Java if (condition) { statement1 statement2... else if (condition2) { statement1 statement2... else if (condition3) { statement1 statement2...
20 Test av samma uttrycks värde 20 if (x + y == 0) { System.out.println( Exakt noll"); else if (x + y == 1 x + y == 2) { System.out.println( Ett eller två"); else if (x + y == 3) { System.out.println("Exakt tre"); System.out.println( Fler satser här"); else { System.out.println( Något annat"); Här jämför vi värdet på x+y med några kända konstanter konstanter = constants
21 Satser: switch 21 switch (x + y) { case 0: System.out.println( Exakt noll"); break; case 1: case 2: System.out.println( Ett eller två"); break; case 3: System.out.println( Exakt tre"); System.out.println( Fler satser här"); break; default: System.out.println( Något annat"); Tydligt att man testar värdet på ett uttryck; skriv uttrycket (x+y) en gång Kan göras med en switch-sats! Fungerar för heltal, strängar och enum-konstanter Klar : Hoppa ur switch-satsen Flera fall (1 och 2) ger samma kod att utföra Frivilligt: Vad händer när inget av fallen passar? Kräver extra "break"
22 Satser: switch med fallthrough 22 switch (x + y) { case 0: System.out.println( Exakt noll"); break; case 1: case 2: System.out.println( Ett eller två"); case 3: System.out.println( Ett, två eller tre"); break; default: System.out.println( Något annat"); Inget break här, så vi fortsätter in i nästa fall Fallthrough kan förvirra oftast bra att skriva på annat sätt!
23 Iteration: break, continue 23 int i = 0; while (i++ < 100) { dosomething(i); if (!test(i)) continue; dosomethingelse(i); int i = 0; while (i++ < 100) { dosomething(i); if (!test(i)) break; dosomethingelse(i); System.out.println("After!"); Loopar: break, continue Break avbryter loopen Continue fortsätter med nästa iteration Kan förvirra oftast bra att skriva på annat sätt!
24 Iteration: break, continue 24 int i = 0; while (i++ < 100) { dosomething(i); if (!test(i)) continue; dosomethingelse(i); int i = 0; while (i++ < 100) { dosomething(i); if (test(i)) { dosomethingelse(i);
25
26 Undantag i Python och Java 26 Python Java try: # Kod som kan kasta undantag except ZeroDivisionError: # Här hanterar vi division med noll except (NameError, TypeError): # Hantera NameError och TypeError except: # Här hanterar vi alla andra undantag else: # Om inga undantag kastades finally: # Denna kod körs alltid, oavsett vad # som hänt, för att städa upp efteråt try { // Kod som kan kasta undantag catch (FileNotFoundException e) { // Här hanterar vi saknad fil catch (IOException SQLException e) { // Felhantering catch (Throwable e) { // Här hanterar vi alla andra undantag // (ej rekommenderat!) // Ingen motsvarighet till "else" finally { // Denna kod körs alltid, oavsett vad // som hänt, för att städa upp efteråt Mer om detta en annan gång!
27
28 Tecken och strängar Java skiljer på: 28 Enskilda tecken Primitiv datatyp char (16-bitars) Inom apostrofer char middleinitial = 'X'; char digit7 = '7'; Strängar Objekttyp String Inom citattecken String name = Jonas ; Jämförs med == if (middleinitial == Y') { Jämförs med equals() if (name.equals( Java )) {
29
30 Funktioner 30 Pythons funktioner på toppnivå kan "emuleras" i Java Använd en public static-funktion Bara till vi har Fil: Newton.java hunnit läsa om objekt! Ange alltid returtyp public class Newton { public static int findroot() { System.out.println("This program tries to find "); System.in.read ; double guess = x/2; for (int i = 1; i < 5; i++) { guess = (guess + x/guess) / 2; return guess; Returnera värde med return public static void main(string[ ] args) { System.out.println(findRoot());
31 Returtypen void Ange returtyp men om funktionen inte returnerar något? 31 Ange void returnerar inget Fil: Newton.java (Fungerar inte för variabeldekl.!) public class Newton { public static void findroot() { System.out.println("This program tries to find "); System.in.read ; double guess = x/2; for (int i = 1; i < 5; i++) { guess = (guess + x/guess) / 2; System.out.println(guess); public static void main(string[ ] args) { findroot();
32 Variabler, värden och typer 2015
33 Variabler En variabel används för att lagra ett värde, och består av: En lagringsplats i minnet, där ett värde kan placeras Ett symboliskt namn på lagringsplatsen, som används i koden Python längd = 10 höjd = 5 hälsning = "hello" färger = [red, green] Programkod längd höjd hälsning färger Minne vid körning 10 5 "Hello" [red, green] 33 En "låda" för ett värde: Värdet kan bytas ut (längd = 22), men det är fortfarande samma variabel
34 Värdetyper 34 Varje värde har en typ Även i Python (men man behöver sällan skriva typnamnet i koden) Programkod Minne vid körning print(längd) print(10) heltalsutskrift Symboliskt namn (används i koden) längd Lagringsplats för ett värde 10 Heltal print(färger) print([red,green]) listutskrift höjd hälsning 5 "Hello" Heltal Sträng färger + 2 fel! färger [red, green] Lista
35 Variabeltyper 35 I många språk har även variabeln en typ Gäller Java, C, C++, Pascal, Ada, : Men inte Python Programkod Minne vid körning Symboliskt namn (används i koden) Lagringsplats för ett värde Heltal längd 10 Heltal Heltal höjd 5 Heltal Sträng hälsning "Hello" Sträng Lista färger [red, green] Lista
36 Variabeltyper 36 Java: Manifest typsystem (även variabeln har en typ, och denna anges explicit i koden) Python: Latent typsystem (bara värdet har en typ) int längd = 10; längd är en heltalsvariabel som innehåller ett heltal längd = 10; längd är en vad-som-helst-variabel som innehåller ett heltal Varför ska man ha variabeltyper, och ange dem explicit? latent typing manifest typing
37 Kunskap om värdetyp Latent typsystem: Vi vet mindre innan programmet körs Python def send(x): # Kommer x att vara heltal här? Flyttal? Sträng, lista,? # Ingen aning förrän programmet körs får kontrolleras dynamiskt 37 Manifest typsystem: Java public void send(int x) { // Här är x ett heltal, och det vet vi vid kompilering statiskt Gäller kompilatorn (kan optimera mer effektivare) Gäller oss (typerna är dokumentation)
38 Konsekvenser: Typkontroll 38 Python: Dynamisk typkontroll def dosomething(x): y = x + 10 Är x numeriskt? Kolla värdetyp vid körning Om inte numeriskt: Signalera typfel Java: Statisk typkontroll void dosomething(int x) { int y = x + 10; Är x numeriskt? Kolla variabeltyp vid kompilering Om inte numeriskt: Signalera typfel dynamic type checking static type checking
39 Konsekvenser: Typkontroll Python: Värdetypen kontrolleras verkligen vid körning Dynamisk typkontroll är inte samma som "svag typning" Python 39 >>> langd=10 >>> halsning="hello" >>> halsning+langd Traceback (most recent call last): File "<stdin>", line 1, in <module> TypeError: cannot concatenate 'str' and 'int' objects Men i Java hade detta upptäckts vid kompilering Tidigare upptäckt av problem effektivare programmering Typkontroll tidigare effektivare körning
40 Konsekvenser: Typkontroll Kontroller sker bara för den kod som faktiskt körs 40 Python def sortera(): if (antal element > ): # Använd metod 1 med typfel! else: # Använd metod 2 Testar man aldrig med > element, upptäcks inte buggen förrän koden är levererad I Java hade även detta upptäckts vid kompilering Tidigare effektivare
41 Konsekvenser: Val av operation 41 Python: Dynamisk typkontroll def dosomething(x): y = x + 10; Måste kolla vid körning: x heltal? Addera 10 direkt Java: Statisk typkontroll void dosomething(int x) { int y = x + 10; x är heltal! Addera direkt x flyttal? Konvertera 10 till 10.0, addera x annat? Signalera fel!
42 Konsekvenser: Minnesutrymme 42 Python: Dynamisk typkontroll def dosomething(x): y = x + 10; Hur kolla typen hos b:s värde? Måste lagra typen med värdet Java: Statisk typkontroll void dosomething(int x) { int y = x + 10; Hur kolla typen hos b:s värde? Variabelns typ är int, värdet måste ju ha samma typ x heltal 10 int x 10 delvis därför tar ett heltal 24 bytes Ett heltal tar 4 bytes (int), 8 bytes (long)
43 Brasklapp En brasklapp: Terminologin för typsystem är ofta otydlig och omtvistad Många termer brukar blandas ihop Statisk typning Statisk typkontroll Manifest typning Stark typning Det ni behöver förstå är begreppen och dess konsekvenser 43 Även dynamisk typning har fördelar! Mindre att skriva Mer flexibilitet i vissa fall
44
45 Typanalys Måste man skriva typer manuellt för att få dessa fördelar? I vissa språk kan man automatiskt analysera variabeltyper Python def send(x): # Kommer x att vara heltal här? Flyttal? Sträng, lista,? 45 send(100) send(240) send(3) Anropas 3 gånger Alltid heltalsparameter Aldrig flyttal, sträng, lista Hjälper felkontrollen, men fungerar inte som dokumentation
46 Typanalys: Byta värdetyp Men språk med latent typning tillåter ofta att man byter värdetyp dynamiskt v = 10 v = "hello" v = [1, 2, 3, 4, 5] Python 46 Gör problemet svårare, men inte omöjligt
47 Typanalys: Omöjligt? Ibland är analys i förväg omöjlig Python def send(x): # Kommer x att vara heltal här? Flyttal? Sträng, lista,? 47 v = random.choice([1, "foo"]) send(v) Ska typanalys alltid vara möjlig: Designa språket så att det förbjuder denna sorts uttryck!
48
49 Primitiva (icke sammansatta) typer i Java 49 Heltalstyper lika på alla plattformar! min max byte 8 bitar short 16 bitar int 32 bitar Används sällan Vanligast! long 64 bitar L L Två flyttalstyper skiljer i precision och storlek float 32 bitar ± E-45 ± E+38 double64 bitar ± E-324 ± E+308 Övrigt boolean false, true char tecken (värden )
50 Stora tal 50 public class JavaTest { public static void main(string[ ] args) { int massor = * ; System.out.println( 128k * 128k är: + massor); Operationer på heltal kan ge overflow "översvämning"! Operander av typ int: [ , ] Multiplikation av 32-bitarstal: 0b * 0b = 0b k * 128k är: 0 32 bitar slutresultat
51 Overflow 51 public class JavaTest { public static void main(string[ ] args) { int massor = * ; System.out.println( 128k * 128k är: + massor); // Skriver ut 0 Varför overflow i Java, men inte Python? Historia "Så var det ju i C och C++" Effektivitet! Java: 32-bitars multiplikation, klar. Python: 64-bitars multiplikation, testa storlek, allokera minne för resultat,
52 Använd större datatyp 52 public class JavaTest { public static void main(string[ ] args) { long massor = * ; System.out.println( 128k * 128k är: + massor); Beräkningar använder den största av operandernas typer är en int (inget "L") 0b * 0b = 0b bitar slutresultat Kan verka korkat Sedan expanderas detta till 64 bitar men är mer förutsägbart: 128k * 128k är: 0 Resultat beror bara på operandernas typer
53 Använd större datatyp (2) 53 public class JavaTest { public static void main(string[ ] args) { long massor = L * ; System.out.println( 128k * 128k är: + massor); Beräkningar använder den största av operandernas typer Största operanden är long Expandera den andra "131072" till long Utför 64-bitars multiplikation 128k * 128k is: (2 34 ) Expandering tappar aldrig information sker automatiskt!
54 Farliga" typkonverteringar 54 public class JavaTest { public static void main(string[ ] args) { int sqrtpi = Math.sqrt(Math.PI); System.out.println( Sqrt(π) är: + sqrtpi); Konstanter och funktioner i Math-klassen Kompileringsfel! Math.sqrt returnerar en double Att konvertera double till int kan tappa information "farligt" Måste uttryckligen be om konvertering!
55 Typkonvertering: Casting 55 public class JavaTest { public static void main(string[ ] args) { int sqrtpi = (int) Math.sqrt(Math.PI); System.out.println( Sqrt(π) är: + sqrtpi); Konvertera med en cast Beräkning, sedan trunkering (avhuggning) Beräknar värdet: 1, (int) trunkerar detta till: 1 Mer: int i = (int) ; // OK i = (trunkerat) short s = (short) ; // OK s = 9684 (lägsta 16 bitarna) 0b
56 Utan casting 56 public class JavaTest { public static void main(string[ ] args) { double sqrtpi = Math.sqrt(Math.PI); System.out.println( Sqrt(π) är: + sqrtpi); Byt variabeltyp Beräkningar Beräknar värdet: 1, Skriver ut det
57
58 Bakgrund Vissa typer ska bara ha några få fördefinierade värden Day: Monday, Tuesday,, Sunday 58 Suit: Clubs, Diamonds, Hearts, Spades
59 Background Kan emuleras på många sätt, t.ex. med heltalskonstanter final static int MONDAY = 0, TUESDAY = 1,, SUNDAY = 6; public void setdayofweek(int day) { 59 Inte typsäkert! setdayofweek(42); final static int BOLD = 2; setfont("times", 14, BOLD); setfont("times", BOLD, 14); // Accepteras av kompilatorn // Vilken betyder 14 punkter fetstil? // Vilken betyder 2 pt blinkande? Stödjer nonsensoperationer int blah = TUESDAY * SUNDAY + WEDNESDAY Efter kompilering finns bara heltalen kvar svårare att tolka Värdet är 4 betyder det torsdag eller fredag? Eller kanske grönt, spader eller giraff?
60 Enumerated Types Java har stöd för uppräkningstyper (enumerated types) Man räknar upp vilka värden som finns 60 public enum Day { MONDAY, TUESDAY,, SUNDAY Sju enumkonstanter Inga matematiska nonsensoperationer tillgängliga Namngivningskonvention: ALL_CAPS för konstanter enum-konstant = enum constant
61 Enumerated Types Distinkt typ (inte int) typsäkerhet public enum Day { MONDAY, TUESDAY,, SUNDAY 61 public void setdayofweek(day day) { setdayofweek(day.tuesday); System.out.println(Day.THURSDAY) Håller reda på namn: Skriver ut "THURSDAY", inte 4
62 Jämförelse Sämsta lösningen: Konstanter utan namn if (state == 4) { if (player.hitwall()) state = 1; else ; Gammal lösning: Namngivna heltal final static int STATE_STANDING = 1; final static int STATE_RUNNING = 4; if (state == STATE_RUNNING) { if (player.hitwall()) state = STATE_STANDING; Bäst, vid fixerat antal värden: Uppräkningsbar typ enum State { RUNNING, STANDING if (state == State.RUNNING) { if (player.hitwall()) state = State.STANDING; 62
Variabler, värden och typer
Variabler, värden och typer Viktigt att förstå på djupet: För programmering i många språk, t.ex. Java För kommande objektorientering! jonas.kvarnstrom@liu.se 2017 Fråga kommentera avbryt! Intro till variabler
Läs merVariabler, värden och typer
Variabler, värden och typer Viktigt att förstå på djupet: För programmering i många språk, t.ex. Java För kommande objektorientering! TDDD78, TDDE30, 729A85 jonas.kvarnstrom@liu.se 2018 Fråga kommentera
Läs merVariabler, värden och typer
Variabler, värden och typer Viktigt att förstå på djupet: För programmering i många språk, t.ex. Java För kommande objektorientering! jonas.kvarnstrom@liu.se 2016 Fråga kommentera avbryt! Intro till variabler
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 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 merTDDD78 / 729A85 Objektorienterad programmering och Java
jonas.kvarnstrom@liu.se 2016 TDDD78 / 729A85 Objektorienterad programmering och Java Fråga kommentera avbryt! Inblandade 5 Examinator, kursledare: Jonas Kvarnström Inblandade (2) 6 Handledare, sedan
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 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 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 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 merObjektorienterad Programmering (TDDC77)
Objektorienterad Programmering (TDDC77) Föreläsning II: utmatning, variabler, typer Ahmed Rezine IDA, Linköpings Universitet Hösttermin 2017 Outline Java Språket Utmatning av Sträng litteraler Variabler
Läs merDatatyper och kontrollstrukturer. Skansholm: Kapitel 2) De åtta primitiva typerna. Typ Innehåll Defaultvärde Storlek
De åtta primitiva typerna Java, datatyper, kontrollstrukturer Skansholm: Kapitel 2) Uppsala Universitet 11 mars 2005 Typ Innehåll Defaultvärde Storlek boolean true, false false 1 bit char Tecken \u000
Läs merProgrammera i C Varför programmera i C när det finns språk som Simula och Pascal??
Programmera i C Varför programmera i C när det finns språk som Simula och Pascal?? C är ett språk på relativt låg nivå vilket gör det möjligt att konstruera effektiva kompilatorer, samt att komma nära
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 merF4. programmeringsteknik och Matlab
Programmeringsspråk Föreläsning 4 programmeringsteknik och Matlab 2D1312/ 2D1305 Introduktion till Java Kompilering, exekvering, variabler, styrstrukturer 1 Ett program är en eller flera instruktioner
Läs merTDDD78 / 729A85 Objektorienterad programmering och Java. Kursinformation Java: Varifrån och varför? Java för Pythonprogrammerare
TDDD78 / 729A85 Objektorienterad programmering och Java Kursinformation Java: Varifrån och varför? Java för Pythonprogrammerare jonas.kvarnstrom@liu.se 2017 Examinator, kursledare: Jonas Kvarnström Fråga
Läs merKlassdeklaration. Metoddeklaration. Parameteröverföring
Syntax: Class Declaration Modifier Class Body Basic Class Member Klassdeklaration class Class Member Field Declaration Constructor Declaration Method Declaration Identifier Class Associations Motsvarar
Läs merFöreläsning 7. Nyckelord I Java. Uttryck. Uttryck, Operatorer Och Kontrollflöden
Föreläsning 7 Uttryck, Operatorer Och Kontrollflöden Nyckelord I Java abstract double int super boolean else interface switch break extends long synchronized byte final native this case finally new throw
Läs merF5 Selektion och iteration. ID1004 Objektorienterad programmering Fredrik Kilander
F5 Selektion och iteration ID1004 Objektorienterad programmering Fredrik Kilander fki@kth.se Boolska uttryck Boolska uttryck använder sig av jämförelseoperatorer < > = ==!= Resultatets datatyp är boolean
Läs merFöreläsning 3: Booleans, if, switch
TDA 545: Objektorienterad programmering Föreläsning 3: Booleans, if, switch Magnus Myréen Chalmers, läsperiod 1, 2015-2016 Påminnelse om klasser och objekt Boll boll1 = new Boll(5,12); skapar ett nytt
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 mer732G Linköpings universitet 732G11. Johan Jernlås. Översikt. Repetition. Strukturdiagram. Styra. Algoritmer. Val
732G11 Linköpings universitet 2011-01-26 1 2 3 4 Program recept 1 spaghetti = 100; 2 salt = 1; 3 olja = 5; 4 köttbullar = 8; 5 ketchup = 0,5; 6 koka(salt, spaghetti); 7 micra(köttbullar); 8 Om(micron ==
Läs merÖvning2. Variabler. Data typer
Vahid 28 okt 2002 prgk02 Övning2 -Repetition -Variabler -Primitiva typer (+ boolean) -Operatörer +, ++, --, -Typ konvertering -Wrapper klasser -Jämförelse operatörer,(==, =, ,!=,!) -String hur man
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 merFöreläsning 3: Typomvandling, villkor och val, samt textsträngar
Föreläsning 3: Typomvandling, villkor och val, samt textsträngar Camilla Kirkegaard camilla.kirkegaard@liu.se Linköpings universitet Sweden October 14, 2013 1 Innehåll n n n n n Repetition Typomvandlingar
Läs merHeltalsrepresentation. Fler byggstenar. Overflow och Underflow. TvŒ-komplement. FlyttalsvŠrden. Fyra heltalstyper. Tecken-bit
Fler byggstenar Heltalsrepresentation Fyra heltalstyper Intern data representation Typomvandlingar Fler operatorer VŠljande & upprepande satser Tecken-bit by te t short t int t 7 bitar 15 bitar 31 bitar
Läs merF2 Datatyper och variabler. ID1004 Objektorienterad programmering Fredrik Kilander
F2 Datatyper och variabler ID1004 Objektorienterad programmering Fredrik Kilander fki@kth.se Datatyper Java är ett starkt typat språk Varje slags data har en datatyp Datatyp Javasyntax Exempel Teckensträng
Läs merImperativ programmering. Föreläsning 2
Imperativ programmering 1DL126 3p Föreläsning 2 Imperativ programmering Kännetecken för imperativa språk: Programmet består av en serie instruktioner. Olika språk har olika uppsättningar av instruktioner.
Läs merSelektion och iteration
Selektion och iteration TDDD73 Funktionell och imperativ programmering i Python Föreläsning 6 Peter Dalenius Institutionen för datavetenskap 2014-09-15 Översikt Hur utformar man villkor för framför allt
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 merFöreläsning 10 Datalogi 1 DA2001. Utskrift på skärmen. Syntax. print( Hej ) Hur är det? Hej. print( Hej,end= ) print( Hur är det? ) HejHur är det?
Föreläsning 10 Datalogi 1 DA2001 python introduktion Variabler Datatyp Aritmetiska operatorer av typer Reserverade ord logiska operatorer If-sats kommentarer på skärmen print( Hej ) print( Hur är det?
Läs merIdag. Javas datatyper, arrayer, referenssemantik. Arv, polymorfi, typregler, typkonvertering. Tänker inte säga nåt om det som är likadant som i C.
Idag Javas datatyper, arrayer, referenssemantik Klasser Arv, polymorfi, typregler, typkonvertering Strängar Tänker inte säga nåt om det som är likadant som i C. Objectorienterad programmering Sida 1 Ett
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 Datorn som miniräknare. 1.1 Räkneoperationer. 1.2 Variabler
1 Datorn som miniräknare I detta avsnitt tas upp hur man kan skriva program som utför enkla räkneoperationer och skriver resultat på skärmen. Syftet är i huvudsak att se hur flera satser kan bygga upp
Läs merIntroduktion till programmering SMD180. Föreläsning 2: Variabler, uttryck och satser
Introduktion till programmering Föreläsning 2: Variabler, uttryck och satser 1 1 Värden De grundläggande saker som en dator manipulerar resultaten av beräkningar kallas värden Värden vi stött på: 2 och
Läs merDagens föreläsning. Repetition. Repetition - Programmering i C. Repetition - Vad C består av. Repetition Ett första C-program
Dagens föreläsning Programmeringsteknik för Ingenjörer VT05 Föreläsning 3-4 Repetition Datatyper Uttryck Operatorer Satser Algoritmer Programmeringsteknik VT05 2 Repetition Repetition - Programmering i
Läs merOOP Objekt-orienterad programmering
OOP F2:1 OOP Objekt-orienterad programmering Föreläsning 2 Input/Output Programsatser Selektion Output OOP F2:2 Görs via System.out, anropa antingen print eller println: System.out.print("Hej"); System.out.println(
Läs merProgrammeringsteknik I
Programmeringsteknik I Föreläsning 2: Grundläggande Java Johan Öfverstedt Java Grundläggande begrepp Datatyper Selektion if Räckvidd (scope) Iteration while Klasser Objekt Metoder Metodhuvudet Kodstandarden
Läs merProgrammering A. Johan Eliasson johane@cs.umu.se
Programmering A Johan Eliasson johane@cs.umu.se 1 Jag Undervisar mest grundläggande programmering på Institutionen för datavetensakap Applikationsutveckling för iphone Applikationsutveckling i Java Datastrukturer
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 merFöreläsning 2 Programmeringsteknik och C DD1316. Programmering. Programspråk
Föreläsning 2 steknik och C DD1316 python introduktion Variabler Datatyp Aritmetiska operatorer av typer Reserverade ord logiska operatorer If-sats kommentarer betyder att instruera en dator Ett program
Läs merFöreläsning 2 Programmeringsteknik och C DD1316. Mikael Djurfeldt
Föreläsning 2 Programmeringsteknik och C DD1316 Mikael Djurfeldt Föreläsning 2 Programmeringsteknik och C Python introduktion Utskrift Inläsning Variabler Datatyp Aritmetiska operatorer Omvandling
Läs merTypkonvertering. Java versus C
Typer Objektorienterad programmering E Typkonvertering Typkonvertering Satser: while, for, if Objekt Föreläsning 2 Implicit konvertering Antag att vi i ett program deklarerat int n=3; double x = 5.2; Då
Läs merOOP Objekt-orienterad programmering
OOP F2:1 OOP Objekt-orienterad programmering Föreläsning 2 Deklaration och tilldelning Programsatser Tilldelning Input/Output Selektion Deklaration och tilldelning OOP F2:2 int x; double d; char ch; boolean
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 merFöreläsning 2 Objektorienterad programmering DD1332. Typomvandling
metoder Föreläsning 2 Objektorienterad programmering DD1332 Array [modifierare] String metodnamn (String parameter) Returtyp (utdata typ) i detta fall String Indata typ i detta fall String 1 De får man
Läs merEnkla datatyper minne
Enkla datatyper minne 143.56 sant Sonja A falskt 18 1999-10-29 Bertil Gralvik, KTH Ingenjörsskolan 1 Addera två tal Algoritmen Summera tal Mata in två tal Beräkna Skriv ut resultat Mata in tal 1 Mata in
Läs merIdag. Exempel, version 2. Exempel, version 3. Ett lite större exempel
Idag Ett exempel Undantag Substitutierbarhet, subtyper, subklasser När val av metod beror av typerna hos två objekt Lite om överlagring Exempel, version 2 Notera: för samtliga figurer gäller: arean av
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 merHej Då, Karel! Programmering. Vårt första Javaprogram. hh.se/db2004. Java. Grundtyper, variabler och arrayer
Programmering hh.se/db2004 Föreläsning 3: Java. Grundtyper, variabler och arrayer Hej Då, Karel! Verónica Gaspes www2.hh.se/staff/vero www2.hh.se/staff/vero/programmering Center for Research on Embedded
Läs merOmprov 11/11. på förmiddagen.
Omprov 11/11 på förmiddagen Vad kommer sedan? Översättning Du har ätit upp Vill du ha godis nu? Nej, tack Jag är mätt Nej, tack Jag är full Översättning Du har ätit upp Vill du ha godis nu? Nej, tack Jag
Läs merFöreläsning 2 Programmeringsteknik DD1310. Programmering. Programspråk
Föreläsning 2 steknik DD1310 python introduktion Variabler Datatyp Aritmetiska operatorer av typer Reserverade ord logiska operatorer If-sats kommentarer funktioner betyder att instruera en dator Ett program
Läs merPython. Python är, som Scheme, ett interpreterat språk men det finns kompilatorer för Python.
är, som Scheme, ett interpreterat språk men det finns kompilatorer för. När man interpreterar ett språk tillhandahåller man en interpretator som läser sats för sats och försöker tolka den. När man kompilerar
Läs merPython. Python är, som Scheme, ett interpreterat språk men det finns kompilatorer för Python.
är, som Scheme, ett interpreterat språk men det finns kompilatorer för. När man interpreterar ett språk tillhandahåller man en interpretator som läser sats för sats och försöker tolka den. När man kompilerar
Läs merSpråket Python - Del 1 Grundkurs i programmering med Python
Hösten 2009 Dagens lektion Ett programmeringsspråks byggstenar Några inbyggda datatyper Styra instruktionsflödet Modulen sys 2 Ett programmeringsspråks byggstenar 3 ETT PROGRAMMERINGSSPRÅKS BYGGSTENAR
Läs merLÖSNINGSFÖRSLAG TENTAMEN
LÖSNINGSFÖRSLAG TENTAMEN OBJEKTORIENTERAD PROGRAMMERING I JAVA 5P FRISTÅENDE KURS, DAG (ITM - ÖSTERSUND) MÅNDAG 2 JUNI, 2003, KL. 8-13 TID: 5 TIMMAR ANTAL UPPGIFTER: 8 MAX POÄNG: 43 BETYGSKALA: UNDERKÄND
Läs merLite om felhantering och Exceptions Mer om variabler och parametrar Fält (eng array) och klassen ArrayList.
Institutionen för Datavetenskap Göteborgs universitet HT2009 DIT011 Objektorienterad programvaruutveckling GU (DIT011) Föreläsning 3 Innehåll Lite om felhantering och Exceptions Mer om variabler och parametrar
Läs merTentamen OOP 2015-03-14
Tentamen OOP 2015-03-14 Anvisningar Fråga 1 och 2 besvaras på det särskilt utdelade formuläret. Du får gärna skriva på bägge sidorna av svarsbladen, men påbörja varje uppgift på ett nytt blad. Vid inlämning
Läs merTDDD78 Viktiga begrepp, del 2
jonas.kvarnstrom@liu.se 2015 TDDD78 Viktiga begrepp, del 2 Identitet och likhet Är likhet och identitet samma sak? Oj, vi har samma kläder på oss idag! Nej, men likadana! Besserwisser 3 Detta är två rutor
Läs merAlla datorprogram har en sak gemensam; alla processerar indata för att producera något slags resultat, utdata.
Att förstå variabler Alla datorprogram har en sak gemensam; alla processerar indata för att producera något slags resultat, utdata. Vad är en variabel? En variabel är en plats att lagra information. Precis
Läs merOutline. For. I istället för att följa det normala ordningen, man ändra den. I i Java får man inte göra hopp hur som helst
Outline Objektorienterad Programmering (TDDC77) Föreläsning IV: while, for, do while, switch, arrayer Ahmed Rezine IDA, Linköpings Universitet Hösttermin 2016 Ordning Villkorliga hopp I Normalt sett så
Läs merFöreläsning 2 Programmeringsteknik DD1310. Programmering. Programspråk
Föreläsning 2 steknik DD1310 Python introduktion Variabler Datatyper Aritmetiska operatorer av typer Reserverade ord logiska operatorer If-sats kommentarer betyder att instruera en dator Ett program är
Läs merDagens föreläsning. Repetition. Repetition - Programmering i C. Repetition - Vad C består av. Repetition Ett första C-program
Dagens föreläsning Programmeringsteknik för Ingenjörer VT05 Föreläsning 3-4 Repetition Datatyper Uttryck Operatorer Satser Algoritmer Programmeringsteknik för ingenjörer, VT06 2 Repetition Repetition -
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 merGrundläggande datalogi - Övning 1
Grundläggande datalogi - Övning 1 Björn Terelius October 30, 2008 Python är ett tolkat språk som kan köras interaktivt. tcs-ray:~/grudat08>python >>> 11+3*4 23 >>> a = 15 >>> b=a >>> print "a =", a, "b
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 merTDIU01 - Programmering i C++, grundkurs
TDIU01 - Programmering i C++, grundkurs Sammanfattning period 1 Eric Elfving Institutionen för datavetenskap 1 oktober 2013 Översikt Ett C++-programs uppbyggnad Variabler Datatyper Satser Uttryck Funktioner
Läs merE02 "The Review" Föreläsning 2, HT2013 Grunderna, repetition. Johan Leitet. Kurs: 1dv403 Webbteknik I
E02 "The Review" Föreläsning 2, HT2013 Grunderna, repetition Kurs: 1dv403 Webbteknik I Johan Leitet E02 - "The Review" Dagens agenda Identifierare Kommentarer Variabler Datatyper Operatorer Villkorssatser
Läs merF4 Klasser och Metoder. ID1004 Objektorienterad programmering Fredrik Kilander
F4 Klasser och Metoder ID1004 Objektorienterad programmering Fredrik Kilander fki@kth.se Klasser och objekt Klasser definierar (utgör idén) Objekt instantierar (utgör förekomsten) En klassdefinition Många
Läs merIntroduktion till objektorientering. Vad är objektorientering egentligen? Hur relaterar det till datatyper? Hur relaterar det till verkligheten?
Introduktion till objektorientering Vad är objektorientering egentligen? Hur relaterar det till datatyper? Hur relaterar det till verkligheten? jonas.kvarnstrom@liu.se 2015 2014 jonas.kvarnstrom@liu.se
Läs merTentamen ID1004 Objektorienterad programmering May 29, 2012
Omtentamen för ID1004 Objektorienterad programmering HT11, 29 maj 2012, 09-13 Denna tentamen examinerar 3 högskolepoäng av kursen. Inga hjälpmedel är tillåtna. Tentamen består av 12 frågor. Varje fråga
Läs merSMD 134 Objektorienterad programmering
SMD 134 Objektorienterad programmering Dagens agenda: Typer i Java: primitiva datatyperna, referenstyper Variabler och variabeltilldelningar med primitiva typer Konstanter av de olika typerna. Heltalsräkning
Läs merClasses och Interfaces, Objects och References Objekt-orienterad programmering och design (DIT952) Niklas Broberg, 2016
Classes och Interfaces, Objects och References Objekt-orienterad programmering och design (DIT952) Niklas Broberg, 2016 Abstract class En abstract class är en class som inte kan skapa några objekt. Syfte:
Läs merParameteröverföring. Exempel. Exempel. Metodkropp
Exempel atriangle.changesize (100, 50); // OK atriangle.changesize (100); // fel antal atriangle.changesize ( 1, 50); // fel datatyp char c = atriangle.getarea (); // fel datatyp Parameteröverföring I
Läs merObjektorienterad programmering i Java Undantag Sven-Olof Nyström Uppsala Universitet Skansholm: Kapitel 11
Objektorienterad programmering i Java Undantag Sven-Olof Nyström Uppsala Universitet Skansholm: Kapitel 11 Undantag Engelska: exceptions Skansholm: exceptionella händelser Fel som genereras om man försöker
Läs merFöreläsning 2 Programmeringsteknik och Matlab DD1312. Programspråk. Utskrift på skärmen
Föreläsning 2 Programmeringsteknik och Matlab DD1312 Introduktion till python Variabler, datatyper, omvandling av typer sfunktioner Två olika typer av program omvandlar högnivå till lågnivå program: Interpreterande
Läs merDD1314 Programmeringsteknik
Skolan för Datavetenskap och kommunikation DD1314 Programmeringsteknik Föreläsning 1 o print o variabler o reserverade ord o input o kommentarer o beräkningar o datatyper o if-satser Kursinformation Programmering:
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 merTDDC77 Objektorienterad Programmering
TDDC77 Objektorienterad Programmering Föreläsning 2 Sahand Sadjadee IDA, Linköpings Universitet Hösttermin, 2018 Outline Emacs Introduktion till Objektorienterad Programmering Introduktion till Java Variabler
Läs merTDDC30. Objektorienterad programmering i Java, datastrukturer och algoritmer. Föreläsning 4 Erik Nilsson, Institutionen för Datavetenskap, LiU
TDDC30 Objektorienterad programmering i Java, datastrukturer och algoritmer. Föreläsning 4 Erik Nilsson, Institutionen för Datavetenskap, LiU På denna föreläsning: Interface Generiska klasser Undantag
Läs merLösningsförslag till tentamen för TDA540 Objektorienterad Programmering
Lösningsförslag till tentamen för TDA540 Objektorienterad Programmering Institutionen för Datavetenskap CTH HT-7, TDA540 Dag: 208-0-3, Tid: 4.00-8.00 Uppgift a) class används för en klassdeklaration som
Läs merAtt deklarera och att använda variabler. Föreläsning 10. Synlighetsregler (2) Synlighetsregler (1)
Föreläsning 10 STRING OCH STRINGBUILDER; VARIABLERS SYNLIGHET Att deklarera och att använda variabler När vi deklarerar en variabel, t ex int x; inför vi en ny variabel med ett namn och en typ. När namnet
Läs merFöreläsning 2 Programmeringsteknik och Matlab DD1312. Programspråk. Utskrift på skärmen
Föreläsning 2 Programmeringsteknik och Matlab DD1312 Introduktion till python Variabler,datatyper, omvandling av typer sfunktioner Två olika typer av program omvandlar högnivå till lågnivå program: Interpreterande
Läs merFöreläsning 3-4 Innehåll
Föreläsning 3-4 Innehåll Skriva egna metoder Logiska uttryck Algoritm för att beräkna min och max Vektorer Datavetenskap (LTH) Föreläsning 3-4 HT 2017 1 / 36 Diskutera Vad gör programmet programmet? Föreslå
Läs merObjektorienterad programmering i Java Undantag Sven-Olof Nyström Uppsala Universitet Skansholm: Kapitel 11
Objektorienterad programmering i Java Undantag Sven-Olof Nyström Uppsala Universitet Skansholm: Kapitel 11 Undantag Engelska: exceptions Skansholm: exceptionella händelser Fel som genereras om man försöker
Läs merProgrammering I Tobias Wrigstad fredag, 2009 augusti 28
Programmering I Tobias Wrigstad tobias@dsv.su.se Vad är programmering? Lågnivåspråk och högnivåspråk Kompilering och interpretering Variabler Notation för flödesschema (flow chart) Kontrollstrukturer (conditionals,
Läs mer729G74 IT och programmering, grundkurs. Tema 2, Föreläsning 2 Jody Foo,
729G74 IT och programmering, grundkurs Tema 2, Föreläsning 2 Jody Foo, jody.foo@liu.se Föreläsningsöversikt Kursinfo: återkoppling Muddy Cards och kompletteringar Diskret matematik Python: Programmering
Läs merFöreläsning 2 sept 05 (Onsdag v 36). DD Chapter 2.
Föreläsning 2 sept 05 (Onsdag v 36). DD Chapter 2. Hur vi jobbar med ett program. 1. Vad vi skriver (med hjälp av redigeringsprogrammet Emacs) på datorn: // Fig. 2.1: Welcome1.java // A first program in
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 merTENTAMEN OOP
TENTAMEN OOP 2013-08-08 ANVISNINGAR Påbörja varje ny uppgift på nytt blad. Skriv endast på ena sidan av bladen. Skriv tydligt - oläsbara svar beaktas ej. BETYGSÄTTNING Max antal poäng är 30. För att bli
Läs merKlasser i Java kan ha metoder och egenskaper. Metoder beskriver funktioner som klassen kan utföra. Egenskaper beskriver innehållet i klassen.
TT Kapitel 3. Husdjur & Fisk Javaklasser Translation by Leif Lourié Java program består av klasser som beskriver saker (objekt) som finns på riktigt. Även om det finns många olika sätt att skriva program
Läs merJAVAUTVECKLING LEKTION 4
JAVAUTVECKLING LEKTION 4 2016 Mahmud Al Hakim mahmud.al.hakim@nackademin.se www.alhakim.se AGENDA Iterationer (loopar) Algoritmer Mer om felsökning 1 WHILE-SATSEN String s = JOptionPane.showInputDialog("Talet
Läs merTDDC77 Objektorienterad Programmering
TDDC77 Objektorienterad Programmering Föreläsning 3 Sahand Sadjadee IDA, Linköpings Universitet Hösttermin 2018 Outline Operatorer Java Standard Library Inmatning Operatorer operatorer En operator är en
Läs merIntroduktion till objektorientering. Vad är objektorientering egentligen? Hur relaterar det till datatyper? Hur relaterar det till verkligheten?
Introduktion till objektorientering Vad är objektorientering egentligen? Hur relaterar det till datatyper? Hur relaterar det till verkligheten? jonas.kvarnstrom@liu.se 2014 2017 jonas.kvarnstrom@liu.se
Läs mer732G Linköpings universitet 732G11. Johan Jernlås. Översikt. Repetition. Muddy. Funktioner / metoder. Punktnotation. Evalueringsordning
Varför? 732G11 Linköpings universitet 2011-02-08 Varför? 1 2 3 Varför? 4 5 Medelvärde av 5000 tal Varför? while-loopen int nrofints = 5000; int [] integers = new int [ nrofints ]; int pos = 0; while (
Läs merTypsystem. Typsystem... Typsystem... Typsystem... 2 *
Typsystem Typsystem finns i alla programmeringsspråk. Avsikten med typsystem är att kontrollera att uttryck är säkra i den bemärkelsen att innebörden i operanderna är klar och inte är motsägelsefull och
Läs merTypsystem. DA2001 (Föreläsning 23) Datalogi 1 Hösten / 19
Typsystem Typsystem finns i alla programmeringsspråk. Avsikten med typsystem är att kontrollera att uttryck är säkra i den bemärkelsen att innebörden i operanderna är klar och inte är motsägelsefull och
Läs merObjektorienterad programmering i Java
Objektorienterad programmering i Java Föreläsning 4 Täcker i stort sett kapitel 6 i kursboken Java Software Solutions 1 Läsanvisningar Den här föreläsningen är uppbyggd som en fortsättning av exemplet
Läs merÖversikt Introduktion DST 1. Nicholas Wickström. IDE, Högskolan i Halmstad. N. Wickström
DST 1 Nicholas Wickström IDE, Högskolan i Halmstad 2009 1 Outline 1 Vad är Hårdvara? (Datorsystemmodell; processor m. periferi, IO, Minne) Typiskt för hårdvarunära programmering (datablad, register, datastrukturer,...)
Läs merDigitalitet. Kontinuerlig. Direkt proportionerlig mot källan. Ex. sprittermometer. Elektrisk signal som representerar ljud.
Analog Digitalitet Kontinuerlig Direkt proportionerlig mot källan Ex. sprittermometer Elektrisk signal som representerar ljud Diskret Digital Representation som siffror/symboler Ex. CD-skiva Varje siffra
Läs mer