Datatypomvandlingar exempel 1

public class AutoTypOmvandling {

public static void main(String[] args) {

System.out.println ("Automatisk typomvandling");
System.out.println ();

//Tilldela olika datatyper
byte   a = 127;      //8 bitar, min-värde -128 och max-värde 127
short  b = a;          //8 bitar in i 16 bitar
int      c = a;          //16 bitar in i 32 bitar
long   d = a;          //32 bitar in i 64 bitar
System.out.println (a + " -> " + b + " -> " + c + " -> " + d);
System.out.println ();

//Tilldela ett flyttalsvärde av en datatyp till en större
float      u = 1.25F;   //32 bitar
double   v = u;          //32 bitar in i 64 bitar
System.out.println (u + " ---> " + v);
System.out.println ();

//Tilldela ett heltalsvärde till en flyttalsvariabel utan att noggrannhet förloras
int          p = 25000;       //32 bitar
float      x1 = p;                 //32 bitar in i 32 bitar
double   x2 = p;                 //32 bitar in i 64 bitar
System.out.println (p + " ---> " + x1 + " ---> " + x2);
System.out.println ();

//Tilldelade heltal long 64 bitar
long        q = 1234567L;         //64 bitar
float      y1 = q;                         //64 bitar in i 32 bitar utan att förlora sitt värde
double   y2 = q;                         //64 bitar in i 64 bitar
System.out.println (q + " ---> " + y1 + " ---> " + y2);
System.out.println ();

//Tilldela ett heltalsvärde till en flyttalsvariabel, noggrannhet förloras.
int            r = 1234567890;
float       u1 = r;
double   u2 = r;
System.out.println (r + " ---> " + u1 + " --> " + u2);
System.out.println ();
long           s = 1234567890123456789L;
float        v1 = s;
double   v2 = s;
System.out.println (s + " " + v1 + ", " + v2);
System.out.println ();

}

}

Utdata

Automatisk typomvandling

127 -> 127 -> 127 -> 127

1.25 ---> 1.25

25000 ---> 25000.0 ---> 25000.0

1234567 ---> 1234567.0 ---> 1234567.0

1234567890 ---> 1.23456794E9 --> 1.23456789E9

1234567890 ---> 1.23456794E18, 1.23456789012345677E18

public class DoubleToIntDemo1 {

public static void main(String[] args) {

// Tilldela 99.95 till variabeln d av typen double
double d = 99.95;
System.out.println("Variabels värde: "+ d);
// Omvandling från double to int, från 64 till 32 bitar
int i = (int) d;
System.out.println("Konverterat till int: "+ i +" kr. Decimaler tas bort.");

}

}

Returnerar
Variabels värde: 99.95
Konverterat till int: 99 kr. Decimaler tas bort.

public class DoubleToIntDemo2 {

public static void main(String[] args) {

// Tilldelning värde 25.20 till variabeln tal1
double tal1 = 25.20;
System.out.println("double tal1 = "+ d);
// Använd klassen Math och dess metod round() för att omvandla en double till long
long tal2 = Math.round(tal1);
System.out.println("Avrundad long tal2 = "+ tal2);
//Variabeln tal2 konverteras till int och lagra värdet i variabel tal3
int tal3 = (int)tal2;
System.out.println("int tal3 = "+ tal3);
// Tilldela 25.50 till tal4 av typen double
double tal4 = 25.50;
System.out.println("double tal4 = "+ tal4);
// Konvertera tal4 till typen long och lagra värdet i variabel tal5
long tal5 = Math.round(tal4);
System.out.println("Avrundad long tal5 = "+ tal5);
// Konvertera tal5 till typen int och lagra värdet i variabel tal6
int tal6 = (int)tal5;
System.out.println("int tal6 = "+ tal6);

}

}
Returnerar:
double tal1 = 25.2
Avrundad long tal2 = 25
int tal3 = 25
double tal4 = 25.5
Avrundad long tal5 = 26
int tal6 = 26