1 / 16

OOP Objekt-orienterad programmering Delkursansvarig Stefan Möller Epost sm@fc.dsv.su.se

OOP Objekt-orienterad programmering Delkursansvarig Stefan Möller Epost sm@fc.dsv.su.se Kursens webbsidor http://people.dsv.su.se/~sm/oop/ Föreläsning 1 Introduktion till kursen OOP Vad är Java? Ett första Java-program Input / output

ilori
Download Presentation

OOP Objekt-orienterad programmering Delkursansvarig Stefan Möller Epost sm@fc.dsv.su.se

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. OOP Objekt-orienterad programmering Delkursansvarig Stefan Möller Epost sm@fc.dsv.su.se Kursens webbsidor http://people.dsv.su.se/~sm/oop/ Föreläsning 1 Introduktion till kursen OOP Vad är Java? Ett första Java-program Input / output Allmänt om programmering – se gärna ITP Föreläsning 2: https://video.dsv.su.se/ht10/dvkintro/

  2. Skiv- minne CD-läsare Diskett-läsare Central-enhet PM CPU Sekundär- minnes- enheter (SM)

  3. R1 R2 24 20 16 28 12 4 0 8 01011100 01111001 00110100 11101001 11001010 00101101 10101100 01110001 11001010 00101101 10101100 10101101 10011100 10101011 10101100 10101101 10101011 01101101 10011100 11010011 11001010 00101101 10101100 10101101 00101101 10101100 10101101 11010001 00101101 10101100 10101101 10101010 Primär-minne (PM) Processor (CPU) Ett antal register ... Styr- enhet Aritmetisk enhet PM är en vektor av minnesceller 8 bitar = 1 byte, 4 byte = 1 ord t ex 512 MB (megabyte - miljoner byte) I PM finns program-instruktioner & -data

  4. Kod i högnivåspråk måste översättas till maskinkod. Kompilering: Interpretering: Kompilator Olika beroende på datorsystem Maskinkod som kan exekveras i datorsystemet Källkod i högnivåspråk Interpretator Olika beroende på datorsystem Läser en instruktion i taget, översätter till maskinkod och exekverar Källkod i högnivåspråk

  5. JAVA "Plattformsoberoende" Källkod kompileras till s.k. "Java bytekod" Java bytekod interpreteras på aktuell dator Java källkod Java bytekod Java kompilator Måste finnas på den dator där man vill köra ett Java-program. Finns i de flesta webbläsare Java interpretator

  6. Vad är Java? Två logiska delar: Språk-kärna API-bibliotek • imperativ del • datatyper • deklarationer • programsatser • metoder • mm, mm • OOP-del • klasser • objekt • inkapsling • arv • polymorfism • mm, mm • Ett (stort!) antal färdiga • klasser som kan användas • i olika program. • Uppdelat i delbibliotek, t.ex.: • java.io • java.util • javax.swing • m.fl, m.fl. • Dokumentation på: • http://java.sun.com/javase/6/docs/api/

  7. Java är freeware, kan laddas ner från Sun (java.sun.com) Olika versioner 1.0 1.1 1.2 1.3 1.4 1.5 1.6 Java SE - JDK 6 (Java Standard Edition version 6) Innehåller det man behöver Kompilator (javac) JVM (Java Virtual Machine), dvs interpretatorn (java) API-biblioteket (plus lite annat ...) (på MS Windows måste path-variabeln uppdateras ...) Instruktioner och hjälp för installation, se DSV:s webbsidor: http://dsv.su.se/introdator/java/

  8. Kursen OOP • Läses av flera olika studentgrupper: • DSK1:OOP (ID1013) • GES:OOP • OBS – samma kurs med samma innehåll. • Kursen är på 7.5 hp, examinationen uppdelad på: • Inlämningsuppgift 1, 1.5 hp • Inlämningsuppgift 2, 3 hp • Tentamen, 3 hp • Inlämningsuppgifterna betyg G/U, tentan betyg A-F

  9. Kursen OOP Innehåll: Java's språkkärna imperativa delen OOP delen Användning av API-biblioteket Konstruktion av mindre program Litteratur: Lewis & Loftus Java Software Solutions, Upplaga 6 (annan bok kan användas) Föreläsningsbilder mm. material Kommunikation: First Class-konferens för inlämning av inlämningsuppgifter samt handledning. Webbplats för material.

  10. // Ett första JAVA-program class Hello{ public static void main(String[]args){ System.out.println("Hej Världen!"); } } // Resten av raden är en kommentar, ignoreras av kompilatorn { } - start och slut på ett block Case Sensitive (skiftlägeskänsligt) Namngivning mm - följ API-bibliotekets utseende Filnamn - samma som class-namn + suffixet .java Hello.java - kompileras och Hello.class skapas

  11. Kompilering & Exekvering (interpretering) Källkoden på filen Hello.java Kompilering: >javac Hello.java Ger bytekodsfilen Hello.class Exekvering (egentligen interpretering av bytekoden...): >java Hello

  12. Programmering • Indata Program Utdata • Data kan vara av olika typ: • "Kalle Nilsson" 2010 • 73.67 'X' 730512 • true "Stockholm" • Måste representeras i programmet.

  13. Javas enkla (primitiva) datatyper Heltalstyper: byte 8 bitar short 16 bitar int 32 bitar long 64 bitar Flyttalstyper: float 32 bitar double 64 bitar Övriga: char Unicode 16 bitar boolean true / false Textsträngar (INTE enkel datatyp): String

  14. Output • Görs via System.out, anropa antingen print eller println: • System.out.print("Hej"); • System.out.println("Hopp"); • System.out.println("Oj"); • Värdet av en variabel kan skrivas ut: • int x=25; • System.out.println(x); • Ska flera saker skrivas ut så slås de ihop med operatorn + • System.out.println("Resultatet="+x); • System.out.println("Namn="+namn+"Åldern="+ålder);

  15. Input • Görs via System.in. Måste ”filtreras”, lämpligen med en Scanner • Scanner sc=new Scanner(System.in); • String namn=sc.nextLine(); • Ofta först ställa fråga, sedan läsa in: • System.out.print("Vad heter du?"); • String namn=sc.nextLine(); • System.out.print("Hur gammal är du?"); • int ålder=sc.nextInt(); • Olika inläsningsmetoder i klass Scanner: • sc.nextLine() • sc.nextInt() • sc.nextDouble() • m.fl. för olika input-varianter Klassen Scanner finns i delbiblioteket java.util Måste anges "nånstans" Varför behöver inte String och System anges på motsvarande sätt?

  16. Output och input med JOptionPane Med en biblioteksklass som heter JOptionPane kan man skapa enkla dialogrutor: JOptionPane.showMessageDialog(null, "Meddelande: "); String namn=JOptionPane.showInputDialog("Namn:"); OBS – endast String kan läsas in, vill man ha annan sort måste man konvertera. String str = JOptionPane.showInputDialog("Hur gammal är du?"); int ålder = Integer.parseInt(str); JOptionPane ligger i delbiblioteket javax.swing

More Related