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



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

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

Objektorienterad Programmering (TDDC77)

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

Vem är vem på kursen. Objektorienterad programvaruutveckling GU (DIT011) Kursbok Cay Horstmann: Big Java 3rd edition.

OOP Objekt-orienterad programmering

732G Linköpings universitet 732G11. Johan Jernlås. Översikt. Repetition. Felsökning. Datatyper. Referenstyper. Metoder / funktioner

F4. programmeringsteknik och Matlab

SMD 134 Objektorienterad programmering

Objektorienterad Programmering (TDDC77)

TENTAMEN OOP

OOP Objekt-orienterad programmering

Föreläsning 3: Booleans, if, switch

Föreläsning 3: Typomvandling, villkor och val, samt textsträngar

OOP Objekt-orienterad programmering

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

OOP Objekt-orienterad programmering

Programmering för språkteknologer I, VT2012. Rum

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

Tentamen OOP

Datatyper och kontrollstrukturer. Skansholm: Kapitel 2) De åtta primitiva typerna. Typ Innehåll Defaultvärde Storlek

Föreläsning 2 Objektorienterad programmering DD1332. Typomvandling

Introduktion till Datalogi DD1339. Föreläsning 2 22 sept 2014

(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

TDDC77 Objektorienterad Programmering

Övning2. Variabler. Data typer

Grundkurs i programmering, 6 hp (725G61) Dugga 2 tillfälle 2

Föreläsning 1 & 2 INTRODUKTION

Anteckningar 1: Grundläggande saker

F5 Selektion och iteration. ID1004 Objektorienterad programmering Fredrik Kilander

Grundläggande programmering DVG A08 & ISG A04. Allmän information. Å vem är jag då. Karlstads Universitet, Johan Öfverberg 1

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

Objektorienterad programmering i Java

IT för personligt arbete F6

Föreläsning 3-4 Innehåll

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

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

732G Linköpings universitet 732G11. Johan Jernlås. Översikt. Repetition. Muddy. Funktioner / metoder. Punktnotation. Evalueringsordning

F1 - Introduktion. ID1004 Objektorienterad programmering Fredrik Kilander

Lektion Java Grunder. Javas historia. Programmeringsspråket Java. Skillnaderna mellan Java och C++ JVM (Javas Virtuella Maskin)

Programmering A. Johan Eliasson

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

Klasser i Java kan ha metoder och egenskaper. Metoder beskriver funktioner som klassen kan utföra. Egenskaper beskriver innehållet i klassen.

F2 Datatyper och variabler. ID1004 Objektorienterad programmering Fredrik Kilander

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

TDDD78, TDDE30, 729A Introduktion till Java -- för Pythonprogrammerare

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

2I1049 Föreläsning 5. Objektorientering. Objektorientering. Klasserna ordnas i en hierarki som motsvarar deras inbördes ordning

F4 Klasser och Metoder. ID1004 Objektorienterad programmering Fredrik Kilander

Översikt 732G11 PROGRAMMERING 1. Personal. Kursens mål. Litteratur. Kursens innehåll

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

Objektorienterad programmering i Java

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

Kort repetition. Programmeringsteknik för Bio1 och I1. Vad ska vi lära oss idag? Ett exempel

Dugga i Grundläggande programmering STS, åk

OOP Tenta

TENTAMEN OOP

JAVAUTVECKLING LEKTION 7

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

Föreläsning 3-4 Innehåll. Diskutera. Metod. Programexempel med metod

Objektorienterad programmering i Java

OOP Objekt-orienterad programmering

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

TENTAMEN OOP

Lösningsförslag till tentamen för TDA540 Objektorienterad Programmering

Läsanvisning: Dessa OH bilder samt kap 1-3

Det finns en referensbok (Java) hos vakten som du får gå fram och läsa men inte ta tillbaka till bänken.

Bankkonto - övning. Övning 2 Skriv en metod, geträntan, som returnerar räntan.

Påminnelse: en datatyp för bilder. Programmering. En datatyp för bilder. Spegelbild. hh.se/db2004

Objektorienterad Programmering DAT043. Föreläsning 1 15/1-18 Moa Johansson

Undervisning. Examination

Att deklarera och att använda variabler. Föreläsning 10. Synlighetsregler (2) Synlighetsregler (1)

Java: Utvecklingsverktyg, datatyper, kontrollstrukturer

EDAA20 Programmering och databaser. Mål komprimerat se kursplanen för detaljer. Om att lära sig programmera. Föreläsning 1-2 Innehåll.

Typkonvertering. Java versus C

Malmö högskola 2007/2008 Teknik och samhälle

Klassdeklaration. Metoddeklaration. Parameteröverföring

Institutionen för TENTAMEN CTH VT-15 Datavetenskap TDA540. Tentamen för TDA540 Objektorienterad programmering

732G Linköpings universitet 732G11. Johan Jernlås. Översikt. Repetition. Exempelduggan. Luffarschack. Koda spel

Skriftlig tentamen för kursen DV017A. Inledande programmering i Java A

Outline. I Vi kan lätt göra samma sak för fyra variabler... I Hur gör vi för 400 inlästa värden? I Ofta behöver man flera likadana variabler

Det finns en referensbok (Java) hos vakten som du får gå fram och läsa men inte ta tillbaka till bänken.

Outline. 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

Objektorienterad programmering i Java I. Uppgifter: 2 Beräknad tid: 5-8 timmar (OBS! Endast ett labbtillfälle) Att läsa: kapitel 5 6

Lite om felhantering och Exceptions Mer om variabler och parametrar Fält (eng array) och klassen ArrayList.

Tentamen. Lösningsförslag

Föreläsning 1 & 2 INTRODUKTION

TDDC77 Objektorienterad Programmering

Det finns en referensbok (Java) hos vakten som du får gå fram och läsa men inte ta tillbaka till bänken.

Lite mer om Javas stöd för fält. Programmering. Exempel: vad är det största talet? hh.se/db2004. Fält samt Input/Output

Objektorienterad Programmering (TDDC77)

Tentamen , Introduktion till Java, dtaa98, dtea53

Det finns en referensbok (Java) hos tentavakten som du får gå fram och läsa men inte ta tillbaka till bänken.

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

Anmälningskod: Lägg uppgifterna i ordning. Skriv uppgiftsnummer (gäller B-delen) och din kod överst i högra hörnet på alla papper

Laboration 10 - NetBeans

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

Föreläsning 5&6 LOGISKA VARIABLER; IMPLEMENTERA KLASSER; MER ALGORITMER

Hej Då, Karel! Programmering. Vårt första Javaprogram. hh.se/db2004. Java. Grundtyper, variabler och arrayer

SMD 134 Objektorienterad programmering

Transkript:

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, i Scheme) ) o Logikprogrammering (Prolog) o Objektorienterad programmering (C++, Java m fl) Mest objektorienterad programmering i språket Java här på ITK:P1 2 Programmeringsspråket Java Stark typning Explicit typning Strukturerat Hög säkerhet 3 1

