Il cast

Serve a convertire i dati da un tipo all'altro


Tipi visto finora

Scalari:

Più vari tipi di oggetti (classi)

Vediamo (per ora) solo il cast fra scalari.


Cast

Sintassi del cast:

  (tipo) espressione

Produce una espressione del nuovo tipo.

Esempi: prox pag


Esempi di cast

  int x;
  double d;

  d=(double) x;

Converte da intero a double.

Può servire per fare la divisione:

  int x;
  double d;

  d=((double) x)/2;

Invece, d=x/2 non funzionava, dato che sia x che 2 sono interi.


Esempio

  int x;
  double d;

  x=(int) d;

A cosa serve?

Tutti i casi in cui voglio un intero ma ho un reale.

  double y=...;

  g.drawRect(x, (int) y, 0, 0);

Arrotondamento

Il cast da reale a intero dà la parte intera.

Per arrotondare, usare il metodo Math.round

Attenzione: produce un risultato di tipo long, che quindi va convertito:

long Math.round(double);

Il tipo long non lo vediamo

  double d=0.6;
  int x;

  x=(int) Math.round(d);

Stampa 1