I tipi di dati in Java: una panoramica su tutti i tipi di dati di questo linguaggio di programmazione
Java offre otto tipi di dati primitivi e numerosi altri tipi di dati complessi. Il loro scopo è determinare quali valori è possibile raffigurare e memorizzare in una variabile. A tutte le variabili in Java sono assegnati determinati tipi di dati.
Quali sono i tipi di dati in Java?
In ogni linguaggio di programmazione esistono diversi tipi di dati che contengono determinati oggetti e svolgono operazioni prestabilite. Spesso le similitudini sono molte, ma talvolta vi sono notevoli differenze nelle opzioni offerte da un dato linguaggio. Ad esempio, se facciamo un confronto fra Python e Java, oltre agli aspetti in comune noterai numerose differenze che rendono ciascun linguaggio più adatto a certi compiti rispetto ad altri. Java si basa su due diversi tipi di dati, che possono essere primitivi o complessi. Questi ultimi sono detti anche “tipi di riferimento”. I singoli tipi di dati in Java si differenziano dal punto di vista delle dimensioni e determinano i valori che è possibile memorizzare in una variabile.
Mentre i tipi di dati primitivi consentono soltanto di memorizzare valori semplici, i tipi di riferimento servono a creare strutture più complesse e a organizzare e gestire grandi quantità di dati. Se desideri imparare a programmare è importante non soltanto conoscere i diversi tipi di dati, ma anche utilizzarli nel migliore dei modi. Da un lato occorre conoscerne le funzionalità e, dall’altro, sapere quanto spazio occupano o permettono di risparmiare se si utilizza il tipo di dati più adatto.
- Certificato SSL e protezione DDoS
- Velocità, flessibilità e scalabilità
- Dominio e consulente personale
- 1 anno gratis del gestionale di fatturazione elettronica FlexTax
I tipi di dati primitivi in Java
In totale esistono otto diversi tipi di dati primitivi in Java, che contengono intervalli di valori fissi e definiti. È possibile suddividerli in quattro categorie: tipo di dati logico, tipo di dati integrale, tipo di dati a virgola mobile e tipo di dati carattere. Non hanno nessuna ulteriore funzionalità particolare e sono noti anche come tipi di dati elementari. Ogni tipo di dati occupa un numero fisso di bit. Nelle parti seguenti trovi maggiori dettagli su questi tipi di dati primitivi. Java riconosce i seguenti tipi elementari:
- boolean
- byte
- short
- int oppure integer
- long
- float
- double
- char
boolean
Il tipo boolean in Java non è un tipo di dati numerico, ma restituisce soltanto due valori possibili: true e false. Pertanto, puoi utilizzarlo per determinare se una condizione è vera (true) o falsa (false). Il suo valore standard è “false” e fa parte dei tipi di dati logici. Occupa 1 bit e presenta la seguente sintassi:
boolean booleanVar;
javabyte
Il tipo byte è un tipo di dati integrale e costituisce un valore in complemento a due con dimensioni di 8 bit o 1 byte. È utilizzato soprattutto quando occorre risparmiare spazio negli array particolarmente grandi. Il suo intervallo di valori va da -128 a 127 e il suo valore standard è 0. La sua sintassi è la seguente:
byte byteVar;
javashort
Anche short fa parte dei tipi di dati integrali in Java ed è utilizzato soprattutto per risparmiare spazio negli array particolarmente grandi. Questo valore in complemento a due occupa 16 bit o 2 byte e il suo intervallo di valori va da -32768 a 32767 incluso. Per impostazione predefinita il suo valore è 0. Il tipo short si usa così:
short shortVar
javaint oppure integer
Anche il tipo int oppure integer è un valore in complemento a due e costituisce un tipo di dati integrale con dimensioni di 4 byte o 32 bit. Il suo intervallo di valori comprende i numeri interi fra 2147483648 e 2147483647 e il suo valore standard è 0. La sua sintassi è la seguente:
int intVar
javalong
Il tipo di dati integrale di maggiori dimensioni è long. È il più grande sia per intervallo di valori, che va da -9223372036854775808 a 9223372036854775807, sia per lo spazio occupato dal tipo di dati stesso, pari a 8 byte o 64 bit. Pertanto, questo valore in complemento a due è utilizzato nei casi in cui gli altri tipi di dati integrali non sono sufficienti. Tuttavia, è anche il tipo di dati che richiede di gran lunga più memoria. Il suo valore standard è 0. La sua sintassi è la seguente:
long longVar
javafloat
Il tipo float è un tipo di dati a virgola mobile ed è utilizzato per memorizzare numeri reali. Le sue dimensioni sono di 32 bit ed è conforme alla norma IEEE 754, che definisce la rappresentazione standard di numeri a virgola mobile in formato binario e decimale sui computer. Il valore standard di float è 0,0 e il suo intervallo di valori permette di rappresentare fino a sette cifre decimali. Rispetto a double, float è meno preciso e quindi non andrebbe utilizzato quando la precisione dei valori è particolarmente importante. In caso contrario è possibile occupare meno spazio utilizzando float. La sua sintassi è la seguente:
float floatVar;
javadouble
Il tipo double è circa due volte più preciso rispetto a float. Per il resto, svolge un compito simile. Occupa 64 bit e può rappresentare fino a 16 cifre decimali. Anche il suo valore standard è 0,0. Se ti servono valori più precisi, ti consigliamo di utilizzare sempre double, anche se questo tipo di dati non può essere preciso fin nei minimi dettagli. Se invece ti serve lavorare con valori di precisione assoluta, utilizza la classe BigDecimal. La sintassi di double è la seguente:
double doubleVar;
javachar
Il tipo char è un tipo di dati carattere. Serve a memorizzare caratteri basati sul set di caratteri Unicode e rende quindi possibile la portabilità su numerose piattaforme differenti. Ogni carattere necessita di 2 byte di spazio in memoria. Il suo intervallo di valori è conforme all’ASCII (“American Standard Code for Information Interchange”, in italiano “codice standard americano per lo scambio di informazioni”) e va quindi da “\u0000” (ossia 0) a “\uffff” (ossia 65535). Il valore standard di char è “\u0000” e la sua sintassi si presenta così:
char charVar
javaI tipi di dati in Java: esempi di tipi complessi
La seconda categoria di tipi di dati in Java è costituita dai cosiddetti tipi di riferimento o tipi complessi. Hanno questo nome perché fanno riferimento a oggetti. Di norma non sono predefiniti, a differenza dei tipi di dati primitivi, ma sono stabiliti dal programmatore o dalla programmatrice (fa eccezione String). Permettono di utilizzare i metodi e possono avere anche il valore 0 (ossia “vuoto”). Mentre i tipi di dati primitivi iniziano per lettera minuscola, i tipi di riferimento hanno la prima lettera maiuscola. Nelle parti seguenti ti presentiamo i principali tipi di riferimento.
Stringhe
String è una classe rappresentabile per mezzo di una sequenza di caratteri. Tra le altre cose, questa caratteristica contraddistingue questo tipo di dati complesso dal tipo char primitivo. La stringa di caratteri esiste come oggetto nella classe java.lang. Tramite i diversi metodi offerti dalla classe string è possibile cercare singoli caratteri nella sequenza, confrontare le stringhe fra loro, cercare e copiare le stringhe. Per contrassegnare le stringhe si utilizzano le virgolette alte. La sintassi di questo tipo di riferimento si presenta così:
<String_Tipo> <string_variabile> = "<sequenzastringa>";
javaAd esempio, le stringhe funzionano come in questa sezione di codice:
// Come creare una stringa senza un nuovo operatore
String a = "Questa è la tua nuova stringa";
/ / Come creare una stringa con un nuovo operatore
String a1 = nuova stringa ("Questa è la tua nuova stringa");
javaArray
Gli array servono a memorizzare più valori all’interno di una variabile senza dover utilizzare variabili diverse per ogni singolo valore. Per indicarli si utilizzano le parentesi quadre. I valori memorizzati sono invece fra parentesi graffe e separati da virgole gli uni dagli altri. La sintassi di un array è la seguente:
TipoDati[] NomeArray = {Valore1, Valore2, Valore3,…};
javaSe desideri creare un array con delle stringhe, procedi come nell’esempio seguente:
String[] colori = {"blu", "rosso", "giallo", "lilla"};
javaSe desideri creare un array con numeri interi, puoi fare così:
int[] numeri = {5, 10, 15, 20};
javaClassi
Le classi in Java sono tipi di dati che fungono da modello in cui creare poi degli oggetti. Contengono diversi componenti. Tra questi vi sono il nome della classe, il suo modificatore e un corpo racchiuso fra parentesi graffe. Nella pratica si presentano come nell’esempio seguente:
public class Main {
int a = 10;
}
javaInterfacce
In Java, per interfaccia si intende una classe astratta. Un’interfaccia permette a una classe di accedere a diverse funzioni. A tal fine è necessario prima implementarla. Le interfacce contengono solo costanti e metodi astratti. La loro sintassi si presenta quindi nel modo seguente:
interface {
metodi astratti
}
javaPer spiegare il funzionamento delle interfacce possiamo usare questo semplice esempio:
interface Pizza {
public void ingredienti();
public void preparazione();
}
class Funghi implements Pizza {
public void ingredienti() {
System.out.println("Champignon, Pomodoro, Origano, Mozzarella");
}
public void preparazione() {
System.out.println("Dopo un quarto d'ora, la pizza è pronta");
}
}
class Main {
public static void main(String[] args) {
Funghi myFunghi = new Funghi();
myFunghi.ingredienti();
myFunghi.preparazione();
}
}
javaUtilizzando il comando Java System.out.println
, otteniamo questo risultato:
Champignon, Pomodoro, Origano, Mozzarella
Dopo un quarto d'ora, la pizza è pronta
javaOggetti
Anche gli oggetti fanno parte dei tipi di dati Java più complessi. Gli oggetti sono istanze di classi che possono quindi interagire fra loro tramite metodi. Nell’esempio seguente creiamo più oggetti all’interno di una classe Main:
public class Main {
int a = 10;
public static void main(String[] args) {
Main myObj1 = new Main();
Main myObj2 = new Main();
System.out.println(myObj1.a);
System.out.println(myObj2.a);
}
}
javaIl relativo output si presenta così:
10
10
javaEnum
Le enum sono una classe speciale che permette di integrare costanti non modificabili nel codice. Queste variabili ricevono valori fissi che non è possibile modificare successivamente. Questo tipo di dati è particolarmente utile se ti servono variabili che devono presentare soltanto pochi stati possibili. La sintassi di una enum si presenta così:
enum Nome_della_classe {
VALORE1,
VALORE2,
VALORE3
}
java