Konwersja typów

/* 
KonwersjaTypow1.java

Wartości typu rzeczywistego nie można podstawić
do zmiennej typu całkowitego, bo spowoduje to
wystąpienie błędu "possible loss of precision".
Aby wartość rzeczywistą podstawić do zmiennej
typu całkowitego należy tę wartość najpierw
zrzutować do typu całkowitego. Zrzutowanie
wartości rzeczywistej do typu całkowitego
spowoduje obcięcie jej części ułamkowej.
*/

public class KonwersjaTypow1
{
  public static void main(String[] args)
  {
    int integer = 4;   // int - typ całkowity
    double real = 5.6; // double - typ zmiennopozycyjny
    
    System.out.println("integer = " + integer);
    System.out.println("real = " + real);
    
    int pom = integer;
    integer = (int)real; // rzutowanie do typu całkowitego
    real = pom;
    
    System.out.println("\ninteger = " + integer);
    System.out.println("real = " + real);
  }
}
integer = 4
real = 5.6

integer = 5
real = 4.0
Press any key to continue...
/*
KonwersjaTypow2.java

Jeśli oba operandy operatora dzielenia mają
typ całkowity, to wynik również będzie miał
typ całkowity. Część ułamkowa ilorazu zostanie
obcięta. Jeśli przynajmniej jeden z operandów
operatora dzielenia ma typ rzeczywisty, to wynik
będzie miał typ rzeczywisty.
*/

public class KonwersjaTypow2
{
  public static void main(String[] args)
  {
    System.out.println(4/3 + "\n"); // dzielenie bez reszty
    
    System.out.println(4.0/3);
    System.out.println(4/3.0);
    System.out.println(4.0/3.0 + "\n");
    
    System.out.println((double)4/3);
    System.out.println(4/(double)3);
    System.out.println((double)4/(double)3);
  }
}
1

1.3333333333333333
1.3333333333333333
1.3333333333333333

1.3333333333333333
1.3333333333333333
1.3333333333333333
Press any key to continue...

Strona główna