galleggiante r = 5.0f
O
doppio r = 5.0
Il valore 5.0 è un numero rappresentato come frazione decimale (ha un numero intero e una parte frazionaria). In informatica, tali numeri sono chiamati reali
Numero reale è un numero che ha una parte intera e una parte frazionaria. Le parti intere e frazionarie sono separate l'una dall'altra da un punto, non da una virgola come in matematica.
Anche se la parte frazionaria del numero è zero, come nella variabile \(r\) nell'esempio, il traduttore creerà comunque una variabile reale in memoria. Il punto, per così dire, un segnale per il traduttore che è necessario creare una variabile reale. 

Numeri molto grandi e molto piccoli  sono scritti usando "virgola mobile" (nel cosiddetto formato scientifico).  
In formato scientifico, un numero è rappresentato come mantissa (parte significativa del numero) e esponente. Quando annotati, la mantissa e l'esponente sono separati l'uno dall'altro dalla lettera e (che denota 10 in una certa misura). 
Ad esempio, puoi memorizzare il valore della carica di un elettrone ( \(1.60217662 \times 10^{-19}\) C) in un variabile, scrivendo nella seguente forma
float El = 1.60217662e-19f //per un ordine positivo, il segno + può essere omesso
O
doppioEl= 1.60217662e-19
Quasi tutti i numeri reali non possono essere memorizzati nella memoria del computer con perfetta precisione, poiché per la loro memorizzazione viene allocato un numero limitato di bit. Pertanto, quando si calcola con numeri reali, si accumulano errori associati all'imprecisione della rappresentazione. Inoltre, minore è lo spazio allocato, maggiore sarà questo errore. Per ridurre l'errore in Java, viene utilizzato il tipo double, che memorizza un numero reale con doppia precisione in memoria (occupa otto byte in memoria, mentre il digitare \(float \)- 4 byte)

Invio

Puoi inserire diverse variabili reali dal flusso di input e scriverle in variabili nel modo standard:
double x = in.nextDouble();
float y = in.nextFloat();
Il primo numero va nella variabile \(x\), il secondo va nella variabile \(y\)

Uscita

Java ha diversi modi per visualizzare i numeri reali.

1)  System.out.printf per un semplice output della console
Per impostazione predefinita, quando si utilizza printf, i numeri reali vengono stampati con una precisione fino a 6 cifre decimali. Ma ci sono casi che devono essere emessi con una precisione diversa. In questo caso è necessario specificare quante familiarità assegnare dopo la virgola.
doppio a=0,5;
System.out.printf("%f",a); // sullo schermo 0,500000
System.out.printf("%.2f",a); // sullo schermo 0.5
System.out.printf("%10.2f",a); // puoi impostare il numero totale di posizioni allocate per l'output del numero
System.out.printf("%.2e",a); // visualizza il numero in formato scientifico con una precisione di 2 cifre
2) DecmialFormat per ottenere una stringa da un numero utilizzando un determinato modello
La classe DecmialFormat consente di controllare l'output di zeri iniziali e finali, prefissi e suffissi, separatori delle migliaia e separatori delle diecimila, ma questo rende il codice un po' più complesso.
doppia a = 123,45;
DecimalFormat df = new DecimalFormat("#.###");
Stringa formattata = df.format(a); System.out.println(formattato); //123.45

Input Modello Uscita Nota
123,45 #.# 123,5 Visualizzato con una cifra decimale con arrotondamento
123,45 #.### 123,45 Visualizza il numero intero senza zeri iniziali
123,45 #.0 123,5 Visualizzato con una cifra decimale con arrotondamento
123,45 #.000 123,450 Visualizzato fino al terzo carattere con uno zero insignificante alla fine

Quando lavori con numeri reali, puoi utilizzare la già familiare classe Math, che contiene un gran numero di funzioni integrate. 
Quando si risolvono problemi, è spesso necessario arrotondare i numeri reali ai valori interi più vicini. Ci sono due funzioni per questo.

RICORDA
1
con conversione di tipo esplicita ( float x=1.5f; int y = int (x) )  -  la parte frazionaria di un numero reale è tagliata (y = 1) 
2 Math.floor(x) -  restituisce il numero intero più grande minore o uguale a \(x\) (arrotondamento per difetto)
3 Math.ceil(x) -  restituisce il numero intero più piccolo maggiore o uguale a \(x\) (arrotonda per eccesso)

Ecco le funzioni più utili contenute nel modulo cmath.
Funzione Descrizione
Arrotondamento
arrotonda(x) Arrotonda un numero all'intero più vicino. Se la parte frazionaria del numero è 0,5, il numero viene arrotondato al numero intero più vicino. 
piano(x) Arrotonda un numero per difetto ("floor"), quindi floor(1.5) == 1floor(-1.5) ==  ; -2
ceil(x) Arrotonda un numero per eccesso ("tetto"), mentre ceil(1.5) == 2ceil(-1.5) ==  ; -1
abs(x) Modulo (valore assoluto).
Radici, logaritmi
sqrt(x) Radice quadrata. Utilizzo: y = sqrt(x)
pow(x, y) Eleva x alla y. \(x^y\)
log(x) Logaritmo naturale. 
exp(x) La base dei logaritmi naturali e = 2.71828...
Trigonometria
sin(x) Seno di un angolo specificato in radianti
cos(x) Coseno di un angolo specificato in radianti
tan(x) La tangente di un angolo specificato in radianti
asin(x) Arcoseno, restituisce il valore in radianti
acos(x) Arco coseno, restituisce il valore in radianti
atan(x) Arctangent, restituisce il valore in radianti
atan2(y, x) Angolo polare (in radianti) del punto (x, y).

Esempio di utilizzo:
Elevando 2 a potenza, perché pow restituisce un double come risposta, quindi è richiesta una conversione in int.
public class Principale {
    public static void main(Stringa[] argomenti) < spanstyle="color:#666666">{
       int a = 2;
       int b = (< span style="color:#b00040">int)Matematica.pow(a,2);
    }
}