Tipi

  • Uploaded by: Cinzia Bocchi
  • 0
  • 0
  • April 2020
  • PDF

This document was uploaded by user and they confirmed that they have the permission to share it. If you are author or own the copyright of this book, please report to us by using this DMCA report form. Report DMCA


Overview

Download & View Tipi as PDF for free.

More details

  • Words: 990
  • Pages: 4
Tipi primitivi in Java Introduzione I tipi in Java possono essere classificati in tipi primitivi e tipi riferimento (object reference). Ogni linguaggio di programmazione fornisce un certo numero di tipi primitivi. In generale, con il termine tipo primitivo si intende un tipo di dato già definito nel linguaggio, dal quale si può partire per la costruzione di espressioni, o di tipi composti. Per ogni tipo primitivo sono anche disponibili una serie di operatori che consentono di scrivere espressioni (es. + è un operatore per i tipi numerici). La distinzione tra tipi primitivi e tipi riferimento è tuttavia più sottile e si basa sul modo in cui i valori sono indirizzati nella memoria del computer; ma di questa questione ce ne occuperemo in seguito. Prima di iniziare l’analisi dei tipi primitivi di Java, osservate la seguente figura che offre una panoramica sui tipi del linguaggio.

Tipi Java

primitivi

numerici

interi

caratteri

riferimento

booleani

array

stringhe

classi

virgola mobile

Fig.1 Tipi Java

Tipo intero Il tipo intero coincide con l’insieme dei numeri interi Z. Z= {…,-3,-2,-1,0,+1,+2,+3,…} Una variabile di tipo intero può quindi assumere, di volta in volta, un valore tra quelli dell’insieme Z. Occorre osservare che, mentre l’insieme dei numeri interi Z contiene infiniti elementi, la memoria di un computer non è infinita. Di conseguenza una variabile intera può assumere i valori compresi tra un minimo numero intero (MININT) e un massimo numero intero (MAXINT) che coincidono con il minimo e il massimo numero intero rappresentabile. Se si supera il MININT (es. con una sottrazione MININT-1) o il MAXINT (es. con MAXINT+1) si verifica rispettivamente un underflow e un overflow (traboccamento). Java, in questa situazione, non segnala alcun errore ma il risultato restituito è imprevedibile e sicuramente errato.

Autore: Cinzia Bocchi Ultimo aggiornamento: 20/09/14

1

Java fornisce diversi tipi interi, che si distinguono proprio per il MININT e il MAXINT; essi sono riassunti nella tabella seguente. parola chiave byte short int long

spazio intervallo di valori occupato 8 bit MININT= 27 MAXINT= 27-1 16 bit MININT= 215 MAXINT= 215-1 32 bit MININT= 231 MAXINT= 231-1 64 bit MININT= 263 MAXINT= 263-1

caratteristiche utilizzati per manipolare bit poco utilizzati più utilizzati poco utilizzati

Osservazioni  I numeri interi possono essere rappresentati in base 8 (numeri ottali) anteponendo al numero uno zero. Per esempio, 034 rappresenta il numero ottale 34 e non il numero decimale 34. Pertanto, i numeri interi in base 10 non possono mai iniziare con zero.  I numeri interi possono essere rappresentati in base 16 (numeri esadecimali) anteponendo al numero uno zero e una x (maiuscola o minuscola). Per esempio, 0x912 è il numero esadecimale 912.  Le costanti numeriche intere esplicite (per intenderci, i numeri che compaiono in una espressione) sono sempre considerate interi a 32 bit, cioè di tipo int. Per rendere una costante numerica esplicita di tipo long, bisogna aggiungere dopo il numero la lettera L maiuscola o minuscola (es. 34L).

Tipo numerico a virgola mobile (floating point) Il tipo floating point coincide con l’insieme dei numeri razionali Q. Java fornisce due tipi floating point: float (precisione semplice) e double (precisione doppia). Vediamoli in dettaglio nella seguente tabella. parola chiave float

