Præsentation er lastning. Vent venligst

Præsentation er lastning. Vent venligst

Primitive typer. dIntProg, F08Typer.2 Subtyperelation for primitive typer byte ≤ short ≤ int ≤ long ≤ float ≤ double char boolean double d; int i; d =

Lignende præsentationer


Præsentationer af emnet: "Primitive typer. dIntProg, F08Typer.2 Subtyperelation for primitive typer byte ≤ short ≤ int ≤ long ≤ float ≤ double char boolean double d; int i; d ="— Præsentationens transcript:

1 Primitive typer

2 dIntProg, F08Typer.2 Subtyperelation for primitive typer byte ≤ short ≤ int ≤ long ≤ float ≤ double char boolean double d; int i; d = 3.14; i = 7; d = i // ok i = d // ej ok! ≤

3 dIntProg, F08Typer.3 Typeregel for assignment Assignmentsætningen giver kun mening når typen af udtrykket på højresiden er en subtype af variablen på venstresiden. v= exp; T(v) ≥ T(Exp)

4 dIntProg, F08Typer.4 Forfremmelse og begrænsning (1) Forfremmelse –En værdi af en subtype kan ved en implicit typekonvertering (automatisk) forfremmes til en værdi af en supertype Begrænsning –En værdi af en supertype kan ved en eksplicit typekonvertering (et såkaldt ”type cast”) begrænses til en værdi af en subtype Eksempel: 9 + (int) ((6 * 2) / 2.5) 9 + (int) ( 12 / 2.5) 9 + (int) ( 12.0 / 2.5) 9 + (int) 4.8 9 + 4 13

5 dIntProg, F08Typer.5 Forfremmelse og begrænsning (2) double d1, d2; int i; d2= 3.14; // ok? d1= 7; // ok? i= d1; // ok? i= d2; // ok? i= (int) d1; // ok? i= (int) d2; // ok? int ≤ double

6 dIntProg, F08Typer.6 Forfremmelse og begrænsning (3) Javas subtyperelation: char ≤ int ≤ double Forfremmelse automatisk hvis det er nødvendigt 2 + 1.5 evaluerer til 3.5 ‘2’ + 1 evaluerer til 51 !!! Begrænsning kun ved eksplicitte cast (int) (2 + 1.5) evaluerer til 3 (char) (‘2’ + 1) evaluerer til ‘3’ Advarsel: Java behandler tegn som tal

7 dIntProg, F08Typer.7 Konstanter (literals) LiteralType 2int 2.0double ‘2’char “2”String “two”String


Download ppt "Primitive typer. dIntProg, F08Typer.2 Subtyperelation for primitive typer byte ≤ short ≤ int ≤ long ≤ float ≤ double char boolean double d; int i; d ="

Lignende præsentationer


Annoncer fra Google