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 128
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