spazio occupato 32 bit

double

64 bit

precisione semplice 7 cifre decimali significative doppia 15 cifre decimali significative

caratteristiche imprecisi per numeri troppo piccoli o troppo grandi sui processori moderni i calcoli con i double sono più veloci di quelli che usano float

Osservazioni  Solitamente, per i numeri razionali, si utilizza il tipo double, poiché non ci sono vantaggi evidenti nell’uso del tipo float.  Le costanti numeriche esplicite con punto decimale (es. 15.347) sono sempre interpretate come double. Per rendere una costante numerica di tipo float, bisogna aggiungere dopo il numero la lettera F maiuscola o minuscola (es. 15.347F).

Autore: Cinzia Bocchi Ultimo aggiornamento: 20/09/14

2

Tipo carattere Una variabile di tipo carattere può contenere un carattere in formato Unicode. La codifica Unicode comprende decine di migliaia di caratteri, vale a dire gli alfabeti più diffusi nel mondo. I valori da 0 a 256 corrispondono, per motivi di retrocompatibilità, al set di caratteri ASCII. parola spazio intervallo valori chiave occupato char 16 bit se utilizzati come interi da 0 a 65.535

caratteristiche caratteri UNICODE; i primi 256 caratteri sono quelli del codice ASCII

Una variabile di tipo carattere è, a tutti gli effetti, un intero a 16 bit privo di segno. Nell'effettuare assegnamenti, tuttavia, si preferisce ricorrere alle costanti carattere, racchiudendo un singolo carattere tra apici, come nell'esempio seguente: char carattere = 'a'; Ad ogni carattere del codice ASCII è associato un numero binario, al quale corrisponde un ben determinato numero decimale. La combinazione di tasti ALT+codicedecimale, consente di stampare a video il particolare carattere, ammesso che il carattere sia effettivamente stampabile. Osservate, per esempio, la seguente tabella:

La combinazione ALT+123 permette di ottenere la parentesi graffa aperta, mentre la combinazione ALT+125 restituisce la parentesi graffa chiusa.

Tipo booleano Una variabile booleana può assumere solamente i valori true (vero) e false (falso). Il termine booleano deriva dal nome del matematico e logico britannico George Boole, considerato il fondatore della logica matematica. parola chiave intervallo valori boolean true, false

Autore: Cinzia Bocchi Ultimo aggiornamento: 20/09/14

caratteristiche non sono convertibili in numeri

3

Tipo stringa Le stringhe in Java non sono tipi di dati primitivi, ma vengono utilizzate come se lo fossero. Una stringa è una sequenza di caratteri alfanumerici (alfabetici e numerici) di lunghezza qualsiasi (es. il codice fiscale). parola chiave intervallo valori String sequenze di alfanumerici di lunghezza qualsiasi

caratteristiche non sono tipi primitivi ma è come se lo fossero

Il valore di una stringa è sempre racchiuso tra virgolette; per esempio: String str = “saluti”;

_______________________________________________________________________ Quest'opera è stata rilasciata con licenza Creative Commons Attribution-ShareAlike 3.0 Unported. Per leggere una copia della licenza visita il sito web http://creativecommons.org/licenses/by-sa/3.0/ o spedisci una lettera a Creative Commons, 171 Second Street, Suite 300, San Francisco, California, 94105, USA.

Autore: Cinzia Bocchi Ultimo aggiornamento: 20/09/14

4

Related Documents

Tipi
June 2020 5
Tipi
April 2020 6
Tipi -page 1
November 2019 3
Tipi Di Velo Islamico
June 2020 6
Due Diversi Tipi Di Cellula
November 2019 12

More Documents from "Cinzia Bocchi"

3- Testo
April 2020 24
Delicious Tutorial 2
April 2020 21
Mod3.1_m1-classi E Tda
June 2020 15
Lo Statement If
June 2020 19
Analisi
April 2020 32