Java/Tipi di dato: differenze tra le versioni

Contenuto cancellato Contenuto aggiunto
m fixes
Riga 2:
 
== Tipi ==
Un tipo di dati definisce un insieme di possibili valori e un insieme di operazioni che possono essere applicate su tali valori. Ad esempio, le scritture <tt>true</tt> e <tt>false</tt> identificano due ''valori'' di tipo <tt>boolean</tt>, ed è possibile utilizzarli in combinazione con gli operatori logici <tt>&&</tt>, <tt>||</tt> e altri.
 
I tipi delammessi linguaggioin un programma Java sono i seguenti:
*ilotto linguaggiotipi inprimitivi definiti definiscedal otto tipi primitivilinguaggio (''boolean'', ''byte'', ''char'', ''short'', ''int'', ''long'', ''float'', ''double'');
*''tipi riferimento'': ''(classi'', ''interfacce'' e ''[[Java/Array|tipi array]]'');
*il ''nulltype'';
*il tipo degenere ''void''.
 
I "valori" dei tipi riferimento sono chiamati ''oggetti'' o ''istanze''.<br/>
Il linguaggio stabilisce a priori il numero massimo di valori ammesso per ognuno dei tipi primitivi, ma non vincola a priori il numero di istanze per i tipi riferimento.<ref>Il limite può essere stabilito dal tipo stesso, altrimenti è determinato solo dalla eventuale saturazione della area ''heap'' della Java Virtual Machine.</ref> Gli oggetti sono creati e distrutti dinamicamente, durante l'esecuzione del programma. Ogni oggetto è dotato di uno stato interno, che può eventualmente cambiare nei modi stabiliti dal tipo corrispondente.
 
Il programmatore non può definire nuovi tipi primitivi, ma può definire classi ed interfacce personalizzate. Un programma può fare uso di un numero potenzialmente infinito di classi e/o interfacce, definite nella libreria standard o in librerie di terze parti.<br/>
Non può neanche definire tipi array personalizzati, in quanto tutti i tipi array hanno un comportamento comune definitofissato dalle specifiche didal linguaggio.
 
Il ''nulltype'' ammette un solo valore possibile, indicato con il valore letterale ''null''. QuestoQuest'ultimo, valorepur può''non'' essereessendo convertitoun (tramiteoggetto, cast)può versosvolgere qualunqueil altroruolo tipodi riferimento e ciò rende"segnaposto" facile utilizzarlo comeo "segnapostojolly" in sostituzione di un oggetto, perché formalmente può essere convertito (tramite cast implicito) verso qualunque tipo riferimento.<br/>
Il tipo ''void'' non ammette alcun valore ed è utilizzato solo come tipo di ritorno per idei metodi che non restituiscono alcunun valore.
 
Gli [[Java/Array|array]] e le stringhe sono realizzati tramite oggetti. I caratteri singoli vengono gestiti usando il tipo numerico ''char''.