Skiv- minne

of 25/25
1 Stefan Möller Skiv- minne CD-läsare Diskett-läsare Sekundär- minnes- enheter (SM) Central-enhet PM CPU BIOS
  • date post

    21-Jan-2016
  • Category

    Documents

  • view

    47
  • download

    0

Embed Size (px)

description

Skiv- minne. CD-läsare. Diskett-läsare. Central-enhet. BIOS. PM. CPU. Sekundär- minnes- enheter (SM). R1. R2. 24. 20. 16. 28. 12. 4. 0. 8. 01011100 01111001 00110100 11101001. 11001010 00101101 10101100 01110001. 11001010 00101101 10101100 10101101. - PowerPoint PPT Presentation

Transcript of Skiv- minne

Ingen bildrubrikt ex 256 MB (megabyte - miljoner byte)
program-instruktioner & -data
100111001001111100011010
Högnivåspråk
Ger 5-10 maskininstruktioner
*
Kompilering:
Interpretering:
till maskinkod och exekverar
12 43 ”Kalle Nilsson” Bil:
Volvo
Röd
*
if (x<10) x++; else x--;
if (x>25)
if (x<50)
else
String s1=”Hej”, s2=”Hopp”;
if ( s1.equals(s2) ) ... ;
//equals returnerar true om INNEHÅLLET i s1 och s2 är lika
int x = s1.compareTo(s2);
//compareTo returnerar ett positivt tal om s1 > s2
*
matchar uttrycket. Exekverar
resten av programsatserna.
break-satsen bryter switch
Uttryck och värde måste vara av
heltalstyp eller char
break; //bryter loopen
villkor
sats
true
false
villkor
sats
false
true
for (int x=1; x<=10; x++)
System.out.println(x);
int x=1;
System.out.println(y++);
initiering
villkor
programsats
uppräkning
true
false
celsius-temperaturer & motsvarande fahrenheit-temperaturer
Förväntat utseende:
Celsius Fahrenheit
int fahr=(int)(9.0/5.0*cels+32);
System.out.println(" "+cels+" "+fahr);
Varje variabel som deklareras får ett utrymme i primärminnet.
int tal;
double d;
tal=43;
d=7.85;
int[] arr; arr (inget utrymme finns...)
Utrymmet måste skapas, görs med new
arr = new int[5];
arr[0]=28; arr
*
arr=new int[25]; //Alltid index från 0 och uppåt
Indexering med [<index>]
arr[3]=12;
int max=arr.length; //max får värdet 25
Initiering vid deklaration
*
Om vi vill representera mer komplexa objekt?
T ex bilar som har ett bilmärke, ett registreringsnummer, en färg samt
en mätarställning.
Svart
12900
Att ”samla ihop” flera attribut på detta sätt görs i klasser.
Vi behöver alltså nu en klass Bil som skall ha attributen
märke, regnummer, färg och mätarställning.
Klasser kan innehålla mer än attribut, exempelvis konstruktorer och
metoder.
}
Varje klass läggs lämpligen i en egen fil. Denna Bil-klass läggs
alltså då på filen Bil.java
Skapa objekt
hos en Bil
skapas (med new <classnamn>)
Olika operationer som kan
*
modifierare anger olika egenskaper, t ex för åtkomst
public, private, protected, abstract, static, final, native, synchronized
returtyp vad som returneras. Valfri datatyp, även referenser till classer eller arrayer.
argumentlista lista över eventuella indata till metoden. Om inga argument ( ).
int getInt(){...}
Java ”letar upp” och startar metoden main vid programmets start:
public static void main(String[] args){...}
*
Det finns ett antal fördefinierade klasser i Java’s API-bibliotek.
Beskrivs i API-dokumentationen:
http://java.sun.com/j2se/1.5.0/docs/api/
Klassen Random används om man vill ha slumptal. Random ligger i
java.util - delbiblioteket.
int nextInt() returnerar ett slumpmässigt heltal
int nextInt(int n) returnerar ett slumptal mellan 0 och n-1
(nextInt(100) returnerar alltså ett tal mellan 0 och 99)
boolean nextBoolean() returnerar true eller false
double nextDouble() returnerar ett tal mellan 0.0 och 1.0
*
Stefan Möller*
Ett program som skriver ut 10 slumptal mellan 1 och 100:
import java.util.*;
class SlumpTest{
Random slump = new Random();
int tal = slump.nextInt(100) + 1;
java.util.Random slump = new java.util.Random();
Ligger på java.lang - delbiblioteket.
Allt som ligger i java.lang kan användas direkt, man behöver alltså INTE
göra: import java.lang.*;
I Math-klassen finns ett antal statiska metoder och variabler, t ex
static double PI pi med jättemånga decimaler...
static int abs(int a) returnerar absolutbeloppet av a
static double log(double a) returnerar naturliga logaritmen av a
static double pow(double a, double b) returnerar a upphöjt till b
plus många fler... Eftersom metoderna är statiska så kan de anropas utan
att man skapar ett Math-objekt:
double dd = Math.sqrt(14);
Random slump = new Random();