Viktiga byggstenar i programmering Marie kommer senare att prata en hel hel om just objektorientering Jag inleder nu med några viktiga byggstenar inom all sorts programmering Kompilering och exekvering Datatyper och variabler Villkor, selektion och metoder 4 Kompilering och exekvering Koden för ett program sparas i en fil i en katalog med namnet Program.java Källkoden kompileras sedan genom: C:\katalog> javac Program.java Om koden är utan fel skapas en klassfil: Program.class som kan exekveras med: C:\katalog> java Program 5 Programmering i Java Ett första litet program: public class Program { public static void main(string[] arg){ System.out.print( Hello ); System.out.println( World! ); }//main }//Program I Javas klass System finns ett objekt out av typen PrintStream med metoder som print() och println() 6 2

Javas primitiver Heltal byte short int long 8 bitar 16 bitar 32 bitar 64 bitar Hur stora tal behöver du? 7 Javas primitiver Flyttal floatt 32 bitar double 64 bitar Hur många decimaler behöver du? 8 Javas primitiver char 16 bitar UNICODE-tecken boolean 8 bitar 9 true eller false 3

Booleska villkor i Java Villkor som är sanna eller falska (23 > 8) (4 <= x) (a!= b) (7 == y) Se upp med = (tilldelning) och == (jämförelse) 10 Strängar i Java Strängar är INTE primitiver i Java Strängar är instanser av klassen String String str = new String( Kista ); Eller kortvarianten: String str = Kista ; 11 Strängar i Java I vår javaprogrammering kommer vi att dels använda klasser vi själva skrivit, dels använda färdiga klasser i Java För strängar finns den färdiga klassen String String str; och str = new String( Java ); ELLER det kortare String str = Java ; 12 4

Strängar i Java Användbara medlemsmetoder i klassen String: touppercase() metode som returnerar VERSALER equals(string s) jämför två strängar equalsignorecase(string s) (ej case sensitive) length() returnerar antalet tecken Läs mer i kursboken och i API-dokumentationen 13 Klasspecifikationer Specifikationer av Javas färdiga klasser: http://java.sun.com/javase/6/docs/api/index.html j p API = Application Programmable Interface Två andra länkar med information om Java: http://java.sun.com/ http://www.javaworld.com 14 Paus 5

Omslagsklasser/wrapper classes 16 Omslagsklasser/wrapper classes Varje primitiv datatyp har en omslagsklass som hjälper till vid t ex typomvandlingar: String str = 1234 ; int i = Integer.parseInt(str); String str = 3.14159 ; double d = Double.parseDouble(str); 17 Metoder Metod = ett kodblock som utför en uppgift En metod har returtyp eller void En metod kan ha inparametrar Exempel: public int addera(int a, int b) { return a + b; } 18 6

Selektion i Java Det är ofta som programkoden inte ska exekveras i den ordning den är skriven Därför behöver vi olika sätt att styra vägvalet i våra program. Ett sätt är genom if else: if (klockan < 12) System.out.println( Det är förmiddag ); else System.out.println( Det är eftermiddag ); 19 Kodexempel - selektion public class F1_exempel2 { private static int timme = 11; public static void kontrollmetod(int klockslag){ if (klockslag < 12) System.out.println("Det är förmiddag"); else System.out.println("Det är eftermiddag"); } 20 Kodexempel - selektion public static void main(string[] args){ kontrollmetod(timme); }//main }//F1_exempel2 Detta och alla andra föreläsningsexempel finns att ladda ner på kurshemsidan. Viktigt att ni testar och analyserar dessa kodexempel så att ni förstår hur de fungerar. 21 7

Selektion i Java När det finns många vägval (mer än 3) som i: if (veckodag == 1) System.out.println( Söndag ); else if (veckodag == 2) System.out.println( Måndag ); Så passar det istället bättre med en switch-sats 22 Selektion i Java switch (veckodag){ case 1: System.out.println( Söndag ); break; case 2: System.out.println( println( Måndag ); break; case 3: System.out.println( Tisdag ); break; case 4: System.out.println( Onsdag ); break; case 5: System.out.println( Torsdag ); break; case 6: System.out.println( Fredag ); break; case 7: System.out.println( Lördag ); break; default: System.out.println( Felaktig dag ); }//switch 23 En fungerande Java-miljö ITK:P1 utgår i år ifrån JDK 6 Finns att ladda hem från: http://java.sun.com/javase/downloads/index.jsp Testa sedan att det fungerar genom: PROMPT> java version PROMPT> javac 24 8

ITP1:s kurshemsida Samtliga föreläsningar, laborationer mm finns tillgängliga via nätet: http://www.dsv.su.se/~itp1 Tack för mig!! 25 9