Ingen bildrubrik

January 9, 2018 | Author: Anonymous | Category: Engineering & Technology, Datavetenskap, Java Programming
Share Embed Donate


Short Description

Download Ingen bildrubrik...

Description

OOP F1:1

OOP

Objekt-orienterad programmering

Delkursansvarig Epost Kursens webbsidor

Stefan Möller [email protected] 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/ Stefan Möller

OOP F1:2

Central-enhet PM

CPU

Skivminne

Sekundärminnesenheter (SM)

CD-läsare

Diskett-läsare

Stefan Möller

OOP F1:3

Primär-minne (PM)

Processor (CPU)

0

11001010 00101101 10101100 10101101

4

00101101 10101100 10101101 10101010

R1

8

10101011 01101101 10011100 11010011

R2

12

00101101 10101100 10101101 11010001

16

11001010 00101101 10101100 10101101

20

01011100 01111001 00110100 11101001

24

10011100 10101011 10101100 10101101

28

11001010 00101101 10101100 01110001

Ett antal register ...

Styrenhet

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 Stefan Möller

OOP F1:4

Kod i högnivåspråk måste översättas till maskinkod. Kompilering: Källkod i högnivåspråk

Kompilator Olika beroende på datorsystem

Maskinkod som kan exekveras i datorsystemet

Interpretering: Källkod i högnivåspråk

Interpretator Olika beroende på datorsystem Läser en instruktion i taget, översätter till maskinkod och exekverar

Stefan Möller

OOP F1: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.

Java interpretator Finns i de flesta webbläsare Stefan Möller

OOP F1:6

Vad är Java? Två logiska delar:

Språk-kärna imperativ del

OOP-del

• datatyper • deklarationer • programsatser • metoder • mm, mm

• klasser • objekt • inkapsling • arv • polymorfism • mm, mm

API-bibliotek 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/

Stefan Möller

OOP F1: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/ Stefan Möller

OOP F1: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 Stefan Möller

OOP F1: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. Stefan Möller

OOP F1: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 Stefan Möller

OOP F1: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

Stefan Möller

OOP F1:12

Programmering Indata

Program

Utdata

Data kan vara av olika typ: "Kalle Nilsson" 73.67 true

2010

'X'

730512 "Stockholm"

Måste representeras i programmet. Stefan Möller

OOP F1:13

Javas enkla (primitiva) datatyper Heltalstyper: byte short int long

8 bitar 16 bitar 32 bitar 64 bitar

Flyttalstyper: float double

32 bitar 64 bitar

Övriga: char boolean

Unicode 16 bitar true / false

Textsträngar (INTE enkel datatyp):

String Stefan Möller

Output

OOP F1:14

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); Stefan Möller

OOP F1: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:

Klassen Scanner finns i delbiblioteket java.util Måste anges "nånstans"

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

Varför behöver inte String och System anges på motsvarande sätt?

Stefan Möller

OOP F1:16

Output och input med JOptionPane Med en biblioteksklass som heter JOptionPane kan man skapa enkla dialogrutor: JOptionPane.showMessageDialog(null, "Meddelande: ");

JOptionPane ligger i delbiblioteket javax.swing

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); Stefan Möller

View more...

Comments

Copyright � 2017 NANOPDF Inc.
SUPPORT NANOPDF